summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--acinclude.m42
-rw-r--r--acinclude.m4.mine475
-rw-r--r--client/aboutwindow.cc12
-rw-r--r--client/aboutwindow.h10
-rw-r--r--client/camera.h2
-rw-r--r--client/cprquerydialog.cc86
-rw-r--r--client/cprquerydialog.h45
-rw-r--r--client/encoder.h2
-rw-r--r--client/historywidget.cc8
-rw-r--r--client/historywidget.h4
-rw-r--r--client/info_gui.h13
-rw-r--r--client/mainwindow.cc174
-rw-r--r--client/mainwindow.h16
-rw-r--r--client/messagebox.cc18
-rw-r--r--client/messagebox.h14
-rw-r--r--client/miav_client.cc4
-rw-r--r--client/miav_client.h2
-rw-r--r--client/player.h2
-rw-r--r--client/videowidget.cc6
-rw-r--r--client/videowidget.h4
-rw-r--r--client/yuv_draw.cc8
-rw-r--r--client/yuv_draw.h6
-rw-r--r--etc/miav.conf3
-rw-r--r--server/miav_server.h5
24 files changed, 240 insertions, 681 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index b48ee93..17469fc 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -151,7 +151,7 @@ case "${host}" in
*linux*)
QT_LIBS="$QT_LIB"
if test $QT_IS_STATIC = yes && test $QT_IS_EMBEDDED = no; then
- QT_LIBS="$QT_LIBS -L$x_libraries -lQtCore -lQtGui -lXext -lX11 -lm -lSM -lICE -ldl -ljpeg"
+ QT_LIBS="$QT_LIBS -L$x_libraries -lQtCore -lQtNetwork -lQtGui -lXext -lX11 -lm -lSM -lICE -ldl -ljpeg"
fi
;;
diff --git a/acinclude.m4.mine b/acinclude.m4.mine
deleted file mode 100644
index 0fc8b65..0000000
--- a/acinclude.m4.mine
+++ /dev/null
@@ -1,475 +0,0 @@
-##########################################################################################################
-dnl Usage:
-dnl AM_PATH_FFMPEG([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
-dnl Test for ffmpeg, and define FFMPEG_CFLAGS and FFMPEG_LIBS
-
-AC_DEFUN([AM_PATH_FFMPEG],
-[
- AC_REQUIRE([AC_FUNC_LRINTF])
-
- dnl !!! - it really sucks - Makefile.am can't be optimized even by
- dnl !!! preparing some extra variable forward
- dnl !!! FFAVFORMAT_SRC=
-
- AC_REQUIRE([AC_CHECK_OSS])
- test x$enable_oss = xyes && AC_DEFINE(CONFIG_AUDIO_OSS, 1, [Define if you want to have ffmpeg OSS audio support compiled.])
-
- AC_REQUIRE([AC_CHECK_V4L])
- test x$enable_v4l = xyes && AC_DEFINE(CONFIG_VIDEO4LINUX, 1, [Define if you have video4linux device. (ffmpeg)])
-
- AC_REQUIRE([AC_FIND_ZLIB])
- test x$have_zlib = xyes && AC_DEFINE(CONFIG_ZLIB, 1, [Define if you have z library (-lz) (ffmpeg)])
-
- AC_ARG_ENABLE(ffmpeg_faadbin, [ --enable-ffmpeg-faadbin build ffmpeg with FAAD binary support. (default=yes)],
- [], enable_ffmpeg_faadbin=yes)
- test x$enable_ffmpeg_faadbin = xyes && AC_DEFINE(CONFIG_FAADBIN, 1, [Define if you want to build support for runtime linked libfaad.])
- AC_REQUIRE([AM_PATH_FAAD])
- test x$have_faad = xyes && AC_DEFINE(CONFIG_FAAD, 1, [Define if you want to have AAC support compiled. (ffmpeg)])
-
- AC_ARG_ENABLE(ffmpeg_risky, [ --enable-ffmpeg-risky build ffmpeg risky code. (default=yes)],
- [], enable_ffmpeg_risky=yes)
-
- AC_ARG_ENABLE(ffmpeg_a52, [ --enable-ffmpeg-a52 build ffmpeg with A52 (AC3) support. (default=yes)],
- [], enable_ffmpeg_a52=yes)
- if test x$enable_ffmpeg_a52 = xyes ; then
- AC_DEFINE(HAVE_FFMPEG_A52, 1, [Define if you want to use ffmpeg A52 audio decoder.])
- AC_ARG_ENABLE(ffmpeg_a52bin, [ --enable-ffmpeg-a52bin A52 plugin dlopens liba52.so.0 at runtime (default=no)],
- [], enable_ffmpeg_a52bin=no)
-
- if test x$enable_ffmpeg_a52bin = xyes ; then
- AC_DEFINE(CONFIG_A52BIN, 1, [Define if you want to build ffmpeg with A52 dlopened decoder.])
- fi
- fi
-
- test x$enable_ffmpeg_risky = xyes && AC_DEFINE(CONFIG_RISKY, 1, [Define if you want to compile patent encumbered codecs. (ffmpeg)])
-
- AC_DEFINE(CONFIG_ENCODERS, 1, [Define if you want to build ffmpeg encoders.])
- AC_DEFINE(CONFIG_DECODERS, 1, [Define if you want to build ffmpeg decoders.])
- AC_DEFINE(CONFIG_AC3, 1, [Define if you want to build ffmpeg with AC3 decoder.])
- AC_DEFINE(SIMPLE_IDCT, 1, [Define if you want to build ffmpeg with simples idct.])
- AC_DEFINE(CONFIG_NETWORK, 1, [Define if you want to build ffmpeg with network support.])
- AC_DEFINE(CONFIG_MPEGAUDIO_HP, 1, [Define if you want to have highquality ffmpeg mpeg audio support compiled.])
- AC_DEFINE(HAVE_PTHREADS, 1, [Define if you want to have ffmpeg pthread support compiled.])
-
- if test -n "$ffmpeg_profiling" ; then
- AC_DEFINE(HAVE_GPROF, 1, [Define if you want to build ffmpeg with gprof support.])
- fi
-
- test -z "$FFMPEG_CFLAGS" && FFMPEG_CFLAGS="-O4 $DEFAULT_FLAGS"
- FFMPEG_CFLAGS="$FFMPEG_CFLAGS $DEFAULT_DEFINES"
-
- AC_CHECK_GNU_VECTOR(FFMPEG_SSE="-msse";
- AC_DEFINE(HAVE_BUILTIN_VECTOR, 1, [Define if your compiler supports vector builtins (MMX).]), [])
- AC_SUBST(FFMPEG_CFLAGS)
- AC_SUBST(FFMPEG_SSE)
-
- AM_CONDITIONAL(AMM_BUILD_STRPTIME, test x$ac_cv_func_strptime != xyes )
-
-dnl ffmpeg_x86opt=
-dnl test x$enable_x86opt = xno && ffmpeg_x86opt="--disable-mmx"
-dnl AC_MSG_RESULT([=== configuring ffmpeg ===])
-dnl ( cd $srcdir/ffmpeg ; \
-dnl ./configure --prefix=$prefix --cc=$CC \
-dnl $ffmpeg_profiling $ffmpeg_cpu \
-dnl $ffmpeg_x86opt --disable-mp3lib \
-dnl --enable-simple_idct )
-])
-
-
-##########################################################################################################
-# Configure paths for SDL
-# Sam Lantinga 9/21/99
-# stolen from Manish Singh
-# stolen back from Frank Belew
-# stolen from Manish Singh
-# Shamelessly stolen from Owen Taylor
-
-dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
-dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS
-dnl
-AC_DEFUN([AM_PATH_SDL],
-[dnl
-dnl Get the cflags and libraries from the sdl-config script
-dnl
-AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)],
- sdl_prefix="$withval", sdl_prefix="")
-AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)],
- sdl_exec_prefix="$withval", sdl_exec_prefix="")
-AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program],
- , enable_sdltest=yes)
-
- if test x$sdl_exec_prefix != x ; then
- sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix"
- if test x${SDL_CONFIG+set} != xset ; then
- SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config
- fi
- fi
- if test x$sdl_prefix != x ; then
- sdl_args="$sdl_args --prefix=$sdl_prefix"
- if test x${SDL_CONFIG+set} != xset ; then
- SDL_CONFIG=$sdl_prefix/bin/sdl-config
- fi
- fi
-
- AC_REQUIRE([AC_CANONICAL_TARGET])
- PATH="$prefix/bin:$prefix/usr/bin:$PATH"
- AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH])
- min_sdl_version=ifelse([$1], ,0.11.0,$1)
- AC_MSG_CHECKING(for SDL - version >= $min_sdl_version)
- no_sdl=""
- if test "$SDL_CONFIG" = "no" ; then
- no_sdl=yes
- else
- SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags`
- SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs`
-
- sdl_major_version=`$SDL_CONFIG $sdl_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \
- sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- if test "x$enable_sdltest" = "xyes" ; then
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $SDL_CFLAGS"
- LIBS="$LIBS $SDL_LIBS"
-dnl
-dnl Now check if the installed SDL is sufficiently new. (Also sanity
-dnl checks the results of sdl-config to some extent
-dnl
- rm -f conf.sdltest
- AC_TRY_RUN([
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "SDL.h"
-
-char*
-my_strdup (char *str)
-{
- char *new_str;
-
- if (str)
- {
- new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char));
- strcpy (new_str, str);
- }
- else
- new_str = NULL;
-
- return new_str;
-}
-
-int main (int argc, char *argv[])
-{
- int major, minor, micro;
- char *tmp_version;
-
- /* This hangs on some systems (?)
- system ("touch conf.sdltest");
- */
- { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); }
-
- /* HP/UX 9 (%@#!) writes to sscanf strings */
- tmp_version = my_strdup("$min_sdl_version");
- if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
- printf("%s, bad version string\n", "$min_sdl_version");
- exit(1);
- }
-
- if (($sdl_major_version > major) ||
- (($sdl_major_version == major) && ($sdl_minor_version > minor)) ||
- (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro)))
- {
- return 0;
- }
- else
- {
- printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version);
- printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
- printf("*** best to upgrade to the required version.\n");
- printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
- printf("*** to point to the correct copy of sdl-config, and remove the file\n");
- printf("*** config.cache before re-running configure\n");
- return 1;
- }
-}
-
-],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- fi
- if test "x$no_sdl" = x ; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
- else
- AC_MSG_RESULT(no)
- if test "$SDL_CONFIG" = "no" ; then
- echo "*** The sdl-config script installed by SDL could not be found"
- echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in"
- echo "*** your path, or set the SDL_CONFIG environment variable to the"
- echo "*** full path to sdl-config."
- else
- if test -f conf.sdltest ; then
- :
- else
- echo "*** Could not run SDL test program, checking why..."
- CFLAGS="$CFLAGS $SDL_CFLAGS"
- LIBS="$LIBS $SDL_LIBS"
- AC_TRY_LINK([
-#include <stdio.h>
-#include "SDL.h"
-
-int main(int argc, char *argv[])
-{ return 0; }
-#undef main
-#define main K_and_R_C_main
-], [ return 0; ],
- [ echo "*** The test program compiled, but did not run. This usually means"
- echo "*** that the run-time linker is not finding SDL or finding the wrong"
- echo "*** version of SDL. If it is not finding SDL, you'll need to set your"
- echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
- echo "*** to the installed location Also, make sure you have run ldconfig if that"
- echo "*** is required on your system"
- echo "***"
- echo "*** If you have an old version installed, it is best to remove it, although"
- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
- [ echo "*** The test program failed to compile or link. See the file config.log for the"
- echo "*** exact error that occured. This usually means SDL was incorrectly installed"
- echo "*** or that you have moved SDL since it was installed. In the latter case, you"
- echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- fi
- SDL_CFLAGS=""
- SDL_LIBS=""
- ifelse([$3], , :, [$3])
- fi
- AC_SUBST(SDL_CFLAGS)
- AC_SUBST(SDL_LIBS)
- rm -f conf.sdltest
-])
-
-
-###############################################################################################################333
-# Check for Qt compiler flags, linker flags, and binary packages
-AC_DEFUN([gw_CHECK_QT],
-[
-AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([AC_PATH_X])
-
-AC_MSG_CHECKING([QTDIR])
-AC_ARG_WITH([qtdir], [ --with-qtdir=DIR Qt installation directory [default=$QTDIR]], QTDIR=$withval)
-# Check that QTDIR is defined or that --with-qtdir given
-if test x"$QTDIR" = x ; then
- QT_SEARCH="/usr/lib/qt31 /usr/local/qt31 /usr/lib/qt3 /usr/local/qt3 /usr/lib/qt2 /usr/local/qt2 /usr/lib/qt /usr/local/qt"
- for i in $QT_SEARCH; do
- if test -f $i/include/qglobal.h -a x$QTDIR = x; then QTDIR=$i; fi
- done
-fi
-if test x"$QTDIR" = x ; then
- AC_MSG_ERROR([*** QTDIR must be defined, or --with-qtdir option given])
-fi
-AC_MSG_RESULT([$QTDIR])
-
-# Change backslashes in QTDIR to forward slashes to prevent escaping
-# problems later on in the build process, mainly for Cygwin build
-# environment using MSVC as the compiler
-# TODO: Use sed instead of perl
-QTDIR=`echo $QTDIR | perl -p -e 's/\\\\/\\//g'`
-
-# Figure out which version of Qt we are using
-AC_MSG_CHECKING([Qt version])
-QT_VER=`grep 'define.*QT_VERSION_STR\W' $QTDIR/include/qglobal.h | perl -p -e 's/\D//g'`
-case "${QT_VER}" in
- 2*)
- QT_MAJOR="2"
- ;;
- 3*)
- QT_MAJOR="3"
- ;;
- *)
- AC_MSG_ERROR([*** Don't know how to handle this Qt major version])
- ;;
-esac
-AC_MSG_RESULT([$QT_VER ($QT_MAJOR)])
-
-# Check that moc is in path
-AC_CHECK_PROG(MOC, moc, moc)
-if test x$MOC = x ; then
- AC_MSG_ERROR([*** moc must be in path])
-fi
-
-# uic is the Qt user interface compiler
-AC_CHECK_PROG(UIC, uic, uic)
-if test x$UIC = x ; then
- AC_MSG_ERROR([*** uic must be in path])
-fi
-
-# qembed is the Qt data embedding utility.
-# It is located in $QTDIR/tools/qembed, and must be compiled and installed
-# manually, we'll let it slide if it isn't present
-AC_CHECK_PROG(QEMBED, qembed, qembed)
-
-
-# Calculate Qt include path
-QT_CXXFLAGS="-I$QTDIR/include"
-
-QT_IS_EMBEDDED="no"
-# On unix, figure out if we're doing a static or dynamic link
-case "${host}" in
- *-cygwin)
- AC_DEFINE_UNQUOTED(WIN32, "", Defined if on Win32 platform)
- if test -f "$QTDIR/lib/qt.lib" ; then
- QT_LIB="qt.lib"
- QT_IS_STATIC="yes"
- QT_IS_MT="no"
- elif test -f "$QTDIR/lib/qt-mt.lib" ; then
- QT_LIB="qt-mt.lib"
- QT_IS_STATIC="yes"
- QT_IS_MT="yes"
- elif test -f "$QTDIR/lib/qt$QT_VER.lib" ; then
- QT_LIB="qt$QT_VER.lib"
- QT_IS_STATIC="no"
- QT_IS_MT="no"
- elif test -f "$QTDIR/lib/qt-mt$QT_VER.lib" ; then
- QT_LIB="qt-mt$QT_VER.lib"
- QT_IS_STATIC="no"
- QT_IS_MT="yes"
- fi
- ;;
-
- *)
- QT_IS_STATIC=`ls $QTDIR/lib/*.a 2> /dev/null`
- if test "x$QT_IS_STATIC" = x; then
- QT_IS_STATIC="no"
- else
- QT_IS_STATIC="yes"
- fi
- if test x$QT_IS_STATIC = xno ; then
- QT_IS_DYNAMIC=`ls $QTDIR/lib/*.so 2> /dev/null`
- if test "x$QT_IS_DYNAMIC" = x; then
- AC_MSG_ERROR([*** Couldn't find any Qt libraries])
- fi
- fi
-
- if test "x`ls $QTDIR/lib/libqt.* 2> /dev/null`" != x ; then
- QT_LIB="-lqt"
- QT_IS_MT="no"
- elif test "x`ls $QTDIR/lib/libqt-mt.* 2> /dev/null`" != x ; then
- QT_LIB="-lqt-mt"
- QT_IS_MT="yes"
- elif test "x`ls $QTDIR/lib/libqte.* 2> /dev/null`" != x ; then
- QT_LIB="-lqte"
- QT_IS_MT="no"
- QT_IS_EMBEDDED="yes"
- elif test "x`ls $QTDIR/lib/libqte-mt.* 2> /dev/null`" != x ; then
- QT_LIB="-lqte-mt"
- QT_IS_MT="yes"
- QT_IS_EMBEDDED="yes"
- fi
- ;;
-esac
-AC_MSG_CHECKING([if Qt is static])
-AC_MSG_RESULT([$QT_IS_STATIC])
-AC_MSG_CHECKING([if Qt is multithreaded])
-AC_MSG_RESULT([$QT_IS_MT])
-AC_MSG_CHECKING([if Qt is embedded])
-AC_MSG_RESULT([$QT_IS_EMBEDDED])
-
-QT_GUILINK=""
-QASSISTANTCLIENT_LDADD="-lqassistantclient"
-case "${host}" in
- *irix*)
- QT_LIBS="$QT_LIB"
- if test $QT_IS_STATIC = yes ; then
- QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE"
- fi
- ;;
-
- *linux*)
- QT_LIBS="$QT_LIB"
- if test $QT_IS_STATIC = yes && test $QT_IS_EMBEDDED = no; then
- QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE -ldl -ljpeg"
- fi
- ;;
-
-
- *osf*)
- # Digital Unix (aka DGUX aka Tru64)
- QT_LIBS="$QT_LIB"
- if test $QT_IS_STATIC = yes ; then
- QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE"
- fi
- ;;
-
- *solaris*)
- QT_LIBS="$QT_LIB"
- if test $QT_IS_STATIC = yes ; then
- QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE -lresolv -lsocket -lnsl"
- fi
- ;;
-
-
- *win*)
- # linker flag to suppress console when linking a GUI app on Win32
- QT_GUILINK="/subsystem:windows"
-
- if test $QT_MAJOR = "3" ; then
- if test $QT_IS_MT = yes ; then
- QT_LIBS="/nodefaultlib:libcmt"
- else
- QT_LIBS="/nodefaultlib:libc"
- fi
- fi
-
- if test $QT_IS_STATIC = yes ; then
- QT_LIBS="$QT_LIBS $QT_LIB kernel32.lib user32.lib gdi32.lib comdlg32.lib ole32.lib shell32.lib imm32.lib advapi32.lib wsock32.lib winspool.lib winmm.lib netapi32.lib"
- if test $QT_MAJOR = "3" ; then
- QT_LIBS="$QT_LIBS qtmain.lib"
- fi
- else
- QT_LIBS="$QT_LIBS $QT_LIB"
- if test $QT_MAJOR = "3" ; then
- QT_CXXFLAGS="$QT_CXXFLAGS -DQT_DLL"
- QT_LIBS="$QT_LIBS qtmain.lib qui.lib user32.lib netapi32.lib"
- fi
- fi
- QASSISTANTCLIENT_LDADD="qassistantclient.lib"
- ;;
-
-esac
-
-
-if test x"$QT_IS_EMBEDDED" = "xyes" ; then
- QT_CXXFLAGS="-DQWS $QT_CXXFLAGS"
-fi
-
-if test x"$QT_IS_MT" = "xyes" ; then
- QT_CXXFLAGS="$QT_CXXFLAGS -D_REENTRANT -DQT_THREAD_SUPPORT"
-fi
-
-QT_LDADD="-L$QTDIR/lib $QT_LIBS"
-
-if test x$QT_IS_STATIC = xyes ; then
- OLDLIBS="$LIBS"
- LIBS="$QT_LDADD"
- AC_CHECK_LIB(Xft, XftFontOpen, QT_LDADD="$QT_LDADD -lXft")
- LIBS="$LIBS"
-fi
-
-AC_MSG_CHECKING([QT_CXXFLAGS])
-AC_MSG_RESULT([$QT_CXXFLAGS])
-AC_MSG_CHECKING([QT_LDADD])
-AC_MSG_RESULT([$QT_LDADD])
-
-AC_SUBST(QT_CXXFLAGS)
-AC_SUBST(QT_LDADD)
-AC_SUBST(QT_GUILINK)
-AC_SUBST(QASSISTANTCLIENT_LDADD)
-
-])
-
diff --git a/client/aboutwindow.cc b/client/aboutwindow.cc
index 8743ed8..849608d 100644
--- a/client/aboutwindow.cc
+++ b/client/aboutwindow.cc
@@ -29,14 +29,14 @@
#include "aboutwindow.h"
-#include <qpainter.h>
-#include <qfont.h>
+#include <QPainter>
+#include <QFont>
#include <config.h>
#define MARGIN 12
-AboutWindow::AboutWindow( QWidget* parent, const char* name )
- : QDialog( parent, name )
+AboutWindow::AboutWindow( QWidget* parent)
+ : QDialog( parent )
{
setModal(true);
pix_about = new QPixmap();
@@ -44,7 +44,7 @@ AboutWindow::AboutWindow( QWidget* parent, const char* name )
resize(pix_about->width(), pix_about->height());
- setBackgroundColor(QColor(200,200,200));
+ // setBackgroundColor(QColor(200,200,200));
btn_ok = new QPushButton(this);
btn_ok->setText("OK");
@@ -79,7 +79,7 @@ void AboutWindow::paintEvent( QPaintEvent *event )
painter.drawPixmap(0,0, *pix_about);
// Draw title and version
- painter.setBrush( SolidPattern );
+ painter.setBrush( Qt::SolidPattern );
painter.setFont( QFont( "Arial", 18, QFont::Bold ) );
painter.setPen( Qt::black );
painter.drawText(version_x, version_y, "MIAV-Grab v" VERSION);
diff --git a/client/aboutwindow.h b/client/aboutwindow.h
index f87a10e..25fb6f0 100644
--- a/client/aboutwindow.h
+++ b/client/aboutwindow.h
@@ -30,11 +30,9 @@
#ifndef __ABOUTWINDOW_H__
#define __ABOUTWINDOW_H__
-#include <qdialog.h>
-//#include <qlabel.h>
-#include <qpixmap.h>
-//#include <qtextedit.h>
-#include <qpushbutton.h>
+#include <QDialog>
+#include <QPixmap>
+#include <QPushButton>
#define PIXMAP_ABOUT PIXMAPS"/about.png"
/*
@@ -68,7 +66,7 @@ class AboutWindow : public QDialog
{
Q_OBJECT
public:
- AboutWindow(QWidget* parent = 0, const char* name = 0);
+ AboutWindow(QWidget* parent = 0);
~AboutWindow();
virtual void paintEvent( QPaintEvent *event );
void mouseReleaseEvent(QMouseEvent *event);
diff --git a/client/camera.h b/client/camera.h
index a0b849a..410b9f5 100644
--- a/client/camera.h
+++ b/client/camera.h
@@ -50,7 +50,7 @@ using namespace std;
#include "thread.h"
#include "frame.h"
-#include <qwidget.h>
+#include <QWidget>
/**
* This class represents the symbolic representation of the camera and
diff --git a/client/cprquerydialog.cc b/client/cprquerydialog.cc
index 19337a4..15e00d1 100644
--- a/client/cprquerydialog.cc
+++ b/client/cprquerydialog.cc
@@ -27,7 +27,7 @@
#include <config.h>
#ifdef USE_GUI
-#include <qframe.h>
+#include <QFrame>
#include "messagebox.h"
#include "cprquerydialog.h"
@@ -39,10 +39,11 @@ CPRQueryDialog::CPRQueryDialog(Info *info,
QWidget *parent,
const char *name,
QStatusBar *status)
- : QDialog(parent, name, TRUE)
+ : QDialog(parent)
{
+ setModal(true);
this->info = info;
- setCaption(name);
+ setWindowTitle(name);
// Load image
QPixmap pix_backspace;
@@ -60,7 +61,7 @@ CPRQueryDialog::CPRQueryDialog(Info *info,
cpr[0] = '\0';
internalCpr[0] = '\0';
- cprSocket = new QSocket(this);
+ cprSocket = new QTcpSocket(this);
connect(cprSocket, SIGNAL(readyRead()), SLOT(cprSocket_readyRead()));
connect(cprSocket, SIGNAL(connected()), SLOT(cprSocket_connected()));
connect(cprSocket, SIGNAL(error(int)), SLOT(cprSocket_error(int)));
@@ -72,21 +73,21 @@ CPRQueryDialog::CPRQueryDialog(Info *info,
connect(timer, SIGNAL(timeout()), SLOT(cprSocket_timeout()));
// Generate input buttons
- QGridLayout *gl = new QGridLayout(this, 4, 3, 10, 2);
-
- QButton *b1 = createButton(this, "1", 1);
- QButton *b2 = createButton(this, "2", 2);
- QButton *b3 = createButton(this, "3", 3);
- QButton *b4 = createButton(this, "4", 4);
- QButton *b5 = createButton(this, "5", 5);
- QButton *b6 = createButton(this, "6", 6);
- QButton *b7 = createButton(this, "7", 7);
- QButton *b8 = createButton(this, "8", 8);
- QButton *b9 = createButton(this, "9", 9);
- QButton *b0 = createButton(this, "0", 0);
- QButton *bbs = createButton(this, "", 10);
- bbs->setPixmap(pix_backspace);
- QButton *bca = createButton(this, "CA", 11);
+ QGridLayout *gl = new QGridLayout(this);//, 4, 3, 10, 2);
+
+ QPushButton *b1 = createButton(this, "1", 1);
+ QPushButton *b2 = createButton(this, "2", 2);
+ QPushButton *b3 = createButton(this, "3", 3);
+ QPushButton *b4 = createButton(this, "4", 4);
+ QPushButton *b5 = createButton(this, "5", 5);
+ QPushButton *b6 = createButton(this, "6", 6);
+ QPushButton *b7 = createButton(this, "7", 7);
+ QPushButton *b8 = createButton(this, "8", 8);
+ QPushButton *b9 = createButton(this, "9", 9);
+ QPushButton *b0 = createButton(this, "0", 0);
+ QPushButton *bbs = createButton(this, "", 10);
+ bbs->setIcon(pix_backspace);
+ QPushButton *bca = createButton(this, "CA", 11);
gl->addWidget(b1, 0,0);
gl->addWidget(b2, 0,1);
@@ -160,7 +161,8 @@ QPushButton *CPRQueryDialog::createButton(QWidget *parent, const char *text, int
{
char buf[32];
sprintf(buf, "%d", value);
- QPushButton *q = new QPushButton(this, buf);
+ QPushButton *q = new QPushButton(this);
+ q->setText(buf);
QFont f("Lucida", 48);
q->setFixedSize(150, 100);
@@ -366,19 +368,19 @@ void CPRQueryDialog::cprSocket_error(int errnum)
// Print error message
switch(errnum) {
- case QSocket::ErrConnectionRefused: // if the connection was refused
+ case QAbstractSocket::ConnectionRefusedError: // if the connection was refused
msg.append("ErrConnectionRefused");
break;
- case QSocket::ErrHostNotFound: // if the host was not found
+ case QAbstractSocket::HostNotFoundError: // if the host was not found
msg.append("ErrHostNotFound");
break;
- case QSocket::ErrSocketRead: // if a read from the socket failed
+ case QAbstractSocket::SocketAccessError: // if a read from the socket failed
msg.append("ErrSocketRead");
break;
}
- if(statusbar) statusbar->message(msg, 5000);
- MessageBox(this, "Fejl", msg, TYPE_OK, ICON_ERROR).exec();
+ if(statusbar) statusbar->showMessage(msg, 5000);
+ MessageBox(this, "Fejl", msg.toStdString().c_str(), TYPE_OK, ICON_ERROR).exec();
//info->error(msg.c_str());
accept();
}
@@ -399,7 +401,7 @@ void CPRQueryDialog::cprSocket_readyRead()
if (!cprSocket->canReadLine()) return;
QString msg = QString("Recieving name from cpr database...");
- if(statusbar) statusbar->message(msg, 5000);
+ if(statusbar) statusbar->showMessage(msg, 5000);
timer->stop();
while(cprSocket->canReadLine()) {
@@ -407,13 +409,13 @@ void CPRQueryDialog::cprSocket_readyRead()
if (s.startsWith("0001")) {
name.append(s.right(s.length()-4));
lastname.append(s.right(s.length()-4));
- name.setLength(name.length()-1);
+ name.resize(name.length()-1);
if (name.length()) name += QString(", ");
}
if (s.startsWith("0002")) {
name.append(s.right(s.length()-4));
firstname.append(s.right(s.length()-4));
- name.setLength(name.length()-1);
+ name.resize(name.length()-1);
cprSocket->close();
lbl_name->setText(name);
accept();
@@ -440,11 +442,11 @@ void CPRQueryDialog::cprSocket_readyRead()
void CPRQueryDialog::cprSocket_connected()
{
QString msg = QString("Connected to cpr database, sending cpr number...");
- if(statusbar) statusbar->message(msg, 5000);
+ if(statusbar) statusbar->showMessage(msg, 5000);
timer->stop();
- cprSocket->writeBlock(internalCpr, 10);
- cprSocket->writeBlock("\n", 1);
+ cprSocket->write(internalCpr, 10);
+ cprSocket->write("\n", 1);
}
/**
@@ -461,25 +463,31 @@ void CPRQueryDialog::cprSocket_timeout()
// Print connection status
switch(cprSocket->state()) {
- case QSocket::Idle: // if there is no connection
- msg.append("Idle");
+ case QAbstractSocket::UnconnectedState: // if there is no connection
+ msg.append("Unconnected");
break;
- case QSocket::HostLookup: // during a DNS lookup
+ case QAbstractSocket::HostLookupState: // during a DNS lookup
msg.append("HostLookup");
break;
- case QSocket::Connecting: // during TCP connection establishment
+ case QAbstractSocket::ConnectingState: // during TCP connection establishment
msg.append("Connecting");
break;
- case QSocket::Connected: // when there is an operational connection
+ case QAbstractSocket::ConnectedState: // when there is an operational connection
msg.append("Conected");
break;
- case QSocket::Closing: // if the socket is closing down, but is not yet closed.
+ case QAbstractSocket::ClosingState: // if the socket is closing down, but is not yet closed.
msg.append("Closing");
break;
+ case QAbstractSocket::BoundState: //
+ msg.append("Bound");
+ break;
+ case QAbstractSocket::ListeningState: //
+ msg.append("Listening");
+ break;
}
- if(statusbar) statusbar->message(msg, 5000);
- MessageBox(this, "Fejl", msg, TYPE_OK, ICON_ERROR).exec();
+ if(statusbar) statusbar->showMessage(msg, 5000);
+ MessageBox(this, "Fejl", msg.toStdString().c_str(), TYPE_OK, ICON_ERROR).exec();
accept();
}
diff --git a/client/cprquerydialog.h b/client/cprquerydialog.h
index 85b2659..c70206e 100644
--- a/client/cprquerydialog.h
+++ b/client/cprquerydialog.h
@@ -49,40 +49,23 @@
/**
* Includes
*/
-#include <qdialog.h>
-#include <qpushbutton.h>
-#include <qlayout.h>
-#include <qlabel.h>
-#include <qfont.h>
-
-#include <qwidget.h>
-#include <qlayout.h>
-#include <qpushbutton.h>
-#include <qdialog.h>
-#include <qlabel.h>
-#include <qpixmap.h>
-
-#include <qsocket.h>
-#include <qtextedit.h>
-#include <qstring.h>
-#include <qwidget.h>
-
-#include <qevent.h>
-
-#include <qpushbutton.h>
-
-#include <qwidget.h>
-#include <qlayout.h>
-#include <qdialog.h>
+#include <QDialog>
+#include <QPushButton>
+#include <QLayout>
+#include <QLabel>
+#include <QFont>
+#include <QWidget>
+#include <QPixmap>
+#include <QTcpSocket>
+#include <QTextEdit>
+#include <QString>
+#include <QEvent>
+#include <QTimer>
+#include <QStatusBar>
#include <string>
using namespace std;
-#include <qdialog.h>
-#include <qlabel.h>
-#include <qsocket.h>
-#include <qtimer.h>
-#include <qstatusbar.h>
#include "messagebox.h"
@@ -125,7 +108,7 @@ private:
QLabel *lbl_cpr;
QLabel *lbl_name;
- QSocket *cprSocket;
+ QTcpSocket *cprSocket;
char cpr[12];
char internalCpr[11];
diff --git a/client/encoder.h b/client/encoder.h
index 0fada07..de29646 100644
--- a/client/encoder.h
+++ b/client/encoder.h
@@ -46,7 +46,7 @@
#include <string.h>
//#include <avformat.h>
-#include "miav.h"
+#include "miav_client.h"
#include "util.h"
#include "package.h"
#include "frame.h"
diff --git a/client/historywidget.cc b/client/historywidget.cc
index bdeb880..55fb178 100644
--- a/client/historywidget.cc
+++ b/client/historywidget.cc
@@ -30,6 +30,8 @@
#include "miav_config.h"
+#include <QPixmap>
+
HistoryWidget::HistoryWidget(QWidget *p) : QLabel(p)
{
parent = p;
@@ -47,8 +49,10 @@ void HistoryWidget::set_image(QImage *i)
image = new QImage(*i);
- QImage resized = image->smoothScale(width(), height());
- setPixmap(resized);
+ QImage resized = image->scaled(width(), height(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
+ QPixmap pixmap;
+ pixmap.fromImage(resized);
+ setPixmap(pixmap);
}
QImage * HistoryWidget::get_image()
diff --git a/client/historywidget.h b/client/historywidget.h
index d464d59..b798ddb 100644
--- a/client/historywidget.h
+++ b/client/historywidget.h
@@ -29,8 +29,8 @@
#ifndef __MIAV_HISTORYWIDGET_H__
#define __MIAV_HISTORYWIDGET_H__
-#include <qlabel.h>
-#include <qimage.h>
+#include <QLabel>
+#include <QImage>
class HistoryWidget : public QLabel {
Q_OBJECT
diff --git a/client/info_gui.h b/client/info_gui.h
index a4f5135..a607c0f 100644
--- a/client/info_gui.h
+++ b/client/info_gui.h
@@ -38,8 +38,9 @@
#include "miav_config.h"
-#include <qwidget.h>
-#include <qapplication.h>
+#include <QWidget>
+#include <QApplication>
+#include <QEvent>
#include <pthread.h>
#include <semaphore.h>
@@ -48,11 +49,13 @@
#define TYPE_SHOW_MESSAGEBOX 65432
-class ShowMessageEvent : public QCustomEvent {
+class ShowMessageEvent : public QEvent {
public:
- ShowMessageEvent( MessageBox* msgbox )
- : QCustomEvent( TYPE_SHOW_MESSAGEBOX ), m( msgbox ) {}
+ ShowMessageEvent( MessageBox* msgbox ) :
+ QEvent((QEvent::Type)TYPE_SHOW_MESSAGEBOX),
+ m( msgbox ) {}
MessageBox *messagebox() const { return m; }
+ // Type type() const { return TYPE_SHOW_MESSAGEBOX; }
private:
MessageBox *m;;
};
diff --git a/client/mainwindow.cc b/client/mainwindow.cc
index ce3d9bb..0978120 100644
--- a/client/mainwindow.cc
+++ b/client/mainwindow.cc
@@ -29,18 +29,16 @@
#include "mainwindow.h"
-#include <qpainter.h>
-#include <qpicture.h>
-
-#include <qpushbutton.h>
-#include <qfont.h>
-#include <qpixmap.h>
-#include <qbitmap.h>
-#include <qimage.h>
-#include <qlayout.h>
-#include <qgroupbox.h>
-
-#include <qstatusbar.h>
+#include <QPainter>
+#include <QPicture>
+#include <QPushButton>
+#include <QFont>
+#include <QPixmap>
+#include <QBitmap>
+#include <QImage>
+#include <QLayout>
+#include <QGroupBox>
+#include <QStatusBar>
#include <math.h>
@@ -53,8 +51,8 @@
//"miav-grab.h"
//#define WITH_DV
-MainWindow::MainWindow(QApplication *qApp, QWidget* parent, const char* name )
- : QWidget( parent, name, WStyle_Customize | WStyle_NoBorder )
+MainWindow::MainWindow(QWidget* parent )
+ : QWidget( parent, Qt::FramelessWindowHint )
{
info = new InfoGui(qApp, this, config);
@@ -140,7 +138,7 @@ QImage *MainWindow::loadButtonIcon( char *name, int height )
int h = (int)(height * unit);
int w = (int)((float)img->width() / (float)(img->height() / (float)h));
- scaled = img->smoothScale(w, h);
+ scaled = img->scaled(w, h, Qt::KeepAspectRatio, Qt::SmoothTransformation);
delete img;
img = new QImage(scaled);
@@ -182,29 +180,27 @@ void MainWindow::createGui()
* |_______________________________|__________________|
*/
- QGridLayout *g0 = new QGridLayout(this, 2, 2, 0, -1);
- QGridLayout *g1 = new QGridLayout(4, 4, -1);
+ QPixmap pixmap;
+
+ QGridLayout *g0 = new QGridLayout(this);
+ QGridLayout *g1 = new QGridLayout();
g0->addLayout(g1, 0, 0);
QGroupBox *gb = new QGroupBox(this);
- // gb->setRows(NUM_HISTORY);
+ /*
gb->setColumns(1);
- // gb->setTitle("fisk");
- // QGridLayout *g2 = new QGridLayout(1, NUM_HISTORY, -1);
- // QVBoxLayout *g2 = new QVBoxLayout(this);
- // g0->addLayout(g2, 0, 1);
-
gb->setInsideMargin(HISTORY_LIST_MARGIN);
gb->setInsideSpacing(HISTORY_LIST_SPACING);
gb->setFlat(true);
g0->addWidget(gb, 0, 1);
+ */
int resolution_w = config->readInt("pixel_width");
int resolution_h = config->readInt("pixel_height");
int output_width = resolution_w - // this->width() -
(int)(BUTTON_WIDTH * unit) -
- (gb->insideMargin() * 2) -
+ /* (gb->insideMargin() * 2) - */
g1->margin() * 2 -
g0->margin() * 2;
@@ -214,28 +210,30 @@ void MainWindow::createGui()
g0->margin() * 3;
img_recedge = new QLabel(this);
- img_recedge->setBackgroundColor(QColor(160,160,160));
+ QPalette palette;
+ palette.setColor(img_recedge->backgroundRole(), QColor(160,160,160));
+ img_recedge->setPalette(palette);
img_recedge->setFixedSize(output_width, output_height);
img_live = new VideoWidget(img_recedge, camera);
img_live->setFixedSize(output_width - 20, output_height - 20);
img_live->move(10,10);
- g1->addMultiCellWidget ( img_recedge, 0, 0, 0, 3, Qt::AlignHCenter);
- // QObject::connect( img_live, SIGNAL(clicked()), this, SLOT(live_clicked()) );
+ g1->addWidget( img_recedge, 0, 0, 0, 3, Qt::AlignHCenter);
// CPR/NAME LABEL + CPR button
lbl_cpr = createLabel("", output_width - (int)(BUTTON_WIDTH * unit), BUTTON_HEIGHT);
- g1->addMultiCellWidget ( lbl_cpr, 1, 1, 0, 2);
+ g1->addWidget( lbl_cpr, 1, 1, 0, 2);
btn_cpr = createButton("");
btn_cpr->setFocus();
- btn_cpr->setPixmap(*img_cpr);
+ pixmap.fromImage(*img_cpr);
+ btn_cpr->setIcon(pixmap);
QObject::connect( btn_cpr, SIGNAL(clicked()), this, SLOT(cpr_clicked()) );
// Will also be connected in the MGUI code
g1->addWidget(btn_cpr, 1, 3);
lbl_name = createLabel("", output_width, (int)(BUTTON_HEIGHT * 0.8f));
- g1->addMultiCellWidget ( lbl_name, 2, 2, 0, 3);
+ g1->addWidget( lbl_name, 2, 2, 0, 3);
/*
btn_clear = createButton("");
btn_clear->setPixmap(*img_clear);
@@ -245,22 +243,26 @@ void MainWindow::createGui()
*/
// Rec + Shot + Freeze buttons
btn_rec = createButton("");
- btn_rec->setPixmap(*img_record);
+ pixmap.fromImage(*img_record);
+ btn_rec->setIcon(pixmap);
QObject::connect( btn_rec, SIGNAL(clicked()), this, SLOT(rec_clicked()) );
g1->addWidget(btn_rec, 3, 0);
btn_shoot = createButton("");
- btn_shoot->setPixmap(*img_snapshot);
+ pixmap.fromImage(*img_snapshot);
+ btn_shoot->setIcon(pixmap);
QObject::connect( btn_shoot, SIGNAL(clicked()), this, SLOT(shoot_clicked()) );
g1->addWidget(btn_shoot, 3, 1);
btn_freeze = createButton("");
- btn_freeze->setPixmap(*img_freeze);
+ pixmap.fromImage(*img_freeze);
+ btn_freeze->setIcon(pixmap);
QObject::connect( btn_freeze, SIGNAL(clicked()), this, SLOT(freeze_clicked()) );
g1->addWidget(btn_freeze, 3, 2);
btn_mute = createButton("");
- btn_mute->setPixmap(*img_unmute);
+ pixmap.fromImage(*img_unmute);
+ btn_mute->setIcon(pixmap);
QObject::connect( btn_mute, SIGNAL(clicked()), this, SLOT(mute_clicked()) );
g1->addWidget(btn_mute, 3, 3);
@@ -282,38 +284,40 @@ void MainWindow::createGui()
// Clear button
btn_clear = createButton("", gb);
- btn_clear->setPixmap(*img_clear);
+ pixmap.fromImage(*img_clear);
+ btn_clear->setIcon(pixmap);
QObject::connect( btn_clear, SIGNAL(clicked()), this, SLOT(clear_clicked()) );
// Statusbar
status = new QStatusBar(this);
status->setSizeGripEnabled(FALSE);
// status->setFont(QFont( "Sans Serif", (int)(unit * height / 3), QFont::Normal ));
- g0->addMultiCellWidget(status, 4, 4, 0, 1);
+ g0->addWidget(status, 4, 4, 0, 1);
lbl_recordtime = createLabel("", BUTTON_WIDTH, 1);
lbl_recordtime->setFixedWidth((int)(BUTTON_WIDTH * unit) +
- (gb->insideMargin() * 2) +
+ /* (gb->insideMargin() * 2) + */
g1->margin() * 2 +
g0->margin() * 2);
- status->addWidget(lbl_recordtime, 0, TRUE);
+ status->addWidget(lbl_recordtime, 0);
// About button
btn_about = new QPushButton("", this);
btn_about->setFixedHeight((int)unit);
- btn_about->setPixmap(*img_logo);
+ pixmap.fromImage(*img_logo);
+ btn_about->setIcon(pixmap);
QObject::connect( btn_about, SIGNAL(clicked()), this, SLOT(about_clicked()) );
- status->addWidget(btn_about, 0, TRUE);
+ status->addWidget(btn_about, 0);
// Version label
lbl_version = createLabel("MIaV-Grab v" VERSION, BUTTON_WIDTH, 1);
lbl_version->setFixedWidth((int)(BUTTON_WIDTH * unit) +
- (gb->insideMargin() * 2) +
+ /* (gb->insideMargin() * 2) + */
g1->margin() * 2 +
g0->margin() * 2);
- status->addWidget(lbl_version, 0, TRUE);
+ status->addWidget(lbl_version, 0);
- status->message( TXT_READY );
+ status->showMessage( TXT_READY );
}
@@ -387,14 +391,17 @@ void MainWindow::redraw_edge()
{
rec_edge_counter += SPEED;
float val = fabs(sin(rec_edge_counter));
- img_recedge->setBackgroundColor(QColor((int) ((255 - GREY) * val + GREY),
- (int) (GREY - (GREY * val)),
- (int) (GREY - (GREY * val))));
+
+ QPalette palette;
+ palette.setColor(img_recedge->backgroundRole(), QColor((int) ((255 - GREY) * val + GREY),
+ (int) (GREY - (GREY * val)),
+ (int) (GREY - (GREY * val))));
+ img_recedge->setPalette(palette);
}
void MainWindow::message(char *msg)
{
- status->message(msg);
+ status->showMessage(msg);
info->log("Message: %s", msg);
}
@@ -447,8 +454,8 @@ void MainWindow::cpr_clicked()
info->log("Activated CPR chooser.");
// Save CPR and name, from the labels.
- strcpy(oldname, lbl_name->text().ascii());
- strcpy(oldcpr, lbl_cpr->text().ascii());
+ strcpy(oldname, lbl_name->text().toStdString().c_str());
+ strcpy(oldcpr, lbl_cpr->text().toStdString().c_str());
clear();
@@ -462,25 +469,29 @@ void MainWindow::cpr_clicked()
info->log("Cancelled CPR chooser.");
} else {
// Change CPR camera.
- info->log("New CPR %s (old %s).", (char*)lbl_cpr->text().ascii(), oldcpr);
- strcpy(oldname, lbl_name->text().ascii());
- strcpy(oldcpr, lbl_cpr->text().ascii());
+ info->log("New CPR %s (old %s).", (char*)lbl_cpr->text().toStdString().c_str(), oldcpr);
+ strcpy(oldname, lbl_name->text().toStdString().c_str());
+ strcpy(oldcpr, lbl_cpr->text().toStdString().c_str());
clear();
lbl_name->setText(oldname);
lbl_cpr->setText(oldcpr);
- camera->setCpr((char*)lbl_cpr->text().ascii(), (char*)lbl_name->text().ascii());
+ camera->setCpr((char*)lbl_cpr->text().toStdString().c_str(), (char*)lbl_name->text().toStdString().c_str());
}
}
void MainWindow::rec_clicked()
{
+ QPalette palette;
+ QPixmap pixmap;
+
if(!recording) {
info->log("Start recording.");
recording = 1;
// Start flashing the edge
rec_edge_counter = 0.0f;
timer->start(100);
- btn_rec->setPixmap(*img_stop);
+ pixmap.fromImage(*img_stop);
+ btn_rec->setIcon(pixmap);
camera->start();
} else {
switch(MessageBox(this,
@@ -493,8 +504,10 @@ void MainWindow::rec_clicked()
recording = 0;
camera->stop(SAVE);
timer->stop();
- img_recedge->setBackgroundColor(QColor(160,160,160));
- btn_rec->setPixmap(*img_record);
+ palette.setColor(img_recedge->backgroundRole(), QColor(160,160,160));
+ img_recedge->setPalette(palette);
+ pixmap.fromImage(*img_record);
+ btn_rec->setIcon(pixmap);
break;
case MSG_NO:
@@ -502,8 +515,10 @@ void MainWindow::rec_clicked()
recording = 0;
camera->stop(DELETE);
timer->stop();
- img_recedge->setBackgroundColor(QColor(160,160,160));
- btn_rec->setPixmap(*img_record);
+ palette.setColor(img_recedge->backgroundRole(), QColor(160,160,160));
+ img_recedge->setPalette(palette);
+ pixmap.fromImage(*img_record);
+ btn_rec->setIcon(pixmap);
break;
case MSG_MAYBE:
@@ -511,8 +526,10 @@ void MainWindow::rec_clicked()
recording = 0;
camera->stop(LATER);
timer->stop();
- img_recedge->setBackgroundColor(QColor(160,160,160));
- btn_rec->setPixmap(*img_record);
+ palette.setColor(img_recedge->backgroundRole(), QColor(160,160,160));
+ img_recedge->setPalette(palette);
+ pixmap.fromImage(*img_record);
+ btn_rec->setIcon(pixmap);
break;
case MSG_CANCEL:
@@ -527,7 +544,7 @@ void MainWindow::shoot_clicked()
// unsigned char pixels[720*576*3];
info->log("Snapshot (%s).", frozen?"frozen":"unfrozen");
- QImage screenshot(720, 576, 32);
+ QImage screenshot(720, 576, QImage::Format_RGB32);
camera->snapshot(screenshot.bits());
@@ -540,8 +557,12 @@ void MainWindow::shoot_clicked()
if(frozen) {
camera->unfreeze();
- btn_freeze->setPixmap(*img_freeze);
- btn_freeze->setOn(false);
+
+ QPixmap pixmap;
+ pixmap.fromImage(*img_freeze);
+ btn_freeze->setIcon(pixmap);
+
+ btn_freeze->setDown(false);
frozen = false;
}
}
@@ -551,23 +572,38 @@ void MainWindow::freeze_clicked()
if(frozen) {
info->log("Unfreeze.");
camera->unfreeze();
- btn_freeze->setPixmap(*img_freeze);
- btn_freeze->setOn(false);
+
+ QPixmap pixmap;
+ pixmap.fromImage(*img_freeze);
+ btn_freeze->setIcon(pixmap);
+
+ btn_freeze->setDown(false);
frozen = false;
} else {
info->log("Freeze.");
camera->freeze();
- btn_freeze->setPixmap(*img_unfreeze);
- btn_freeze->setOn(true);
+
+ QPixmap pixmap;
+ pixmap.fromImage(*img_freeze);
+ btn_freeze->setIcon(pixmap);
+
+ btn_freeze->setDown(true);
frozen = true;
}
}
void MainWindow::mute_clicked()
{
+ QPixmap pixmap;
+
muted = !muted;
- if(muted) btn_mute->setPixmap(*img_mute);
- else btn_mute->setPixmap(*img_unmute);
+ if(muted) {
+ pixmap.fromImage(*img_mute);
+ btn_mute->setIcon(pixmap);
+ } else {
+ pixmap.fromImage(*img_unmute);
+ btn_mute->setIcon(pixmap);
+ }
camera->setMute(muted);
}
diff --git a/client/mainwindow.h b/client/mainwindow.h
index 2ac7d82..435d20d 100644
--- a/client/mainwindow.h
+++ b/client/mainwindow.h
@@ -33,13 +33,13 @@
#include <string>
using namespace std;
-#include <qwidget.h>
-#include <qlabel.h>
-#include <qpushbutton.h>
-#include <qstatusbar.h>
-#include <qtimer.h>
-#include <qpixmap.h>
-#include <qimage.h>
+#include <QWidget>
+#include <QLabel>
+#include <QPushButton>
+#include <QStatusBar>
+#include <QTimer>
+#include <QPixmap>
+#include <QImage>
#include "videowidget.h"
#include "camera.h"
@@ -100,7 +100,7 @@ class MainWindow : public QWidget
{
Q_OBJECT
public:
- MainWindow(QApplication *qApp, QWidget* parent = 0, const char* name = 0);
+ MainWindow(QWidget* parent = 0);
~MainWindow();
void message(char* msg);
diff --git a/client/messagebox.cc b/client/messagebox.cc
index fd812eb..abd7479 100644
--- a/client/messagebox.cc
+++ b/client/messagebox.cc
@@ -43,14 +43,14 @@ MessageBox::MessageBox(QWidget* parent,
const char* text,
msg_type type,
msg_icon icon)
- : QDialog(parent, name, TRUE)
+ : QDialog(parent)
{
int resolution_w = config->readInt("pixel_width");
//int resolution_h = config->readInt("pixel_height");
unit = ((float)resolution_w / config->readFloat("screensize")) / INCH_IN_CM;
- setCaption(name);
+ setWindowTitle(name);
QFrame *topf = new QFrame(this);
topf->setFrameStyle(QFrame::Box | QFrame::Raised);
topf->setLineWidth(3);
@@ -116,7 +116,7 @@ MessageBox::MessageBox(QWidget* parent,
// lbl_text->setFont(QFont("Arial", 18));
QFrame *f = new QFrame(topf);
- QVBoxLayout *blayout = new QVBoxLayout(topf, 20, 20);
+ QVBoxLayout *blayout = new QVBoxLayout(topf);
blayout->addWidget(lbl_icon);
blayout->addWidget(lbl_text);
@@ -127,7 +127,7 @@ MessageBox::MessageBox(QWidget* parent,
case TYPE_OK:
{
QPushButton *bok = createButton(f, TXT_OK );
- QGridLayout *glayout = new QGridLayout(f, 1, 1, 20, 20);
+ QGridLayout *glayout = new QGridLayout(f);
glayout->addWidget(bok, 0, 0);
connect(bok, SIGNAL( clicked() ), SLOT(bok_clicked()));
break;
@@ -136,7 +136,7 @@ MessageBox::MessageBox(QWidget* parent,
{
QPushButton *bok = createButton(f, TXT_OK );
QPushButton *bcancel = createButton(f, TXT_CANCEL );
- QGridLayout *glayout = new QGridLayout(f, 1, 2, 20, 20);
+ QGridLayout *glayout = new QGridLayout(f);
glayout->addWidget(bcancel, 0, 1);
glayout->addWidget(bok, 0, 2);
connect(bcancel, SIGNAL( clicked() ), SLOT(bcancel_clicked()));
@@ -147,7 +147,7 @@ MessageBox::MessageBox(QWidget* parent,
{
QPushButton *bno = createButton(f, TXT_NO );
QPushButton *byes = createButton(f, TXT_YES );
- QGridLayout *glayout = new QGridLayout(f, 1, 2, 20, 20);
+ QGridLayout *glayout = new QGridLayout(f);
glayout->addWidget(bno, 0, 0);
glayout->addWidget(byes, 0, 1);
connect(byes, SIGNAL( clicked() ), SLOT(byes_clicked()));
@@ -159,7 +159,7 @@ MessageBox::MessageBox(QWidget* parent,
QPushButton *bmaybe = createButton(f, TXT_MAYBE );
QPushButton *bno = createButton(f, TXT_NO );
QPushButton *byes = createButton(f, TXT_YES );
- QGridLayout *glayout = new QGridLayout(f, 1, 3, 20, 20);
+ QGridLayout *glayout = new QGridLayout(f);
glayout->addWidget(bno, 0, 0);
glayout->addWidget(byes, 0, 1);
glayout->addWidget(bmaybe, 0, 2);
@@ -173,7 +173,7 @@ MessageBox::MessageBox(QWidget* parent,
QPushButton *bcancel = createButton(f, TXT_CANCEL );
QPushButton *bno = createButton(f, TXT_NO );
QPushButton *byes = createButton(f, TXT_YES );
- QGridLayout *glayout = new QGridLayout(f, 1, 3, 20, 20);
+ QGridLayout *glayout = new QGridLayout(f);
glayout->addWidget(bno, 0, 0);
glayout->addWidget(bcancel, 0, 1);
glayout->addWidget(byes, 0, 2);
@@ -188,7 +188,7 @@ MessageBox::MessageBox(QWidget* parent,
QPushButton *bcancel = createButton(f, TXT_CANCEL );
QPushButton *bno = createButton(f, TXT_NO );
QPushButton *byes = createButton(f, TXT_YES );
- QGridLayout *glayout = new QGridLayout(f, 1, 4, 20, 20);
+ QGridLayout *glayout = new QGridLayout(f);
glayout->addWidget(bno, 0, 0);
glayout->addWidget(bcancel, 0, 1);
glayout->addWidget(byes, 0, 2);
diff --git a/client/messagebox.h b/client/messagebox.h
index 30a8307..e2c576c 100644
--- a/client/messagebox.h
+++ b/client/messagebox.h
@@ -30,13 +30,13 @@
#ifndef __MIAV_MESSAGEBOX_H__
#define __MIAV_MESSAGEBOX_H__
-#include <qdialog.h>
-#include <qwidget.h>
-#include <qframe.h>
-#include <qlayout.h>
-#include <qpushbutton.h>
-#include <qlabel.h>
-#include <qpixmap.h>
+#include <QDialog>
+#include <QWidget>
+#include <QFrame>
+#include <QLayout>
+#include <QPushButton>
+#include <QLabel>
+#include <QPixmap>
typedef enum {
ICON_NONE, // No icon is used
diff --git a/client/miav_client.cc b/client/miav_client.cc
index a8e9f7c..f8ea6d2 100644
--- a/client/miav_client.cc
+++ b/client/miav_client.cc
@@ -42,6 +42,7 @@ QApplication *miav_app;
* This function starts the MIaV gui.
*/
int main(int argc, char *argv[])
+{
QApplication miav_grab( argc, argv );
miav_app = &miav_grab;
@@ -52,8 +53,7 @@ int main(int argc, char *argv[])
InfoEventHandler *eventhandler = new InfoEventHandler( );
miav_grab.installEventFilter( eventhandler );
- MainWindow mainwindow( &miav_grab );
- miav_grab.setMainWidget( &mainwindow );
+ MainWindow mainwindow;
info.setParent(&mainwindow);
return miav_grab.exec();
diff --git a/client/miav_client.h b/client/miav_client.h
index ce7842a..7b14912 100644
--- a/client/miav_client.h
+++ b/client/miav_client.h
@@ -35,7 +35,7 @@
#include "queue.h"
#ifdef USE_GUI
-#include <qapplication.h>
+#include <QApplication>
extern QApplication *miav_app;
#endif/*USE_GUI*/
diff --git a/client/player.h b/client/player.h
index 0f5ca51..4e826ad 100644
--- a/client/player.h
+++ b/client/player.h
@@ -51,7 +51,7 @@
#include "thread.h"
#include "frame.h"
-#include <qwidget.h>
+#include <QWidget>
#include "yuv_draw.h"
diff --git a/client/videowidget.cc b/client/videowidget.cc
index 61b5c8e..a2d5a14 100644
--- a/client/videowidget.cc
+++ b/client/videowidget.cc
@@ -32,7 +32,7 @@
#include "miav_config.h"
-VideoWidget::VideoWidget(QWidget *p, Camera *c, QWidget* old) : QWidget(p, "")
+VideoWidget::VideoWidget(QWidget *p, Camera *c, QWidget* old) : QWidget(p)
{
camera = c;
parent = p;
@@ -41,7 +41,7 @@ VideoWidget::VideoWidget(QWidget *p, Camera *c, QWidget* old) : QWidget(p, "")
// A welltested hack to force SDL to draw in the QWidget
QString ids;
- setenv("SDL_WINDOWID", ids.setNum(winId()), 1);
+ setenv("SDL_WINDOWID", ids.setNum(winId()).toStdString().c_str(), 1);
}
VideoWidget::~VideoWidget()
@@ -59,7 +59,7 @@ void VideoWidget::mouseReleaseEvent(QMouseEvent *event)
{
if(!parent) { // We are a fullscreen window
QString ids;
- setenv("SDL_WINDOWID", ids.setNum(oldWindow->winId()), 1);
+ setenv("SDL_WINDOWID", ids.setNum(oldWindow->winId()).toStdString().c_str(), 1);
camera->resize(oldWindow->width(), oldWindow->height(), false);
destroy();
} else { // We are a nested window
diff --git a/client/videowidget.h b/client/videowidget.h
index b9ac9d6..f088bfc 100644
--- a/client/videowidget.h
+++ b/client/videowidget.h
@@ -30,8 +30,8 @@
#ifndef __VIDEOWIDGET_H__
#define __VIDEOWIDGET_H__
-#include <qwidget.h>
-#include <qpixmap.h>
+#include <QWidget>
+#include <QPixmap>
#include "camera.h"
diff --git a/client/yuv_draw.cc b/client/yuv_draw.cc
index 21e5c28..156c705 100644
--- a/client/yuv_draw.cc
+++ b/client/yuv_draw.cc
@@ -29,7 +29,7 @@
#include "yuv_draw.h"
// for miav_app
-#include "miav.h"
+#include "miav_client.h"
#include <string.h>
@@ -47,7 +47,7 @@ static QImage *loadIcon( char *name, int height )
int h = height;
int w = (int)((float)img->width() / (float)(img->height() / (float)h));
- scaled = img->smoothScale(w, h);
+ scaled = img->scaled(w, h, Qt::KeepAspectRatio, Qt::SmoothTransformation);
delete img;
img = new QImage(scaled);
@@ -107,6 +107,7 @@ void YUVDraw::addPixel(int x, int y, int val)
void YUVDraw::setTopText(char* text)
{
+ /*
miav_app->lock();
top_pixmap->fill();
@@ -125,10 +126,12 @@ void YUVDraw::setTopText(char* text)
}
}
miav_app->unlock();
+ */
}
void YUVDraw::setBottomText(char* text)
{
+ /*
miav_app->lock();
bottom_pixmap->fill();
@@ -147,6 +150,7 @@ void YUVDraw::setBottomText(char* text)
}
}
miav_app->unlock();
+ */
}
void YUVDraw::draw()
diff --git a/client/yuv_draw.h b/client/yuv_draw.h
index 62f7d02..9f70798 100644
--- a/client/yuv_draw.h
+++ b/client/yuv_draw.h
@@ -31,9 +31,9 @@
#include <SDL/SDL.h>
-#include <qpixmap.h>
-#include <qimage.h>
-#include <qpainter.h>
+#include <QPixmap>
+#include <QImage>
+#include <QPainter>
#define ICON_HEIGHT 48
#define ICON_WIDTH 48
diff --git a/etc/miav.conf b/etc/miav.conf
index b551d64..55fefe8 100644
--- a/etc/miav.conf
+++ b/etc/miav.conf
@@ -6,6 +6,9 @@
client_log_file = "/tmp/miav_client.log"
server_log_file = "/tmp/miav_server.log"
+# Cpr listen port
+cprlisten_port = 18107
+
# Cpr Database configuration
cpr_host = "cpr.j.auh.dk"
cpr_port = 10301
diff --git a/server/miav_server.h b/server/miav_server.h
index ce7842a..6d5068a 100644
--- a/server/miav_server.h
+++ b/server/miav_server.h
@@ -34,9 +34,4 @@
#include "socket.h"
#include "queue.h"
-#ifdef USE_GUI
-#include <qapplication.h>
-extern QApplication *miav_app;
-#endif/*USE_GUI*/
-
#endif/*__LIBMIAV_H__*/