[debian-edu-commits] debian-edu/ 01/01: Imported Upstream version 2.0.2

Mike Gabriel sunweaver at debian.org
Mon Aug 18 15:09:48 UTC 2014


This is an automated email from the git hooks/post-receive script.

sunweaver pushed a commit to annotated tag upstream/2.0.2
in repository italc.

commit ce039d1847d3bb62791d40c39578628a6e7c8d66
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Thu Aug 14 11:09:20 2014 +0200

    Imported Upstream version 2.0.2
---
 CMakeLists.txt                                     |   3 +-
 COPYING                                            |  43 +-
 INSTALL                                            |   1 +
 README                                             |  25 +-
 cmake/modules/DetectMachine.cmake                  |   6 +-
 doc/CrossCompilingForWindows.txt                   |   9 +-
 iTALC.nsi.in                                       |  11 +-
 ica/ica.1                                          |  65 ++-
 ica/ica.rc                                         |   4 +-
 ica/ica.rc.in                                      |   4 +-
 ica/src/AccessDialogSlave.h                        |   4 +-
 ica/src/DemoClient.h                               |   6 +-
 ica/src/DemoClientSlave.h                          |   6 +-
 ica/src/DemoServer.h                               |   4 +-
 ica/src/DemoServerMaster.h                         |   4 +-
 ica/src/DemoServerSlave.h                          |   4 +-
 ica/src/DesktopAccessPermission.h                  |   4 +-
 ica/src/IcaSlave.h                                 |   4 +-
 ica/src/InputLockSlave.h                           |   4 +-
 ica/src/ItalcCoreServer.h                          |   4 +-
 ica/src/ItalcSlaveManager.h                        |   4 +-
 ica/src/ItalcVncServer.cpp                         |  63 +-
 ica/src/ItalcVncServer.h                           |   4 +-
 ica/src/MessageBoxSlave.h                          |   4 +-
 ica/src/RfbItalcCursor.h                           |   4 +-
 ica/src/RfbLZORLE.h                                |   4 +-
 ica/src/ScreenLockSlave.h                          |   4 +-
 ica/src/ScreenLockSlaveLauncher.h                  |   4 +-
 ica/src/SystemTrayIconSlave.h                      |   4 +-
 ica/src/WindowsService.h                           |   4 +-
 ica/src/moc_AccessDialogSlave.cxx_parameters       |  22 +
 ica/src/moc_DemoClient.cxx_parameters              |  22 +
 ica/src/moc_DemoClientSlave.cxx_parameters         |  22 +
 ica/src/moc_DemoServer.cxx_parameters              |  22 +
 ica/src/moc_DemoServerMaster.cxx_parameters        |  22 +
 ica/src/moc_DemoServerSlave.cxx_parameters         |  22 +
 ica/src/moc_DesktopAccessPermission.cxx_parameters |  22 +
 ica/src/moc_IcaSlave.cxx_parameters                |  22 +
 ica/src/moc_InputLockSlave.cxx_parameters          |  22 +
 ica/src/moc_ItalcCoreServer.cxx_parameters         |  22 +
 ica/src/moc_ItalcSlaveManager.cxx_parameters       |  22 +
 ica/src/moc_ItalcVncServer.cxx_parameters          |  22 +
 ica/src/moc_MessageBoxSlave.cxx_parameters         |  22 +
 ica/src/moc_RfbItalcCursor.cxx_parameters          |  22 +
 ica/src/moc_RfbLZORLE.cxx_parameters               |  22 +
 ica/src/moc_ScreenLockSlave.cxx_parameters         |  22 +
 ica/src/moc_ScreenLockSlaveLauncher.cxx_parameters |  22 +
 ica/src/moc_SystemTrayIconSlave.cxx_parameters     |  22 +
 ica/src/moc_WindowsService.cxx_parameters          |  22 +
 ica/win32/winvnc/winvnc/Dtwinver.cpp               |   2 +-
 ica/win32/winvnc/winvnc/httpconnect.cpp            |   8 +-
 ica/win32/winvnc/winvnc/read_write_ini.cpp         |   4 +-
 ica/win32/winvnc/winvnc/service.cpp                |  10 +-
 ica/win32/winvnc/winvnc/videodriver.cpp            |  11 +-
 ica/win32/winvnc/winvnc/vncclient.cpp              |   8 +-
 ica/win32/winvnc/winvnc/vncclient.h                |   2 +-
 ica/win32/winvnc/winvnc/vncdesktop.cpp             |   5 +-
 ica/win32/winvnc/winvnc/vncdesktopsink.cpp         |   5 +-
 ica/win32/winvnc/winvnc/vnchttpconnect.h           |   4 +-
 ica/win32/winvnc/winvnc/vncsockconnect.h           |   4 +-
 ica/x11/libvncclient/h264.c                        | 644 +++++++++++++++++++++
 ica/x11/libvncclient/rfbproto.c                    |  24 +
 ica/x11/libvncclient/vncviewer.c                   |  13 +
 ica/x11/libvncserver/rfbregion.c                   |   2 +-
 ica/x11/libvncserver/selbox.c                      |   2 +-
 ica/x11/libvncserver/websockets.c                  |   1 +
 ima/data/italc.desktop.in                          |   7 +-
 ima/dialogs/Config.ui                              | 163 ++++++
 ima/italc.1                                        |  23 +-
 ima/italc.rc                                       |   4 +-
 ima/italc.rc.in                                    |   4 +-
 ima/resources/splash.png                           | Bin 43092 -> 43105 bytes
 ima/src/ClassroomManager.h                         |   4 +-
 ima/src/Client.h                                   |   6 +-
 ima/src/ConfigWidget.h                             |   4 +-
 ima/src/Dialogs.h                                  |   6 +-
 ima/src/MainToolBar.h                              |   4 +-
 ima/src/MainWindow.h                               |   6 +-
 ima/src/OverviewWidget.h                           |   4 +-
 ima/src/RemoteControlWidget.h                      |   4 +-
 ima/src/RunCommandsDialog.h                        |   4 +-
 ima/src/SideBar.h                                  |   4 +-
 ima/src/SideBarWidget.h                            |   4 +-
 ima/src/SnapshotList.h                             |   6 +-
 ima/src/ToolButton.h                               |   6 +-
 ima/src/moc_ClassroomManager.cxx_parameters        |  22 +
 ima/src/moc_Client.cxx_parameters                  |  22 +
 ima/src/moc_ConfigWidget.cxx_parameters            |  22 +
 ima/src/moc_Dialogs.cxx_parameters                 |  22 +
 ima/src/moc_MainToolBar.cxx_parameters             |  22 +
 ima/src/moc_MainWindow.cxx_parameters              |  22 +
 ima/src/moc_OverviewWidget.cxx_parameters          |  22 +
 ima/src/moc_RemoteControlWidget.cxx_parameters     |  22 +
 ima/src/moc_RunCommandsDialog.cxx_parameters       |  22 +
 ima/src/moc_SideBar.cxx_parameters                 |  22 +
 ima/src/moc_SideBarWidget.cxx_parameters           |  22 +
 ima/src/moc_SnapshotList.cxx_parameters            |  22 +
 ima/src/moc_ToolButton.cxx_parameters              |  22 +
 imc/imc.1                                          |  40 +-
 imc/imc.rc                                         |   4 +-
 imc/imc.rc.in                                      |   4 +-
 imc/src/FileSystemBrowser.h                        |   4 +-
 imc/src/ImcCore.h                                  |   6 +-
 imc/src/KeyDirectoriesPage.h                       |   4 +-
 imc/src/KeyFileAssistant.h                         |   4 +-
 imc/src/KeyFileAssistantModePage.h                 |   4 +-
 imc/src/LogonAclSettings.h                         |   4 +-
 imc/src/LogonGroupEditor.h                         |   4 +-
 imc/src/MainWindow.h                               |   6 +-
 imc/src/SystemConfigurationModifier.cpp            |  20 +-
 imc/src/SystemConfigurationModifier.h              |   4 +-
 imc/src/Win32AclEditor.h                           |   4 +-
 imc/src/moc_FileSystemBrowser.cxx_parameters       |  22 +
 imc/src/moc_ImcCore.cxx_parameters                 |  22 +
 imc/src/moc_KeyDirectoriesPage.cxx_parameters      |  22 +
 imc/src/moc_KeyFileAssistant.cxx_parameters        |  22 +
 .../moc_KeyFileAssistantModePage.cxx_parameters    |  22 +
 imc/src/moc_LogonAclSettings.cxx_parameters        |  22 +
 imc/src/moc_LogonGroupEditor.cxx_parameters        |  22 +
 imc/src/moc_MainWindow.cxx_parameters              |  22 +
 .../moc_SystemConfigurationModifier.cxx_parameters |  22 +
 imc/src/moc_Win32AclEditor.cxx_parameters          |  22 +
 imc/src/moc_netfw.cxx_parameters                   |  22 +
 lib/include/AboutDialog.h                          |   4 +-
 lib/include/AuthenticationCredentials.h            |   6 +-
 lib/include/Configuration/LocalStore.h             |   6 +-
 lib/include/Configuration/Object.h                 |   4 +-
 lib/include/Configuration/Store.h                  |   4 +-
 lib/include/Configuration/UiMapping.h              |   6 +-
 lib/include/Configuration/XmlStore.h               |   4 +-
 .../Configuration/moc_LocalStore.cxx_parameters    |  22 +
 .../Configuration/moc_Object.cxx_parameters        |  22 +
 lib/include/Configuration/moc_Store.cxx_parameters |  22 +
 .../Configuration/moc_UiMapping.cxx_parameters     |  22 +
 .../Configuration/moc_XmlStore.cxx_parameters      |  22 +
 lib/include/DecoratedMessageBox.h                  |   4 +-
 lib/include/DsaKey.h                               |   6 +-
 lib/include/FastQImage.h                           |   9 +-
 lib/include/Inject.h                               |   6 +-
 lib/include/Ipc/Core.h                             |   6 +-
 lib/include/Ipc/Master.h                           |   6 +-
 lib/include/Ipc/QtSlaveLauncher.h                  |   4 +-
 lib/include/Ipc/Slave.h                            |   4 +-
 lib/include/Ipc/SlaveLauncher.h                    |   4 +-
 lib/include/Ipc/moc_Core.cxx_parameters            |  22 +
 lib/include/Ipc/moc_Master.cxx_parameters          |  22 +
 lib/include/Ipc/moc_QtSlaveLauncher.cxx_parameters |  22 +
 lib/include/Ipc/moc_Slave.cxx_parameters           |  22 +
 lib/include/Ipc/moc_SlaveLauncher.cxx_parameters   |  22 +
 lib/include/ItalcConfiguration.h                   |   4 +-
 lib/include/ItalcCore.h                            |   4 +-
 lib/include/ItalcCoreConnection.h                  |   4 +-
 lib/include/ItalcRfbExt.h                          |   6 +-
 lib/include/ItalcVncConnection.h                   |   4 +-
 lib/include/LocalSystem.h                          |   6 +-
 lib/include/LockWidget.h                           |   4 +-
 lib/include/Logger.h                               |   6 +-
 lib/include/LogonAuthentication.h                  |   4 +-
 lib/include/PasswordDialog.h                       |   4 +-
 lib/include/ProgressWidget.h                       |   4 +-
 lib/include/QtUserEvents.h                         |  55 --
 lib/include/QuadTree.h                             |   6 +-
 lib/include/Snapshot.h                             |   6 +-
 lib/include/SocketDevice.h                         |   4 +-
 lib/include/SystemKeyTrapper.h                     |   4 +-
 lib/include/VncView.h                              |   6 +-
 lib/include/moc_AboutDialog.cxx_parameters         |  22 +
 .../moc_AuthenticationCredentials.cxx_parameters   |  22 +
 lib/include/moc_DecoratedMessageBox.cxx_parameters |  22 +
 lib/include/moc_DsaKey.cxx_parameters              |  22 +
 lib/include/moc_FastQImage.cxx_parameters          |  22 +
 lib/include/moc_Inject.cxx_parameters              |  22 +
 lib/include/moc_ItalcConfiguration.cxx_parameters  |  22 +
 lib/include/moc_ItalcCore.cxx_parameters           |  22 +
 lib/include/moc_ItalcCoreConnection.cxx_parameters |  22 +
 lib/include/moc_ItalcRfbExt.cxx_parameters         |  22 +
 lib/include/moc_ItalcVncConnection.cxx_parameters  |  22 +
 lib/include/moc_LocalSystem.cxx_parameters         |  22 +
 lib/include/moc_LockWidget.cxx_parameters          |  22 +
 lib/include/moc_Logger.cxx_parameters              |  22 +
 lib/include/moc_LogonAuthentication.cxx_parameters |  22 +
 lib/include/moc_PasswordDialog.cxx_parameters      |  22 +
 lib/include/moc_ProgressWidget.cxx_parameters      |  22 +
 lib/include/moc_QuadTree.cxx_parameters            |  22 +
 lib/include/moc_Snapshot.cxx_parameters            |  22 +
 lib/include/moc_SocketDevice.cxx_parameters        |  22 +
 lib/include/moc_SystemKeyTrapper.cxx_parameters    |  22 +
 lib/include/moc_VncView.cxx_parameters             |  22 +
 lib/include/rfb/rfbclient.h                        |   4 +
 lib/include/rfb/rfbproto.h                         |  17 +
 lib/resources/ar.qm                                | Bin 64946 -> 64974 bytes
 lib/resources/ar.ts                                |  48 +-
 lib/resources/cs.ts                                |  20 +-
 lib/resources/de.qm                                | Bin 74498 -> 74065 bytes
 lib/resources/de.ts                                |  24 +-
 lib/resources/el.ts                                |  20 +-
 lib/resources/es.ts                                |  20 +-
 lib/resources/fi.ts                                |  20 +-
 lib/resources/fr.ts                                |  20 +-
 lib/resources/he.qm                                | Bin 41891 -> 42140 bytes
 lib/resources/he.ts                                |  30 +-
 lib/resources/hu.qm                                | Bin 77521 -> 77549 bytes
 lib/resources/hu.ts                                |   4 +-
 lib/resources/it.qm                                | Bin 80570 -> 80489 bytes
 lib/resources/it.ts                                |  20 +-
 lib/resources/nl.ts                                |  20 +-
 lib/resources/nn.ts                                |  20 +-
 lib/resources/pl.ts                                |  20 +-
 lib/resources/pt_br.qm                             | Bin 82629 -> 82657 bytes
 lib/resources/pt_br.ts                             |  16 +-
 lib/resources/ru.qm                                | Bin 77301 -> 77313 bytes
 lib/resources/ru.ts                                |   4 +-
 lib/resources/sk.ts                                |  20 +-
 lib/resources/sl.ts                                |  20 +-
 lib/resources/sv.qm                                | Bin 63325 -> 63248 bytes
 lib/resources/sv.ts                                |  20 +-
 lib/resources/tr.ts                                |  20 +-
 lib/resources/uk.qm                                | Bin 81737 -> 81308 bytes
 lib/resources/uk.ts                                |  22 +-
 lib/resources/zh_cn.ts                             |  20 +-
 lib/resources/zh_tw.qm                             | Bin 56587 -> 56196 bytes
 lib/resources/zh_tw.ts                             |  22 +-
 lib/src/Configuration/Object.cpp                   |   2 +-
 lib/src/ItalcVncConnection.cpp                     |  16 +-
 lib/src/VncView.cpp                                |   3 +-
 225 files changed, 3101 insertions(+), 693 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 71d86f0..f8ff3c6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -19,7 +19,7 @@ INCLUDE(Qt4Hacks)
 
 SET(VERSION_MAJOR "2")
 SET(VERSION_MINOR "0")
-SET(VERSION_PATCH "1")
+SET(VERSION_PATCH "2")
 SET(VERSION_SUFFIX "")
 SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
 IF(VERSION_SUFFIX)
@@ -81,6 +81,7 @@ CHECK_INCLUDE_FILES(linux/fb.h ITALC_HAVE_LINUX_FB_H)
 CHECK_INCLUDE_FILES(linux/input.h ITALC_HAVE_LINUX_INPUT_H)
 CHECK_INCLUDE_FILES(linux/uinput.h ITALC_HAVE_LINUX_UINPUT_H)
 CHECK_INCLUDE_FILES(linux/videodev.h ITALC_HAVE_LINUX_VIDEODEV_H)
+CHECK_INCLUDE_FILES(linux/videodev2.h ITALC_HAVE_LINUX_VIDEODEV2_H)
 
 IF(NOT ITALC_BUILD_WIN32)
 	FIND_PACKAGE(PAM REQUIRED)
diff --git a/COPYING b/COPYING
index db38e42..29aeaac 100644
--- a/COPYING
+++ b/COPYING
@@ -1,12 +1,12 @@
-		    GNU GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 2, June 1991
 
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
-			    Preamble
+                            Preamble
 
   The licenses for most software are designed to take away your
 freedom to share and change it.  By contrast, the GNU General Public
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users.  This
 General Public License applies to most of the Free Software
 Foundation's software and to any other program whose authors commit to
 using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
+the GNU Lesser General Public License instead.)  You can apply it to
 your programs, too.
 
   When we speak of free software, we are referring to freedom, not
@@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all.
 
   The precise terms and conditions for copying, distribution and
 modification follow.
-

-		    GNU GENERAL PUBLIC LICENSE
+
+                    GNU GENERAL PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
   0. This License applies to any program or other work which contains
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
     License.  (Exception: if the Program itself is interactive but
     does not normally print such an announcement, your work based on
     the Program is not required to print an announcement.)
-

+
 These requirements apply to the modified work as a whole.  If
 identifiable sections of that work are not derived from the Program,
 and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
 access to copy the source code from the same place counts as
 distribution of the source code, even though third parties are not
 compelled to copy the source along with the object code.
-

+
   4. You may not copy, modify, sublicense, or distribute the Program
 except as expressly provided under this License.  Any attempt
 otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@ impose that choice.
 
 This section is intended to make thoroughly clear what is believed to
 be a consequence of the rest of this License.
-

+
   8. If the distribution and/or use of the Program is restricted in
 certain countries either by patents or by copyrighted interfaces, the
 original copyright holder who places the Program under this License
@@ -255,7 +255,7 @@ make exceptions for this.  Our decision will be guided by the two goals
 of preserving the free status of all derivatives of our free software and
 of promoting the sharing and reuse of software generally.
 
-			    NO WARRANTY
+                            NO WARRANTY
 
   11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
@@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGES.
 
-		     END OF TERMS AND CONDITIONS
-

-	    How to Apply These Terms to Your New Programs
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
 possible use to the public, the best way to achieve this is to make it
@@ -291,7 +291,7 @@ convey the exclusion of warranty; and each file should have at least
 the "copyright" line and a pointer to where the full notice is found.
 
     <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) 19yy  <name of author>
+    Copyright (C) <year>  <name of author>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -303,17 +303,16 @@ the "copyright" line and a pointer to where the full notice is found.
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 Also add information on how to contact you by electronic and paper mail.
 
 If the program is interactive, make it output a short notice like this
 when it starts in an interactive mode:
 
-    Gnomovision version 69, Copyright (C) 19yy name of author
+    Gnomovision version 69, Copyright (C) year name of author
     Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
     This is free software, and you are welcome to redistribute it
     under certain conditions; type `show c' for details.
@@ -336,7 +335,7 @@ necessary.  Here is a sample; alter the names:
 This General Public License does not permit incorporating your program into
 proprietary programs.  If your program is a subroutine library, you may
 consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
+library.  If this is what you want to do, use the GNU Lesser General
 Public License instead of this License.
 
 -------------------------------------------------------------------------
diff --git a/INSTALL b/INSTALL
index 9394ea6..0a46541 100644
--- a/INSTALL
+++ b/INSTALL
@@ -29,6 +29,7 @@ Requirements:
 - libjpeg62-dev/libjpeg-devel
 - zlib1g-dev/zlib-devel
 - libssl-dev/openssl-devel
+- libpam0g-dev/pam-devel
 
 Of course GCC/G++ must not be missing...
 
diff --git a/README b/README
index 25c5e1f..a13ce65 100644
--- a/README
+++ b/README
@@ -6,18 +6,19 @@ Copyright (c) 2004-2013 Tobias Doerffel
 
 
 
-The whole program with all its components is free software; you can
-redistribute it and/or modify it under the terms of the GNU General Public
-License as published by the Free Software Foundation; either version 2 of
-the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along with
-this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-Place - Suite 330, Boston, MA  02111-1307, USA
+This program is free software; you can redistribute it and/or modify 
+it under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2 of the License, or (at your option)
+any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 
 
diff --git a/cmake/modules/DetectMachine.cmake b/cmake/modules/DetectMachine.cmake
index e0d4586..5e27048 100644
--- a/cmake/modules/DetectMachine.cmake
+++ b/cmake/modules/DetectMachine.cmake
@@ -35,10 +35,6 @@ ENDIF(IS_X86)
 IF(CMAKE_INSTALL_LIBDIR)
     SET(LIB_DIR "${CMAKE_INSTALL_LIBDIR}")
 ELSE(CMAKE_INSTALL_LIBDIR)
-    IF(ITALC_HOST_X86_64)
-        SET(LIB_DIR lib64)
-    ELSE(ITALC_HOST_X86_64)
-        SET(LIB_DIR lib)
-    ENDIF(ITALC_HOST_X86_64)
+	SET(LIB_DIR lib)
 ENDIF(CMAKE_INSTALL_LIBDIR)
 
diff --git a/doc/CrossCompilingForWindows.txt b/doc/CrossCompilingForWindows.txt
index cf38da3..ae0902d 100644
--- a/doc/CrossCompilingForWindows.txt
+++ b/doc/CrossCompilingForWindows.txt
@@ -1,13 +1,13 @@
 Cross compiling iTALC for Windows on Linux
 ==========================================
 
-- Create an Ubuntu 10.04 installation, e.g. by using the netboot installer at
+- Create an Ubuntu 12.04 installation, e.g. by using the netboot installer at
 
-    http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-i386/current/images/netboot/mini.iso
+    http://archive.ubuntu.com/ubuntu/dists/precise/main/installer-i386/current/images/netboot/mini.iso
 
 - Add the following line to your /etc/apt/sources.list
 
-    deb http://ppa.launchpad.net/tobydox/mingw/ubuntu lucid main
+    deb http://ppa.launchpad.net/tobydox/mingw/ubuntu precise main
 
   and update your package list cache (e.g. apt-get update or similiar)
 
@@ -21,8 +21,9 @@ Cross compiling iTALC for Windows on Linux
   * mingw32-x-zlib
   * mingw32-x-openssl
   * mingw32-x-libjpeg
+  * mingw32-x-libpng
   * mingw32-x-pthreads
-  * gcj
+  * gcj-jdk
 
 - Change into the iTALC source directory and type
 
diff --git a/iTALC.nsi.in b/iTALC.nsi.in
index 00df81d..916f104 100644
--- a/iTALC.nsi.in
+++ b/iTALC.nsi.in
@@ -1,4 +1,5 @@
 !define DLLDIR "@MINGW_PREFIX@/bin"
+!define SYSTEM_DLLDIR "@MINGW_PREFIX@/@CMAKE_SYSTEM_PROCESSOR at -w64-mingw32/bin"
 !define APP_NAME "iTALC"
 !define COMP_NAME "iTALC Solutions Inc."
 !define WEB_SITE "http://italc.sf.net"
@@ -153,10 +154,11 @@ File "${DLLDIR}\QtGui4.dll"
 File "${DLLDIR}\QtXml4.dll"
 File "${DLLDIR}\QtNetwork4.dll"
 File "${DLLDIR}\zlib1.dll"
-File "${DLLDIR}\libjpeg-8.dll"
+File "${DLLDIR}\libjpeg-9.dll"
 File "${DLLDIR}\libeay32.dll"
 File "${DLLDIR}\libssl32.dll"
-File "${DLLDIR}\libpng15-15.dll"
+File "${DLLDIR}\libpng16-16.dll"
+File "${SYSTEM_DLLDIR}\libwinpthread-1.dll"
 # core components
 File "italc-${VERSION}\ica.exe"
 File "italc-${VERSION}\vnchooks.dll"
@@ -244,11 +246,12 @@ ExecWait '"$INSTDIR\ica.exe" -quiet -unregisterservice'
 # make sure the service is stopped and all file handles are released
 Sleep 2000
 Delete "$INSTDIR\ica.exe"
+Delete "$INSTDIR\libwinpthread-1.dll"
 Delete "$INSTDIR\zlib1.dll"
-Delete "$INSTDIR\libjpeg-8.dll"
+Delete "$INSTDIR\libjpeg-9.dll"
 Delete "$INSTDIR\QtXml4.dll"
 Delete "$INSTDIR\libeay32.dll"
-Delete "$INSTDIR\libpng15-15.dll"
+Delete "$INSTDIR\libpng16-16.dll"
 Delete "$INSTDIR\QtNetwork4.dll"
 Delete "$INSTDIR\QtCore4.dll"
 Delete "$INSTDIR\libssl32.dll"
diff --git a/ica/ica.1 b/ica/ica.1
index 301b5fe..1e87dbf 100644
--- a/ica/ica.1
+++ b/ica/ica.1
@@ -2,7 +2,7 @@
 .\" First parameter, NAME, should be all caps
 .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
 .\" other parameters are allowed: see man(7), man(1)
-.TH ICA 1 "April 30, 2007"
+.TH ICA 1 2013-08-12 iTALC
 .\" Please adjust this date whenever revising the manpage.
 .\"
 .\" Some roff macros, for reference:
@@ -29,20 +29,19 @@ ica \- iTALC Client Application
 .\" \fI<whatever>\fP escape sequences to invode bold face and italics, 
 .\" respectively.
 .B ICA
-is the software which needs to run on clients in order to access them using iTALC master application. It provides a VNC-server and a service-daemon which is neccessary for taking control over the client.
+is the software which needs to run on clients in order to access them using iTALC master application. It provides a VNC server and a service daemon which is neccessary for taking control over the client.
 
-.SH OPTIONS
+.SH iTALC OPTIONS
 .IP "\fB\-role\fP \fIrole\fP
 .IP
-Set role under which ICA should run where \fIrole\fP has to be "teacher", "admin", "supporter" or "other". This is mainly used in combination with the \fB-createkeypair\fP option.
-.IP "\fB\-ivsport\fP \fIport\fP
+Set role under which ICA should run where \fIrole\fP has to be "teacher", "admin", "supporter" or "other".
+.IP "\fB\-port\fP \fIport\fP
 .IP
-Set port at which the iTALC-VNC-server should listen. Default: 11100
-.
-.IP "\fB\-isdport\fP \fIport\fP
-.IP
-Set port at which the iTALC-service-daemon should listen. Default: 11200
-.
+Set port at which the iTALC VNC server should listen. Default: 11100
+.PP
+The \fB\-createkeypair\fP option has been moved to the iTALC Management Console \fBimc\fP since iTALC 2.0.0.
+
+.SH X11VNC OPTIONS
 .IP \fB-noshm\fR
 .IP
 Do not use the MIT-SHM extension for the polling.
@@ -56,15 +55,47 @@ of shm segments and \fB-onetile\fR is not sufficient.
 Do not use the new copy_tiles() framebuffer mechanism,
 just use 1 shm tile for polling.  Limits shm segments
 used to 3.
-.
-.IP "\fB\-createkeypair\fP \fI[private-key-file] [public-key-file]\fP
+.PP
+\fB-nosel\fR
+.IP
+ Do not manage exchange of X selection/cutbuffer between VNC viewers and the X server at all.
+.PP
+\fB-nosetclipboard\fR
+.IP
+Do not set the CLIPBOARD selection for changes received from VNC clients.
+.PP
+\fB-solid\fR \fI[color]\fR
+.IP
+To improve performance, when VNC clients are connected try to change the desktop background to a solid color.  The [color] is optional: the
+default color is "cyan4".  For a different one specify the X color (rgb.txt name, e.g. "darkblue" or numerical "#RRGGBB").
 .IP
-Create a new key pair for authentication between master and client. Until specified with \fB-role\fP the key-pair will be created for role "other". The keys either will be saved under given file-names or the default ones according to the selected role (/etc/italc/keys/private/<role>/key and /etc/italc/keys/public/<role>/key).
+Currently  this  option only works on GNOME, KDE3, CDE, XFCE, and classic X (i.e. with the background image on the root window).  The "gconftool-2",
+"dcop" and "xfconf-query" external commands are run for GNOME, KDE, and XFCE respectively.
+(There  is  no  color selection for XFCE.)  Other desktops won't work, (send us the corresponding commands if you find them).
+.IP
+
+.PP
+\fB-xrandr\fR \fI[mode]\fR
+.IP
+If  the display supports the XRANDR (X Resize, Rotate and Reflection) extension, and you expect XRANDR events to occur to the display while
+x11vnc is running, this options indicates x11vnc should try to respond to them (as opposed to simply crashing by assuming  the  old  screen
+size).  See the xrandr(1) manpage and run ´xrandr -q' for more info.  [mode] is optional and described below.
+.IP
+Since  watching for XRANDR events and trapping errors increases polling overhead, only use this option if XRANDR changes are expected.  For
+example on a rotatable screen PDA or laptop, or using a XRANDR-aware Desktop where you resize often.  It is  best  to  be  viewing  with  a
+vncviewer that supports the NewFBSize encoding, since it knows how to react to screen size changes.  Otherwise, LibVNCServer tries to do so
+something reasonable for viewers that cannot do this (portions of the screen may be clipped, unused, etc).
+.IP
+"mode"  defaults  to  "resize",  which means create a new, resized, framebuffer and hope all viewers can cope with the change.  "newfbsize"
+means first disconnect all viewers that do not support the NewFBSize VNC encoding, and then resize the framebuffer.  "exit"  means  disconnect
+all viewer clients, and then terminate x11vnc.
+.PP
 .SH SEE ALSO
-.IR italc (1),
+.IR italc (1), imc (8), italc_auth_helper (1)
+.PP
 .IR http://italc.sf.net/
 
 .SH AUTHOR
-iTALC was written by Tobias Doerffel. See AUTHORS for details.
+iTALC has been written by Tobias Doerffel. See AUTHORS for details.
 .PP
-This manual page was written by Tobias Doerffel <tobydox /at/ users /dot/ sf /dot/ net>, for the Debian project (but may be used by others).
+This manual page has been written by Tobias Doerffel and updated by Mike Gabriel. It was originally written for the Debian project (but may be used by others).
diff --git a/ica/ica.rc b/ica/ica.rc
index 666a587..ca6b2dd 100644
--- a/ica/ica.rc
+++ b/ica/ica.rc
@@ -11,7 +11,7 @@ IDR_VNCVIEWER_JAR       JAVAARCHIVE             "JavaViewer/VncViewer.jar"
 
 
 VS_VERSION_INFO	VERSIONINFO
-  FILEVERSION	2,0,1,0
+  FILEVERSION	2,0,2,0
   FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
   FILEOS	VOS_NT_WINDOWS32
   FILETYPE	VFT_APP
@@ -26,7 +26,7 @@ BEGIN
       VALUE "CompanyName",	"iTALC Solutions\0"
       VALUE "FileDescription",	"iTALC Client Application\0"
       VALUE "FileVersion",	"\0"
-      VALUE "LegalCopyright",	"Copyright (c) 2004-2013 Tobias Doerffel\0"
+      VALUE "LegalCopyright",	"Copyright (c) 2004-2014 Tobias Doerffel\0"
       VALUE "OriginalFilename",	"ica.exe\0"
       VALUE "ProductName",	"iTALC\0"
       VALUE "ProductVersion",	"\0"
diff --git a/ica/ica.rc.in b/ica/ica.rc.in
index ed9cbae..2c0dc78 100644
--- a/ica/ica.rc.in
+++ b/ica/ica.rc.in
@@ -11,7 +11,7 @@ IDR_VNCVIEWER_JAR       JAVAARCHIVE             "JavaViewer/VncViewer.jar"
 
 
 VS_VERSION_INFO	VERSIONINFO
-  FILEVERSION	2,0,1,0
+  FILEVERSION	2,0,2,0
   FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
   FILEOS	VOS_NT_WINDOWS32
   FILETYPE	VFT_APP
@@ -26,7 +26,7 @@ BEGIN
       VALUE "CompanyName",	"iTALC Solutions\0"
       VALUE "FileDescription",	"iTALC Client Application\0"
       VALUE "FileVersion",	"@PACKAGE_VERSION@\0"
-      VALUE "LegalCopyright",	"Copyright (c) 2004-2013 Tobias Doerffel\0"
+      VALUE "LegalCopyright",	"Copyright (c) 2004-2014 Tobias Doerffel\0"
       VALUE "OriginalFilename",	"ica.exe\0"
       VALUE "ProductName",	"iTALC\0"
       VALUE "ProductVersion",	"@PACKAGE_VERSION@\0"
diff --git a/ica/src/AccessDialogSlave.h b/ica/src/AccessDialogSlave.h
index 7de24db..daaf076 100644
--- a/ica/src/AccessDialogSlave.h
+++ b/ica/src/AccessDialogSlave.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _ACCESS_DIALOG_SLAVE_H
-#define _ACCESS_DIALOG_SLAVE_H
+#ifndef ACCESS_DIALOG_SLAVE_H
+#define ACCESS_DIALOG_SLAVE_H
 
 #include "IcaSlave.h"
 
diff --git a/ica/src/DemoClient.h b/ica/src/DemoClient.h
index 1ba6799..83d28ef 100644
--- a/ica/src/DemoClient.h
+++ b/ica/src/DemoClient.h
@@ -1,7 +1,7 @@
 /*
  * DemoClient.h - client for demo-server
  *
- * Copyright (c) 2006-2009 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2006-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -23,8 +23,8 @@
  */
 
 
-#ifndef _DEMO_CLIENT_H
-#define _DEMO_CLIENT_H
+#ifndef DEMO_CLIENT_H
+#define DEMO_CLIENT_H
 
 #include <QtCore/QObject>
 
diff --git a/ica/src/DemoClientSlave.h b/ica/src/DemoClientSlave.h
index 66842f4..f3ebfd4 100644
--- a/ica/src/DemoClientSlave.h
+++ b/ica/src/DemoClientSlave.h
@@ -1,7 +1,7 @@
 /*
  * DemoClientSlave.h - an IcaSlave providing the demo window
  *
- * Copyright (c) 2010 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2010-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  * Copyright (c) 2010 Univention GmbH
  *
  * This file is part of iTALC - http://italc.sourceforge.net
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _DEMO_CLIENT_SLAVE_H
-#define _DEMO_CLIENT_SLAVE_H
+#ifndef DEMO_CLIENT_SLAVE_H
+#define DEMO_CLIENT_SLAVE_H
 
 #include "IcaSlave.h"
 
diff --git a/ica/src/DemoServer.h b/ica/src/DemoServer.h
index 848401f..f93f065 100644
--- a/ica/src/DemoServer.h
+++ b/ica/src/DemoServer.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _DEMO_SERVER_H
-#define _DEMO_SERVER_H
+#ifndef DEMO_SERVER_H
+#define DEMO_SERVER_H
 
 #include <QtCore/QPair>
 #include <QtCore/QReadWriteLock>
diff --git a/ica/src/DemoServerMaster.h b/ica/src/DemoServerMaster.h
index 916cf46..0aafb4f 100644
--- a/ica/src/DemoServerMaster.h
+++ b/ica/src/DemoServerMaster.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _DEMO_SERVER_MASTER_H
-#define _DEMO_SERVER_MASTER_H
+#ifndef DEMO_SERVER_MASTER_H
+#define DEMO_SERVER_MASTER_H
 
 #include <QtCore/QStringList>
 
diff --git a/ica/src/DemoServerSlave.h b/ica/src/DemoServerSlave.h
index 2ad01a1..0d88e1b 100644
--- a/ica/src/DemoServerSlave.h
+++ b/ica/src/DemoServerSlave.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _DEMO_SERVER_SLAVE_H
-#define _DEMO_SERVER_SLAVE_H
+#ifndef DEMO_SERVER_SLAVE_H
+#define DEMO_SERVER_SLAVE_H
 
 #include "IcaSlave.h"
 #include "ItalcCoreServer.h"
diff --git a/ica/src/DesktopAccessPermission.h b/ica/src/DesktopAccessPermission.h
index 588f4d7..5cfc1af 100644
--- a/ica/src/DesktopAccessPermission.h
+++ b/ica/src/DesktopAccessPermission.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _DESKTOP_ACCESS_PERMISSION_H
-#define _DESKTOP_ACCESS_PERMISSION_H
+#ifndef DESKTOP_ACCESS_PERMISSION_H
+#define DESKTOP_ACCESS_PERMISSION_H
 
 #include <QtCore/QString>
 
diff --git a/ica/src/IcaSlave.h b/ica/src/IcaSlave.h
index b292ad4..3ac4eea 100644
--- a/ica/src/IcaSlave.h
+++ b/ica/src/IcaSlave.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _ICA_SLAVE_H
-#define _ICA_SLAVE_H
+#ifndef ICA_SLAVE_H
+#define ICA_SLAVE_H
 
 #include <QtCore/QCoreApplication>
 #include <QtCore/QStringList>
diff --git a/ica/src/InputLockSlave.h b/ica/src/InputLockSlave.h
index 7b71ddd..a266812 100644
--- a/ica/src/InputLockSlave.h
+++ b/ica/src/InputLockSlave.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _INPUT_LOCK_SLAVE_H
-#define _INPUT_LOCK_SLAVE_H
+#ifndef INPUT_LOCK_SLAVE_H
+#define INPUT_LOCK_SLAVE_H
 
 #include "IcaSlave.h"
 
diff --git a/ica/src/ItalcCoreServer.h b/ica/src/ItalcCoreServer.h
index efb77a3..02b0bdc 100644
--- a/ica/src/ItalcCoreServer.h
+++ b/ica/src/ItalcCoreServer.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _ITALC_CORE_SERVER_H
-#define _ITALC_CORE_SERVER_H
+#ifndef ITALC_CORE_SERVER_H
+#define ITALC_CORE_SERVER_H
 
 #include <QtCore/QMutex>
 #include <QtCore/QStringList>
diff --git a/ica/src/ItalcSlaveManager.h b/ica/src/ItalcSlaveManager.h
index ff2e7a0..5f92fa1 100644
--- a/ica/src/ItalcSlaveManager.h
+++ b/ica/src/ItalcSlaveManager.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _ITALC_SLAVE_MANAGER_H
-#define _ITALC_SLAVE_MANAGER_H
+#ifndef ITALC_SLAVE_MANAGER_H
+#define ITALC_SLAVE_MANAGER_H
 
 #include "Ipc/Master.h"
 #include "DemoServerMaster.h"
diff --git a/ica/src/ItalcVncServer.cpp b/ica/src/ItalcVncServer.cpp
index c63608a..70e3ee9 100644
--- a/ica/src/ItalcVncServer.cpp
+++ b/ica/src/ItalcVncServer.cpp
@@ -2,7 +2,7 @@
  * ItalcVncServer.cpp - implementation of ItalcVncServer, a VNC-server-
  *                      abstraction for platform independent VNC-server-usage
  *
- * Copyright (c) 2006-2010 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2006-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -251,7 +251,7 @@ static void runX11vnc( QStringList cmdline, int port, bool plainVnc )
 	// workaround for x11vnc when running in an NX session
 	foreach( const QString &s, QProcess::systemEnvironment() )
 	{
-		if( s.startsWith( "NXSESSIONID=" ) )
+		if( s.startsWith( "NXSESSIONID=" ) || s.startsWith( "X2GO_SESSION=" ) )
 		{
 			cmdline << "-noxdamage";
 		}
@@ -270,35 +270,38 @@ static void runX11vnc( QStringList cmdline, int port, bool plainVnc )
 		strcpy( argv[argc], it->toUtf8().constData() );
 	}
 
-	if( plainVnc == false )
+	static bool firstTime = true;
+
+	if( firstTime )
 	{
-		// register iTALC protocol extension
-		rfbProtocolExtension pe;
-		pe.newClient = italcCoreNewClient;
-		pe.init = NULL;
-		pe.enablePseudoEncoding = NULL;
-		pe.pseudoEncodings = NULL;
-		pe.handleMessage = lvs_italcHandleMessage;
-		pe.close = NULL;
-		pe.usage = NULL;
-		pe.processArgument = NULL;
-		pe.next = NULL;
-		rfbRegisterProtocolExtension( &pe );
-	}
+		if( plainVnc == false )
+		{
+			// register iTALC protocol extension
+			static rfbProtocolExtension pe;
 
-	// register handler for iTALC's security-type
-	rfbSecurityHandler shi = { rfbSecTypeItalc, lvs_italcSecurityHandler, NULL };
-	rfbRegisterSecurityHandler( &shi );
+			// initialize all pointers inside the struct to NULL
+			memset( &pe, 0, sizeof( pe ) );
 
-#ifndef ITALC_BUILD_WIN32
-	// register handler for MS Logon II security type
-	rfbSecurityHandler shmsl = { rfbUltraVNC_MsLogonIIAuth, lvs_msLogonIISecurityHandler, NULL };
-	rfbRegisterSecurityHandler( &shmsl );
+			// register our own handlers
+			pe.newClient = italcCoreNewClient;
+			pe.handleMessage = lvs_italcHandleMessage;
 
-	rfbSecurityHandler shmsl_legacy = { rfbMSLogon, lvs_msLogonIISecurityHandler, NULL };
-	rfbRegisterSecurityHandler( &shmsl_legacy );
+			rfbRegisterProtocolExtension( &pe );
+		}
+
+		// register handler for iTALC's security-type
+		static rfbSecurityHandler shi = { rfbSecTypeItalc, lvs_italcSecurityHandler, NULL };
+		rfbRegisterSecurityHandler( &shi );
+
+#ifndef ITALC_BUILD_WIN32
+		// register handler for MS Logon II security type
+		static rfbSecurityHandler shmsl = { rfbUltraVNC_MsLogonIIAuth, lvs_msLogonIISecurityHandler, NULL };
+		rfbRegisterSecurityHandler( &shmsl );
 #endif
 
+		firstTime = false;
+	}
+
 	// run x11vnc-server
 	x11vnc_main( argc, argv );
 
@@ -308,11 +311,6 @@ static void runX11vnc( QStringList cmdline, int port, bool plainVnc )
 
 void ItalcVncServer::runVncReflector( int srcPort, int dstPort )
 {
-#ifdef ITALC_BUILD_WIN32
-	pthread_win32_process_attach_np();
-	pthread_win32_thread_attach_np();
-#endif
-
 	QStringList args;
 	args << "-viewonly"
 		<< "-reflect"
@@ -326,11 +324,6 @@ void ItalcVncServer::runVncReflector( int srcPort, int dstPort )
 	{
 		runX11vnc( args, dstPort, true );
 	}
-
-#ifdef ITALC_BUILD_WIN32
-	pthread_win32_thread_detach_np();
-	pthread_win32_process_detach_np();
-#endif
 }
 
 
diff --git a/ica/src/ItalcVncServer.h b/ica/src/ItalcVncServer.h
index e9b88ce..9732472 100644
--- a/ica/src/ItalcVncServer.h
+++ b/ica/src/ItalcVncServer.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _ITALC_VNC_SERVER_H
-#define _ITALC_VNC_SERVER_H
+#ifndef ITALC_VNC_SERVER_H
+#define ITALC_VNC_SERVER_H
 
 #include <QtCore/QThread>
 
diff --git a/ica/src/MessageBoxSlave.h b/ica/src/MessageBoxSlave.h
index b61165e..6332758 100644
--- a/ica/src/MessageBoxSlave.h
+++ b/ica/src/MessageBoxSlave.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _MESSAGE_BOX_SLAVE_H
-#define _MESSAGE_BOX_SLAVE_H
+#ifndef MESSAGE_BOX_SLAVE_H
+#define MESSAGE_BOX_SLAVE_H
 
 #include "IcaSlave.h"
 
diff --git a/ica/src/RfbItalcCursor.h b/ica/src/RfbItalcCursor.h
index ae3cc73..8befe9b 100644
--- a/ica/src/RfbItalcCursor.h
+++ b/ica/src/RfbItalcCursor.h
@@ -25,8 +25,8 @@
  *
  */
 
-#ifndef _RFB_ITALC_CURSOR_H
-#define _RFB_ITALC_CURSOR_H
+#ifndef RFB_ITALC_CURSOR_H
+#define RFB_ITALC_CURSOR_H
 
 #define rfbEncodingItalcCursor 31
 
diff --git a/ica/src/RfbLZORLE.h b/ica/src/RfbLZORLE.h
index e98d4aa..6086837 100644
--- a/ica/src/RfbLZORLE.h
+++ b/ica/src/RfbLZORLE.h
@@ -25,8 +25,8 @@
  *
  */
 
-#ifndef _RFB_LZO_RLE_H
-#define _RFB_LZO_RLE_H
+#ifndef RFB_LZO_RLE_H
+#define RFB_LZO_RLE_H
 
 #include <stdint.h>
 
diff --git a/ica/src/ScreenLockSlave.h b/ica/src/ScreenLockSlave.h
index 5b90877..9377775 100644
--- a/ica/src/ScreenLockSlave.h
+++ b/ica/src/ScreenLockSlave.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _SCREEN_LOCK_SLAVE_H
-#define _SCREEN_LOCK_SLAVE_H
+#ifndef SCREEN_LOCK_SLAVE_H
+#define SCREEN_LOCK_SLAVE_H
 
 #include "IcaSlave.h"
 
diff --git a/ica/src/ScreenLockSlaveLauncher.h b/ica/src/ScreenLockSlaveLauncher.h
index ec695b4..0a23589 100644
--- a/ica/src/ScreenLockSlaveLauncher.h
+++ b/ica/src/ScreenLockSlaveLauncher.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _SCREEN_LOCK_SLAVE_LAUNCHER_H
-#define _SCREEN_LOCK_SLAVE_LAUNCHER_H
+#ifndef SCREEN_LOCK_SLAVE_LAUNCHER_H
+#define SCREEN_LOCK_SLAVE_LAUNCHER_H
 
 #include <italcconfig.h>
 
diff --git a/ica/src/SystemTrayIconSlave.h b/ica/src/SystemTrayIconSlave.h
index 1c416f7..518d994 100644
--- a/ica/src/SystemTrayIconSlave.h
+++ b/ica/src/SystemTrayIconSlave.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _SYSTEM_TRAY_ICON_SLAVE_H
-#define _SYSTEM_TRAY_ICON_SLAVE_H
+#ifndef SYSTEM_TRAY_ICON_SLAVE_H
+#define SYSTEM_TRAY_ICON_SLAVE_H
 
 #include <QtGui/QSystemTrayIcon>
 
diff --git a/ica/src/WindowsService.h b/ica/src/WindowsService.h
index 2ec3504..63f66dd 100644
--- a/ica/src/WindowsService.h
+++ b/ica/src/WindowsService.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _WINDOWS_SERVICE_H
-#define _WINDOWS_SERVICE_H
+#ifndef WINDOWS_SERVICE_H
+#define WINDOWS_SERVICE_H
 
 #include <italcconfig.h>
 
diff --git a/ica/src/moc_AccessDialogSlave.cxx_parameters b/ica/src/moc_AccessDialogSlave.cxx_parameters
new file mode 100644
index 0000000..ae59c61
--- /dev/null
+++ b/ica/src/moc_AccessDialogSlave.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_AccessDialogSlave.cxx
+/tmp/foo/ica/src/AccessDialogSlave.h
diff --git a/ica/src/moc_DemoClient.cxx_parameters b/ica/src/moc_DemoClient.cxx_parameters
new file mode 100644
index 0000000..eedf96a
--- /dev/null
+++ b/ica/src/moc_DemoClient.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_DemoClient.cxx
+/tmp/foo/ica/src/DemoClient.h
diff --git a/ica/src/moc_DemoClientSlave.cxx_parameters b/ica/src/moc_DemoClientSlave.cxx_parameters
new file mode 100644
index 0000000..9be940f
--- /dev/null
+++ b/ica/src/moc_DemoClientSlave.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_DemoClientSlave.cxx
+/tmp/foo/ica/src/DemoClientSlave.h
diff --git a/ica/src/moc_DemoServer.cxx_parameters b/ica/src/moc_DemoServer.cxx_parameters
new file mode 100644
index 0000000..a0a1d51
--- /dev/null
+++ b/ica/src/moc_DemoServer.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_DemoServer.cxx
+/tmp/foo/ica/src/DemoServer.h
diff --git a/ica/src/moc_DemoServerMaster.cxx_parameters b/ica/src/moc_DemoServerMaster.cxx_parameters
new file mode 100644
index 0000000..4f789eb
--- /dev/null
+++ b/ica/src/moc_DemoServerMaster.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_DemoServerMaster.cxx
+/tmp/foo/ica/src/DemoServerMaster.h
diff --git a/ica/src/moc_DemoServerSlave.cxx_parameters b/ica/src/moc_DemoServerSlave.cxx_parameters
new file mode 100644
index 0000000..edf79f0
--- /dev/null
+++ b/ica/src/moc_DemoServerSlave.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_DemoServerSlave.cxx
+/tmp/foo/ica/src/DemoServerSlave.h
diff --git a/ica/src/moc_DesktopAccessPermission.cxx_parameters b/ica/src/moc_DesktopAccessPermission.cxx_parameters
new file mode 100644
index 0000000..c298c0a
--- /dev/null
+++ b/ica/src/moc_DesktopAccessPermission.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_DesktopAccessPermission.cxx
+/tmp/foo/ica/src/DesktopAccessPermission.h
diff --git a/ica/src/moc_IcaSlave.cxx_parameters b/ica/src/moc_IcaSlave.cxx_parameters
new file mode 100644
index 0000000..9d04ad6
--- /dev/null
+++ b/ica/src/moc_IcaSlave.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_IcaSlave.cxx
+/tmp/foo/ica/src/IcaSlave.h
diff --git a/ica/src/moc_InputLockSlave.cxx_parameters b/ica/src/moc_InputLockSlave.cxx_parameters
new file mode 100644
index 0000000..a57dc95
--- /dev/null
+++ b/ica/src/moc_InputLockSlave.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_InputLockSlave.cxx
+/tmp/foo/ica/src/InputLockSlave.h
diff --git a/ica/src/moc_ItalcCoreServer.cxx_parameters b/ica/src/moc_ItalcCoreServer.cxx_parameters
new file mode 100644
index 0000000..0035a0c
--- /dev/null
+++ b/ica/src/moc_ItalcCoreServer.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_ItalcCoreServer.cxx
+/tmp/foo/ica/src/ItalcCoreServer.h
diff --git a/ica/src/moc_ItalcSlaveManager.cxx_parameters b/ica/src/moc_ItalcSlaveManager.cxx_parameters
new file mode 100644
index 0000000..7e04cbc
--- /dev/null
+++ b/ica/src/moc_ItalcSlaveManager.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_ItalcSlaveManager.cxx
+/tmp/foo/ica/src/ItalcSlaveManager.h
diff --git a/ica/src/moc_ItalcVncServer.cxx_parameters b/ica/src/moc_ItalcVncServer.cxx_parameters
new file mode 100644
index 0000000..904b650
--- /dev/null
+++ b/ica/src/moc_ItalcVncServer.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_ItalcVncServer.cxx
+/tmp/foo/ica/src/ItalcVncServer.h
diff --git a/ica/src/moc_MessageBoxSlave.cxx_parameters b/ica/src/moc_MessageBoxSlave.cxx_parameters
new file mode 100644
index 0000000..2dbcf92
--- /dev/null
+++ b/ica/src/moc_MessageBoxSlave.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_MessageBoxSlave.cxx
+/tmp/foo/ica/src/MessageBoxSlave.h
diff --git a/ica/src/moc_RfbItalcCursor.cxx_parameters b/ica/src/moc_RfbItalcCursor.cxx_parameters
new file mode 100644
index 0000000..be06a91
--- /dev/null
+++ b/ica/src/moc_RfbItalcCursor.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_RfbItalcCursor.cxx
+/tmp/foo/ica/src/RfbItalcCursor.h
diff --git a/ica/src/moc_RfbLZORLE.cxx_parameters b/ica/src/moc_RfbLZORLE.cxx_parameters
new file mode 100644
index 0000000..87f2417
--- /dev/null
+++ b/ica/src/moc_RfbLZORLE.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_RfbLZORLE.cxx
+/tmp/foo/ica/src/RfbLZORLE.h
diff --git a/ica/src/moc_ScreenLockSlave.cxx_parameters b/ica/src/moc_ScreenLockSlave.cxx_parameters
new file mode 100644
index 0000000..e8c9a7a
--- /dev/null
+++ b/ica/src/moc_ScreenLockSlave.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_ScreenLockSlave.cxx
+/tmp/foo/ica/src/ScreenLockSlave.h
diff --git a/ica/src/moc_ScreenLockSlaveLauncher.cxx_parameters b/ica/src/moc_ScreenLockSlaveLauncher.cxx_parameters
new file mode 100644
index 0000000..b07506a
--- /dev/null
+++ b/ica/src/moc_ScreenLockSlaveLauncher.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_ScreenLockSlaveLauncher.cxx
+/tmp/foo/ica/src/ScreenLockSlaveLauncher.h
diff --git a/ica/src/moc_SystemTrayIconSlave.cxx_parameters b/ica/src/moc_SystemTrayIconSlave.cxx_parameters
new file mode 100644
index 0000000..420c98c
--- /dev/null
+++ b/ica/src/moc_SystemTrayIconSlave.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_SystemTrayIconSlave.cxx
+/tmp/foo/ica/src/SystemTrayIconSlave.h
diff --git a/ica/src/moc_WindowsService.cxx_parameters b/ica/src/moc_WindowsService.cxx_parameters
new file mode 100644
index 0000000..a1e55e7
--- /dev/null
+++ b/ica/src/moc_WindowsService.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ica/src/moc_WindowsService.cxx
+/tmp/foo/ica/src/WindowsService.h
diff --git a/ica/win32/winvnc/winvnc/Dtwinver.cpp b/ica/win32/winvnc/winvnc/Dtwinver.cpp
index 6db2ce8..ef43635 100644
--- a/ica/win32/winvnc/winvnc/Dtwinver.cpp
+++ b/ica/win32/winvnc/winvnc/Dtwinver.cpp
@@ -589,7 +589,7 @@ DWORD COSVersion::GetVersion()
 BOOL COSVersion::GetVersion(LPOS_VERSION_INFO lpVersionInformation)
 {
   //Zero out everything in the structure
-  memset(lpVersionInformation, 0, sizeof(lpVersionInformation));
+  memset(lpVersionInformation, 0, sizeof(*lpVersionInformation));
                 
   #ifdef UNDER_CE
     OSVERSIONINFO osvi;
diff --git a/ica/win32/winvnc/winvnc/httpconnect.cpp b/ica/win32/winvnc/winvnc/httpconnect.cpp
index 92db4f2..de84ad8 100644
--- a/ica/win32/winvnc/winvnc/httpconnect.cpp
+++ b/ica/win32/winvnc/winvnc/httpconnect.cpp
@@ -76,7 +76,7 @@ AUTH_METHOD_ITEM socks5_auth_table[] = {
     { "gssapi", SOCKS5_AUTH_GSSAPI },
     { "userpass", SOCKS5_AUTH_USERPASS },
     { "chap", SOCKS5_AUTH_CHAP },
-    { NULL, -1 },
+    { NULL, (unsigned char) -1 },
 };
 
 const char *digits    = "0123456789";
@@ -1393,7 +1393,6 @@ httpconnect::Get_https_socket(char *port, char *host)
 	TCHAR proxy[512];
 	memset (proxy,0,sizeof(proxy));
 	TCHAR * pch=NULL;
-	long ProxyEnable=0;
 	pfnWinHttpGetIEProxyConfig pWHGIEPC = NULL;
 	HMODULE hModWH=NULL;
 	//New function, ask current user proxy
@@ -1403,13 +1402,8 @@ httpconnect::Get_https_socket(char *port, char *host)
 	WINHTTP_CURRENT_USER_IE_PROXY_CONFIG MyProxyConfig;
 	if(!pWHGIEPC(&MyProxyConfig))
 	{
-		ProxyEnable=false;
 		return 0;
 	}
-	else
-	{
-		ProxyEnable=true;
-	}
 	if (hModWH) FreeLibrary(hModWH);
 	if(NULL != MyProxyConfig.lpszAutoConfigUrl)
 		{
diff --git a/ica/win32/winvnc/winvnc/read_write_ini.cpp b/ica/win32/winvnc/winvnc/read_write_ini.cpp
index acbf372..1ba0da0 100644
--- a/ica/win32/winvnc/winvnc/read_write_ini.cpp
+++ b/ica/win32/winvnc/winvnc/read_write_ini.cpp
@@ -99,7 +99,6 @@ LONG Hook=1;
 LONG Virtual=0;
 LONG SingleWindow=0;
 char SingleWindowName[32];
-LONG FTTimeout = 30;
 char path[512];
 LONG MaxCpu=40;
 
@@ -185,7 +184,6 @@ BlankInputsOnly = myIniFile_In.ReadInt("admin", "BlankInputsOnly", false); //PGM
 DefaultScale = myIniFile_In.ReadInt("admin", "DefaultScale", 1);
 CaptureAlphaBlending = myIniFile_In.ReadInt("admin", "CaptureAlphaBlending", false); // sf at 2005
 BlackAlphaBlending = myIniFile_In.ReadInt("admin", "BlackAlphaBlending", false); // sf at 2005
-FTTimeout = myIniFile_In.ReadInt("admin", "FileTransferTimeout", 30);
 
 Primary = myIniFile_In.ReadInt("admin", "primary", true);
 Secondary = myIniFile_In.ReadInt("admin", "secondary", false);
@@ -305,4 +303,4 @@ myIniFile_Out.IniFileSetSecure();
 myIniFile_In.IniFileSetTemp(tempfile);
 
 return do_copy(myIniFile_In, myIniFile_Out);
-}
\ No newline at end of file
+}
diff --git a/ica/win32/winvnc/winvnc/service.cpp b/ica/win32/winvnc/winvnc/service.cpp
index 137c872..18202a2 100644
--- a/ica/win32/winvnc/winvnc/service.cpp
+++ b/ica/win32/winvnc/winvnc/service.cpp
@@ -54,7 +54,6 @@ BOOL Char2Wchar(WCHAR* pDest, char* pSrc, int nDestStrLen)
 {
      int nSrcStrLen = 0;
      int nOutputBuffLen = 0;
-     int retcode = 0;
 
      if(pDest == NULL || pSrc == NULL)
      {
@@ -78,7 +77,7 @@ BOOL Char2Wchar(WCHAR* pDest, char* pSrc, int nDestStrLen)
  
      if (nOutputBuffLen == 0)
      {
-          retcode = GetLastError();
+          GetLastError();
           return FALSE;
      }
 
@@ -509,8 +508,7 @@ BOOL
 GetSessionUserTokenWin(OUT LPHANDLE  lphUserToken)
 {
   BOOL   bResult = FALSE;
-  DWORD ID=0;
-  if (lpfnWTSGetActiveConsoleSessionId.isValid()) ID=(*lpfnWTSGetActiveConsoleSessionId)();
+  if (lpfnWTSGetActiveConsoleSessionId.isValid()) (*lpfnWTSGetActiveConsoleSessionId)();
   
   if (lphUserToken != NULL) {   
 		  bResult = get_winlogon_handle(lphUserToken);
@@ -798,7 +796,6 @@ void monitor_sessions()
 	DWORD dwSessionId=0;
 	DWORD OlddwSessionId=99;
 	ProcessInfo.hProcess=0;
-	bool win=false;
 	bool Slow_connect=false;
 	bool last_con=false;
 	//We use this event to notify the program that the session has changed
@@ -884,7 +881,6 @@ void monitor_sessions()
 														OutputDebugString("No Tray icon existed, starting first process\n");
 							#endif
 																LaunchProcessWin(dwSessionId);
-																win=false;
 																Slow_connect=false;
 													}
 													else if (GetExitCodeProcess(ProcessInfo.hProcess,&dwCode))
@@ -909,7 +905,6 @@ void monitor_sessions()
 																CloseHandle(ProcessInfo.hProcess);
 																CloseHandle(ProcessInfo.hThread);
 																LaunchProcessWin(dwSessionId);
-																win=false;
 																Slow_connect=false;
 															}
 														else
@@ -940,7 +935,6 @@ void monitor_sessions()
 														OutputDebugString("Tray icon exited, starting new process\n");
 							#endif
 														LaunchProcessWin(dwSessionId);
-														win=false;
 														Slow_connect=false;
 													}
 												#ifdef _DEBUG
diff --git a/ica/win32/winvnc/winvnc/videodriver.cpp b/ica/win32/winvnc/winvnc/videodriver.cpp
index 215919c..d31a034 100644
--- a/ica/win32/winvnc/winvnc/videodriver.cpp
+++ b/ica/win32/winvnc/winvnc/videodriver.cpp
@@ -617,7 +617,6 @@ VIDEODRIVER::Mirror_driver_detach_XP()
 							}
 					}
 
-        INT code =
         ChangeDisplaySettingsEx(deviceName,
                                 &devmode, 
                                 NULL,
@@ -627,7 +626,7 @@ VIDEODRIVER::Mirror_driver_detach_XP()
     
 //        GetDispCode(code);
 
-        code = ChangeDisplaySettingsEx(deviceName,
+        ChangeDisplaySettingsEx(deviceName,
                                 &devmode, 
                                 NULL,
                                 0,
@@ -956,10 +955,9 @@ BOOL
 VIDEODRIVER:: HardwareCursor()
 {
 	HDC gdc;
-	int returnvalue;
 	gdc = GetDC(NULL);
-	returnvalue= ExtEscape(gdc, MAP1, 0, NULL, 0, NULL);
-	returnvalue= ExtEscape(gdc, CURSOREN, 0, NULL, 0, NULL);
+	ExtEscape(gdc, MAP1, 0, NULL, 0, NULL);
+	ExtEscape(gdc, CURSOREN, 0, NULL, 0, NULL);
 	ReleaseDC(NULL,gdc);
 	return true;
 }
@@ -968,9 +966,8 @@ BOOL
 VIDEODRIVER:: NoHardwareCursor()
 {
 	HDC gdc;
-	int returnvalue;
 	gdc = GetDC(NULL);
-	returnvalue= ExtEscape(gdc, CURSORDIS, 0, NULL, 0, NULL);
+	ExtEscape(gdc, CURSORDIS, 0, NULL, 0, NULL);
 	ReleaseDC(NULL,gdc);
 	return true;
 }
diff --git a/ica/win32/winvnc/winvnc/vncclient.cpp b/ica/win32/winvnc/winvnc/vncclient.cpp
index b4302f6..a8aee9a 100644
--- a/ica/win32/winvnc/winvnc/vncclient.cpp
+++ b/ica/win32/winvnc/winvnc/vncclient.cpp
@@ -2603,10 +2603,10 @@ vncClientThread::run(void *arg)
 				update.br.x = update.tl.x + Swap16IfLE(msg.fur.w) * m_client->m_nScale;
 				update.br.y = update.tl.y + Swap16IfLE(msg.fur.h) * m_client->m_nScale;
 				// Verify max size, scaled changed on server while not pushed to viewer
-				if (update.tl.x< ((m_client->m_ScaledScreen.tl.x + m_client->m_SWOffsetx) * m_client->m_nScale)) update.tl.x = (m_client->m_ScaledScreen.tl.x + m_client->m_SWOffsetx) * m_client->m_nScale;
-				if (update.tl.y < ((m_client->m_ScaledScreen.tl.y + m_client->m_SWOffsety) * m_client->m_nScale)) update.tl.y = (m_client->m_ScaledScreen.tl.y + m_client->m_SWOffsety) * m_client->m_nScale;
-				if (update.br.x > (update.tl.x + (m_client->m_ScaledScreen.br.x-m_client->m_ScaledScreen.tl.x) * m_client->m_nScale)) update.br.x = update.tl.x + (m_client->m_ScaledScreen.br.x-m_client->m_ScaledScreen.tl.x) * m_client->m_nScale;
-				if (update.br.y > (update.tl.y + (m_client->m_ScaledScreen.br.y-m_client->m_ScaledScreen.tl.y) * m_client->m_nScale)) update.br.y = update.tl.y + (m_client->m_ScaledScreen.br.y-m_client->m_ScaledScreen.tl.y) * m_client->m_nScale;
+				if (update.tl.x< (int)((m_client->m_ScaledScreen.tl.x + m_client->m_SWOffsetx) * m_client->m_nScale)) update.tl.x = (m_client->m_ScaledScreen.tl.x + m_client->m_SWOffsetx) * m_client->m_nScale;
+				if (update.tl.y < (int)((m_client->m_ScaledScreen.tl.y + m_client->m_SWOffsety) * m_client->m_nScale)) update.tl.y = (m_client->m_ScaledScreen.tl.y + m_client->m_SWOffsety) * m_client->m_nScale;
+				if (update.br.x > (int)(update.tl.x + (m_client->m_ScaledScreen.br.x-m_client->m_ScaledScreen.tl.x) * m_client->m_nScale)) update.br.x = update.tl.x + (m_client->m_ScaledScreen.br.x-m_client->m_ScaledScreen.tl.x) * m_client->m_nScale;
+				if (update.br.y > (int)(update.tl.y + (m_client->m_ScaledScreen.br.y-m_client->m_ScaledScreen.tl.y) * m_client->m_nScale)) update.br.y = update.tl.y + (m_client->m_ScaledScreen.br.y-m_client->m_ScaledScreen.tl.y) * m_client->m_nScale;
 				rfb::Region2D update_rgn = update;
 
 				//fullscreeen request, make it independed of the incremental rectangle
diff --git a/ica/win32/winvnc/winvnc/vncclient.h b/ica/win32/winvnc/winvnc/vncclient.h
index 7c414ba..f5f8694 100644
--- a/ica/win32/winvnc/winvnc/vncclient.h
+++ b/ica/win32/winvnc/winvnc/vncclient.h
@@ -91,7 +91,7 @@ class vncClient
 public:
 	// Constructor/destructor
 	vncClient();
-	~vncClient();
+	virtual ~vncClient();
 
 	// Allow the client thread to see inside the client object
 	friend class vncClientThread;
diff --git a/ica/win32/winvnc/winvnc/vncdesktop.cpp b/ica/win32/winvnc/winvnc/vncdesktop.cpp
index 1c9e5f8..93c491a 100644
--- a/ica/win32/winvnc/winvnc/vncdesktop.cpp
+++ b/ica/win32/winvnc/winvnc/vncdesktop.cpp
@@ -1799,14 +1799,12 @@ void vncDesktop::SetClipText(char* rfbStr)
 // adzm - 2010-07 - Extended clipboard
 void vncDesktop::SetClipTextEx(ExtendedClipboardDataMessage& extendedClipboardDataMessage)
 {
-	bool bRestored = false;
 	{
 		ClipboardData newClipboard;
 
 		if (newClipboard.Restore(Window(), extendedClipboardDataMessage)) {
 			vnclog.Print(LL_INTINFO, VNCLOG("Set extended clipboard data\n"));
 
-			bRestored = true;
 			newClipboard.FreeData();
 		} else {
 			vnclog.Print(LL_INTWARN, VNCLOG("Failed to set extended clipboard data\n"));
@@ -2416,7 +2414,6 @@ void vncDesktop::SetBlockInputState(bool newstate)
 bool vncDesktop::block_input()
 {
     int Blockinput_val;
-	BOOL returnvalue;
 	if(m_bIsInputDisabledByClient || m_server->LocalInputsDisabled())
 	{
 		Blockinput_val=true;
@@ -2441,7 +2438,7 @@ bool vncDesktop::block_input()
 	}
     if (pbi)
     {
-        returnvalue = (*pbi)(Blockinput_val);
+		(*pbi)(Blockinput_val);
 		DWORD aa=GetLastError();
 		if (old_Blockinput!=Blockinput_val && aa==5)
 		{
diff --git a/ica/win32/winvnc/winvnc/vncdesktopsink.cpp b/ica/win32/winvnc/winvnc/vncdesktopsink.cpp
index 789e497..f51c0c3 100644
--- a/ica/win32/winvnc/winvnc/vncdesktopsink.cpp
+++ b/ica/win32/winvnc/winvnc/vncdesktopsink.cpp
@@ -614,9 +614,6 @@ vncDesktop::InitWindow()
 	m_hnextviewer = SetClipboardViewer(m_hwnd);
 	m_settingClipboardViewer = false;
 	StopDriverWatches=false;
-		DrvWatch mywatch;
-		mywatch.stop=&StopDriverWatches;
-		mywatch.hwnd=m_hwnd;
 	if (VideoBuffer())
 	{
 		DWORD myword;
@@ -748,4 +745,4 @@ vncDesktop::InitWindow()
 	vnclog.Print(LL_INTERR, VNCLOG("OOOOOOOOOOOO end dispatch\n"));
 	m_hwnd = NULL;
 	return TRUE;
-}
\ No newline at end of file
+}
diff --git a/ica/win32/winvnc/winvnc/vnchttpconnect.h b/ica/win32/winvnc/winvnc/vnchttpconnect.h
index c40fc5e..c86ffe9 100644
--- a/ica/win32/winvnc/winvnc/vnchttpconnect.h
+++ b/ica/win32/winvnc/winvnc/vnchttpconnect.h
@@ -50,7 +50,7 @@ class vncHTTPConnect
 public:
 	// Constructor/destructor
 	vncHTTPConnect();
-	~vncHTTPConnect();
+	virtual ~vncHTTPConnect();
 
 	// Init
 	virtual VBool Init(vncServer *server, UINT port);
@@ -67,4 +67,4 @@ protected:
 	omni_thread *m_thread;
 };
 
-#endif // _WINVNC_VNCHTTPCONNECT
\ No newline at end of file
+#endif // _WINVNC_VNCHTTPCONNECT
diff --git a/ica/win32/winvnc/winvnc/vncsockconnect.h b/ica/win32/winvnc/winvnc/vncsockconnect.h
index bd6a15c..902d1c5 100644
--- a/ica/win32/winvnc/winvnc/vncsockconnect.h
+++ b/ica/win32/winvnc/winvnc/vncsockconnect.h
@@ -48,7 +48,7 @@ class vncSockConnect
 public:
 	// Constructor/destructor
 	vncSockConnect();
-	~vncSockConnect();
+	virtual ~vncSockConnect();
 
 	// Init
 	virtual VBool Init(vncServer *server, UINT port);
@@ -65,4 +65,4 @@ protected:
 	omni_thread *m_thread;
 };
 
-#endif // _WINVNC_VNCSOCKCONNECT
\ No newline at end of file
+#endif // _WINVNC_VNCSOCKCONNECT
diff --git a/ica/x11/libvncclient/h264.c b/ica/x11/libvncclient/h264.c
new file mode 100644
index 0000000..1d94454
--- /dev/null
+++ b/ica/x11/libvncclient/h264.c
@@ -0,0 +1,644 @@
+/*
+ *  Copyright (C) 2012 Intel Corporation.  All Rights Reserved.
+ *
+ *  This is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This software is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this software; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
+ *  USA.
+ */
+
+#ifdef LIBVNCSERVER_CONFIG_LIBVA
+
+#include <X11/Xlib.h>
+#include <va/va_x11.h>
+
+enum _slice_types {
+	SLICE_TYPE_P = 0,  /* Predicted */
+	SLICE_TYPE_B = 1,  /* Bi-predicted */
+	SLICE_TYPE_I = 2,  /* Intra coded */
+};
+
+#define SURFACE_NUM     7
+
+VADisplay       va_dpy = NULL;
+VAConfigID      va_config_id;
+VASurfaceID     va_surface_id[SURFACE_NUM];
+VAContextID     va_context_id = 0;
+
+VABufferID      va_pic_param_buf_id[SURFACE_NUM];
+VABufferID      va_mat_param_buf_id[SURFACE_NUM];
+VABufferID      va_sp_param_buf_id[SURFACE_NUM];
+VABufferID      va_d_param_buf_id[SURFACE_NUM];
+
+static int cur_height = 0;
+static int cur_width = 0;
+static unsigned int num_frames = 0;
+static int sid = 0;
+static unsigned int frame_id = 0;
+static int field_order_count = 0;
+static VASurfaceID curr_surface = VA_INVALID_ID;
+
+VAStatus gva_status;
+VASurfaceStatus gsurface_status;
+#define CHECK_SURF(X) \
+    gva_status = vaQuerySurfaceStatus(va_dpy, X, &gsurface_status); \
+    if (gsurface_status != 4) printf("ss: %d\n", gsurface_status);
+
+#ifdef _DEBUG
+#define DebugLog(A) rfbClientLog A
+#else
+#define DebugLog(A)
+#endif
+
+#define CHECK_VASTATUS(va_status,func)                  \
+    if (va_status != VA_STATUS_SUCCESS) {                   \
+        /*fprintf(stderr,"%s:%s (%d) failed,exit\n", __func__, func, __LINE__);*/ \
+        rfbClientErr("%s:%s:%d failed (0x%x),exit\n", __func__, func, __LINE__, va_status); \
+        exit(1);                                \
+    } else  { \
+        /*fprintf(stderr,">> SUCCESS for: %s:%s (%d)\n", __func__, func, __LINE__);*/ \
+        DebugLog(("%s:%s:%d success\n", __func__, func, __LINE__)); \
+    }
+
+/*
+ * Forward declarations
+ */
+static void h264_decode_frame(int f_width, int f_height, char *framedata, int framesize, int slice_type);
+static void SetVAPictureParameterBufferH264(VAPictureParameterBufferH264 *p, int width, int height);
+static void SetVASliceParameterBufferH264(VASliceParameterBufferH264 *p);
+static void SetVASliceParameterBufferH264_Intra(VASliceParameterBufferH264 *p, int first);
+
+static void put_updated_rectangle(rfbClient *client, int x, int y, int width, int height, int f_width, int f_height, int first_for_frame);
+static void nv12_to_rgba(const VAImage vaImage, rfbClient *client, int ch_x, int ch_y, int ch_w, int ch_h);
+
+
+/* FIXME: get this value from the server instead of hardcoding 32bit pixels */
+#define BPP (4 * 8)
+
+static const char *string_of_FOURCC(uint32_t fourcc)
+{
+    static int buf;
+    static char str[2][5];
+
+    buf ^= 1;
+    str[buf][0] = fourcc;
+    str[buf][1] = fourcc >> 8;
+    str[buf][2] = fourcc >> 16;
+    str[buf][3] = fourcc >> 24;
+    str[buf][4] = '\0';
+    return str[buf];
+}
+
+static inline const char *string_of_VAImageFormat(VAImageFormat *imgfmt)
+{
+    return string_of_FOURCC(imgfmt->fourcc);
+}
+
+
+static rfbBool
+HandleH264 (rfbClient* client, int rx, int ry, int rw, int rh)
+{
+    rfbH264Header hdr;
+    char *framedata;
+
+    DebugLog(("Framebuffer update with H264 (x: %d, y: %d, w: %d, h: %d)\n", rx, ry, rw, rh));
+
+    /* First, read the frame size and allocate buffer to store the data */
+    if (!ReadFromRFBServer(client, (char *)&hdr, sz_rfbH264Header))
+        return FALSE;
+
+    hdr.slice_type = rfbClientSwap32IfLE(hdr.slice_type);
+    hdr.nBytes = rfbClientSwap32IfLE(hdr.nBytes);
+    hdr.width = rfbClientSwap32IfLE(hdr.width);
+    hdr.height = rfbClientSwap32IfLE(hdr.height);
+
+    framedata = (char*) malloc(hdr.nBytes);
+
+    /* Obtain frame data from the server */
+    DebugLog(("Reading %d bytes of frame data (type: %d)\n", hdr.nBytes, hdr.slice_type));
+    if (!ReadFromRFBServer(client, framedata, hdr.nBytes))
+        return FALSE;
+
+    /* First make sure we have a large enough raw buffer to hold the
+     * decompressed data.  In practice, with a fixed BPP, fixed frame
+     * buffer size and the first update containing the entire frame
+     * buffer, this buffer allocation should only happen once, on the
+     * first update.
+     */
+    if ( client->raw_buffer_size < (( rw * rh ) * ( BPP / 8 ))) {
+        if ( client->raw_buffer != NULL ) {
+            free( client->raw_buffer );
+        }
+
+        client->raw_buffer_size = (( rw * rh ) * ( BPP / 8 ));
+        client->raw_buffer = (char*) malloc( client->raw_buffer_size );
+        rfbClientLog("Allocated raw buffer of %d bytes (%dx%dx%d BPP)\n", client->raw_buffer_size, rw, rh, BPP);
+    }
+
+    /* Decode frame if frame data was sent. Server only sends frame data for the first
+     * framebuffer update message for a particular frame buffer contents.
+     * If more than 1 rectangle is updated, the messages after the first one (with
+     * the H.264 frame) have nBytes == 0.
+     */
+    if (hdr.nBytes > 0) {
+        DebugLog(("  decoding %d bytes of H.264 data\n", hdr.nBytes));
+        h264_decode_frame(hdr.width, hdr.height, framedata, hdr.nBytes, hdr.slice_type);
+    }
+
+    DebugLog(("  updating rectangle (%d, %d)-(%d, %d)\n", rx, ry, rw, rh));
+    put_updated_rectangle(client, rx, ry, rw, rh, hdr.width, hdr.height, hdr.nBytes != 0);
+
+    free(framedata);
+
+    return TRUE;
+}
+
+static void h264_cleanup_decoder()
+{
+    VAStatus va_status;
+
+    rfbClientLog("%s()\n", __FUNCTION__);
+
+    if (va_surface_id[0] != VA_INVALID_ID) {
+        va_status = vaDestroySurfaces(va_dpy, &va_surface_id[0], SURFACE_NUM);
+        CHECK_VASTATUS(va_status, "vaDestroySurfaces");
+    }
+
+    if (va_context_id) {
+        va_status = vaDestroyContext(va_dpy, va_context_id);
+        CHECK_VASTATUS(va_status, "vaDestroyContext");
+        va_context_id = 0;
+    }
+
+    num_frames = 0;
+    sid = 0;
+    frame_id = 0;
+    field_order_count = 0;
+}
+
+static void h264_init_decoder(int width, int height)
+{
+    VAStatus va_status;
+
+    if (va_context_id) {
+        rfbClientLog("%s: va_dpy already initialized\n", __FUNCTION__);
+    }
+
+    if (va_dpy != NULL) {
+        rfbClientLog("%s: Re-initializing H.264 decoder\n", __FUNCTION__);
+    }
+    else {
+        rfbClientLog("%s: initializing H.264 decoder\n", __FUNCTION__);
+
+        /* Attach VA display to local X display */
+        Display *win_display = (Display *)XOpenDisplay(":0.0");
+        if (win_display == NULL) {
+            rfbClientErr("Can't connect to local display\n");
+            exit(-1);
+        }
+
+        int major_ver, minor_ver;
+        va_dpy = vaGetDisplay(win_display);
+        va_status = vaInitialize(va_dpy, &major_ver, &minor_ver);
+        CHECK_VASTATUS(va_status, "vaInitialize");
+        rfbClientLog("%s: libva version %d.%d found\n", __FUNCTION__, major_ver, minor_ver);
+    }
+
+    /* Check for VLD entrypoint */
+    int num_entrypoints;
+    VAEntrypoint    entrypoints[5];
+    int vld_entrypoint_found = 0;
+
+    /* Change VAProfileH264High if needed */
+    VAProfile profile = VAProfileH264High;
+    va_status = vaQueryConfigEntrypoints(va_dpy, profile, entrypoints, &num_entrypoints);
+    CHECK_VASTATUS(va_status, "vaQueryConfigEntrypoints");
+    int i;
+    for (i = 0; i < num_entrypoints; ++i) {
+        if (entrypoints[i] == VAEntrypointVLD) {
+            vld_entrypoint_found = 1;
+            break;
+        }
+    }
+
+    if (vld_entrypoint_found == 0) {
+        rfbClientErr("VLD entrypoint not found\n");
+        exit(1);
+    }
+
+    /* Create configuration for the decode pipeline */
+    VAConfigAttrib attrib;
+    attrib.type = VAConfigAttribRTFormat;
+    va_status = vaCreateConfig(va_dpy, profile, VAEntrypointVLD, &attrib, 1, &va_config_id);
+    CHECK_VASTATUS(va_status, "vaCreateConfig");
+
+    /* Create VA surfaces */
+    for (i = 0; i < SURFACE_NUM; ++i) {
+        va_surface_id[i]       = VA_INVALID_ID;
+        va_pic_param_buf_id[i] = VA_INVALID_ID;
+        va_mat_param_buf_id[i] = VA_INVALID_ID;
+        va_sp_param_buf_id[i]  = VA_INVALID_ID;
+        va_d_param_buf_id[i]   = VA_INVALID_ID;
+    }
+    va_status = vaCreateSurfaces(va_dpy, width, height, VA_RT_FORMAT_YUV420, SURFACE_NUM, &va_surface_id[0]);
+    CHECK_VASTATUS(va_status, "vaCreateSurfaces");
+    for (i = 0; i < SURFACE_NUM; ++i) {
+        DebugLog(("%s: va_surface_id[%d] = %p\n", __FUNCTION__, i, va_surface_id[i]));
+    }
+
+    /* Create VA context */
+    va_status = vaCreateContext(va_dpy, va_config_id, width, height, 0/*VA_PROGRESSIVE*/,  &va_surface_id[0], SURFACE_NUM, &va_context_id);
+    CHECK_VASTATUS(va_status, "vaCreateContext");
+    DebugLog(("%s: VA context created (id: %d)\n", __FUNCTION__, va_context_id));
+
+
+    /* Instantiate decode pipeline */
+    va_status = vaBeginPicture(va_dpy, va_context_id, va_surface_id[0]);
+    CHECK_VASTATUS(va_status, "vaBeginPicture");
+
+    rfbClientLog("%s: H.264 decoder initialized\n", __FUNCTION__);
+}
+
+static void h264_decode_frame(int f_width, int f_height, char *framedata, int framesize, int slice_type)
+{
+    VAStatus va_status;
+
+    DebugLog(("%s: called for frame of %d bytes (%dx%d) slice_type=%d\n", __FUNCTION__, framesize, width, height, slice_type));
+
+    /* Initialize decode pipeline if necessary */
+    if ( (f_width > cur_width) || (f_height > cur_height) ) {
+        if (va_dpy != NULL)
+            h264_cleanup_decoder();
+        cur_width = f_width;
+        cur_height = f_height;
+
+        h264_init_decoder(f_width, f_height);
+        rfbClientLog("%s: decoder initialized\n", __FUNCTION__);
+    }
+
+    /* Decode frame */
+    static VAPictureH264 va_picture_h264, va_old_picture_h264;
+
+    /* The server should always send an I-frame when a new client connects
+     * or when the resolution of the framebuffer changes, but we check
+     * just in case.
+     */
+    if ( (slice_type != SLICE_TYPE_I) && (num_frames == 0) ) {
+        rfbClientLog("First frame is not an I frame !!! Skipping!!!\n");
+        return;
+    }
+
+    DebugLog(("%s: frame_id=%d va_surface_id[%d]=0x%x field_order_count=%d\n", __FUNCTION__, frame_id, sid, va_surface_id[sid], field_order_count));
+
+    va_picture_h264.picture_id = va_surface_id[sid];
+    va_picture_h264.frame_idx  = frame_id;
+    va_picture_h264.flags = 0;
+    va_picture_h264.BottomFieldOrderCnt = field_order_count;
+    va_picture_h264.TopFieldOrderCnt = field_order_count;
+
+    /* Set up picture parameter buffer */
+    if (va_pic_param_buf_id[sid] == VA_INVALID_ID) {
+        va_status = vaCreateBuffer(va_dpy, va_context_id, VAPictureParameterBufferType, sizeof(VAPictureParameterBufferH264), 1, NULL, &va_pic_param_buf_id[sid]);
+        CHECK_VASTATUS(va_status, "vaCreateBuffer(PicParam)");
+    }
+    CHECK_SURF(va_surface_id[sid]);
+
+    VAPictureParameterBufferH264 *pic_param_buf = NULL;
+    va_status = vaMapBuffer(va_dpy, va_pic_param_buf_id[sid], (void **)&pic_param_buf);
+    CHECK_VASTATUS(va_status, "vaMapBuffer(PicParam)");
+
+    SetVAPictureParameterBufferH264(pic_param_buf, f_width, f_height);
+    memcpy(&pic_param_buf->CurrPic, &va_picture_h264, sizeof(VAPictureH264));
+
+    if (slice_type == SLICE_TYPE_P) {
+        memcpy(&pic_param_buf->ReferenceFrames[0], &va_old_picture_h264, sizeof(VAPictureH264));
+        pic_param_buf->ReferenceFrames[0].flags = 0;
+    }
+    else if (slice_type != SLICE_TYPE_I) {
+        rfbClientLog("Frame type %d not supported!!!\n");
+        return;
+    }
+    pic_param_buf->frame_num = frame_id;
+
+    va_status = vaUnmapBuffer(va_dpy, va_pic_param_buf_id[sid]);
+    CHECK_VASTATUS(va_status, "vaUnmapBuffer(PicParam)");
+
+    /* Set up IQ matrix buffer */
+    if (va_mat_param_buf_id[sid] == VA_INVALID_ID) {
+        va_status = vaCreateBuffer(va_dpy, va_context_id, VAIQMatrixBufferType, sizeof(VAIQMatrixBufferH264), 1, NULL, &va_mat_param_buf_id[sid]);
+        CHECK_VASTATUS(va_status, "vaCreateBuffer(IQMatrix)");
+    }
+    CHECK_SURF(va_surface_id[sid]);
+
+    VAIQMatrixBufferH264 *iq_matrix_buf = NULL;
+    va_status = vaMapBuffer(va_dpy, va_mat_param_buf_id[sid], (void **)&iq_matrix_buf);
+    CHECK_VASTATUS(va_status, "vaMapBuffer(IQMatrix)");
+
+    static const unsigned char m_MatrixBufferH264[]= {
+        /* ScalingList4x4[6][16] */
+        0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+        0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+        0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+        0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+        0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+        0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+        /* ScalingList8x8[2][64] */
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
+    };
+
+    memcpy(iq_matrix_buf, m_MatrixBufferH264, 224);
+    va_status = vaUnmapBuffer(va_dpy, va_mat_param_buf_id[sid]);
+    CHECK_VASTATUS(va_status, "vaUnmapBuffer(IQMatrix)");
+
+    VABufferID buffer_ids[2];
+    buffer_ids[0] = va_pic_param_buf_id[sid];
+    buffer_ids[1] = va_mat_param_buf_id[sid];
+
+    CHECK_SURF(va_surface_id[sid]);
+    va_status = vaRenderPicture(va_dpy, va_context_id, buffer_ids, 2);
+    CHECK_VASTATUS(va_status, "vaRenderPicture");
+
+    /* Set up slice parameter buffer */
+    if (va_sp_param_buf_id[sid] == VA_INVALID_ID) {
+        va_status = vaCreateBuffer(va_dpy, va_context_id, VASliceParameterBufferType, sizeof(VASliceParameterBufferH264), 1, NULL, &va_sp_param_buf_id[sid]);
+        CHECK_VASTATUS(va_status, "vaCreateBuffer(SliceParam)");
+    }
+    CHECK_SURF(va_surface_id[sid]);
+
+    VASliceParameterBufferH264 *slice_param_buf = NULL;
+    va_status = vaMapBuffer(va_dpy, va_sp_param_buf_id[sid], (void **)&slice_param_buf);
+    CHECK_VASTATUS(va_status, "vaMapBuffer(SliceParam)");
+
+    static int t2_first = 1;
+    if (slice_type == SLICE_TYPE_I) {
+        SetVASliceParameterBufferH264_Intra(slice_param_buf, t2_first);
+        t2_first = 0;
+    } else {
+        SetVASliceParameterBufferH264(slice_param_buf);
+        memcpy(&slice_param_buf->RefPicList0[0], &va_old_picture_h264, sizeof(VAPictureH264));
+        slice_param_buf->RefPicList0[0].flags = 0;
+    }
+    slice_param_buf->slice_data_bit_offset = 0;
+    slice_param_buf->slice_data_size = framesize;
+
+    va_status = vaUnmapBuffer(va_dpy, va_sp_param_buf_id[sid]);
+    CHECK_VASTATUS(va_status, "vaUnmapBuffer(SliceParam)");
+    CHECK_SURF(va_surface_id[sid]);
+
+    /* Set up slice data buffer and copy H.264 encoded data */
+    if (va_d_param_buf_id[sid] == VA_INVALID_ID) {
+        /* TODO use estimation matching framebuffer dimensions instead of this large value */
+        va_status = vaCreateBuffer(va_dpy, va_context_id, VASliceDataBufferType, 4177920, 1, NULL, &va_d_param_buf_id[sid]); /* 1080p size */
+        CHECK_VASTATUS(va_status, "vaCreateBuffer(SliceData)");
+    }
+
+    char *slice_data_buf;
+    va_status = vaMapBuffer(va_dpy, va_d_param_buf_id[sid], (void **)&slice_data_buf);
+    CHECK_VASTATUS(va_status, "vaMapBuffer(SliceData)");
+    memcpy(slice_data_buf, framedata, framesize);
+
+    CHECK_SURF(va_surface_id[sid]);
+    va_status = vaUnmapBuffer(va_dpy, va_d_param_buf_id[sid]);
+    CHECK_VASTATUS(va_status, "vaUnmapBuffer(SliceData)");
+
+    buffer_ids[0] = va_sp_param_buf_id[sid];
+    buffer_ids[1] = va_d_param_buf_id[sid];
+
+    CHECK_SURF(va_surface_id[sid]);
+    va_status = vaRenderPicture(va_dpy, va_context_id, buffer_ids, 2);
+    CHECK_VASTATUS(va_status, "vaRenderPicture");
+
+    va_status = vaEndPicture(va_dpy, va_context_id);
+    CHECK_VASTATUS(va_status, "vaEndPicture");
+
+    /* Prepare next one... */
+    int sid_new = (sid + 1) % SURFACE_NUM;
+    DebugLog(("%s: new Surface ID = %d\n", __FUNCTION__, sid_new));
+    va_status = vaBeginPicture(va_dpy, va_context_id, va_surface_id[sid_new]);
+    CHECK_VASTATUS(va_status, "vaBeginPicture");
+
+    /* Get decoded data */
+    va_status = vaSyncSurface(va_dpy, va_surface_id[sid]);
+    CHECK_VASTATUS(va_status, "vaSyncSurface");
+    CHECK_SURF(va_surface_id[sid]);
+
+    curr_surface = va_surface_id[sid];
+
+    sid = sid_new;
+
+    field_order_count += 2;
+    ++frame_id;
+    if (frame_id > 15) {
+        frame_id = 0;
+    }
+
+    ++num_frames;
+
+    memcpy(&va_old_picture_h264, &va_picture_h264, sizeof(VAPictureH264));
+}
+
+static void put_updated_rectangle(rfbClient *client, int x, int y, int width, int height, int f_width, int f_height, int first_for_frame)
+{
+    if (curr_surface == VA_INVALID_ID) {
+        rfbClientErr("%s: called, but current surface is invalid\n", __FUNCTION__);
+        return;
+    }
+
+    VAStatus va_status;
+
+    if (client->outputWindow) {
+        /* use efficient vaPutSurface() method of putting the framebuffer on the screen */
+        if (first_for_frame) {
+            /* vaPutSurface() clears window contents outside the given destination rectangle => always update full screen. */
+            va_status = vaPutSurface(va_dpy, curr_surface, client->outputWindow, 0, 0, f_width, f_height, 0, 0, f_width, f_height, NULL, 0, VA_FRAME_PICTURE);
+            CHECK_VASTATUS(va_status, "vaPutSurface");
+        }
+    }
+    else if (client->frameBuffer) {
+        /* ... or copy the changed framebuffer region manually as a fallback */
+        VAImage decoded_image;
+        decoded_image.image_id = VA_INVALID_ID;
+        decoded_image.buf      = VA_INVALID_ID;
+        va_status = vaDeriveImage(va_dpy, curr_surface, &decoded_image);
+        CHECK_VASTATUS(va_status, "vaDeriveImage");
+
+        if ((decoded_image.image_id == VA_INVALID_ID) || (decoded_image.buf == VA_INVALID_ID)) {
+            rfbClientErr("%s: vaDeriveImage() returned success but VA image is invalid (id: %d, buf: %d)\n", __FUNCTION__, decoded_image.image_id, decoded_image.buf);
+        }
+
+        nv12_to_rgba(decoded_image, client, x, y, width, height);
+
+        va_status = vaDestroyImage(va_dpy, decoded_image.image_id);
+        CHECK_VASTATUS(va_status, "vaDestroyImage");
+    }
+}
+
+static void SetVAPictureParameterBufferH264(VAPictureParameterBufferH264 *p, int width, int height)
+{
+    int i;
+    unsigned int width_in_mbs = (width + 15) / 16;
+    unsigned int height_in_mbs = (height + 15) / 16;
+
+    memset(p, 0, sizeof(VAPictureParameterBufferH264));
+    p->picture_width_in_mbs_minus1 = width_in_mbs - 1;
+    p->picture_height_in_mbs_minus1 = height_in_mbs - 1;
+    p->num_ref_frames = 1;
+    p->seq_fields.value = 145;
+    p->pic_fields.value = 0x501;
+    for (i = 0; i < 16; i++) {
+        p->ReferenceFrames[i].flags = VA_PICTURE_H264_INVALID;
+        p->ReferenceFrames[i].picture_id = 0xffffffff;
+    }
+}
+
+static void SetVASliceParameterBufferH264(VASliceParameterBufferH264 *p)
+{
+    int i;
+    memset(p, 0, sizeof(VASliceParameterBufferH264));
+    p->slice_data_size = 0;
+    p->slice_data_bit_offset = 64;
+    p->slice_alpha_c0_offset_div2 = 2;
+    p->slice_beta_offset_div2 = 2;
+    p->chroma_weight_l0_flag = 1;
+    p->chroma_weight_l0[0][0]=1;
+    p->chroma_offset_l0[0][0]=0;
+    p->chroma_weight_l0[0][1]=1;
+    p->chroma_offset_l0[0][1]=0;
+    p->luma_weight_l1_flag = 1;
+    p->chroma_weight_l1_flag = 1;
+    p->luma_weight_l0[0]=0x01;
+    for (i = 0; i < 32; i++) {
+        p->RefPicList0[i].flags = VA_PICTURE_H264_INVALID;
+        p->RefPicList1[i].flags = VA_PICTURE_H264_INVALID;
+    }
+    p->RefPicList1[0].picture_id = 0xffffffff;
+}
+
+static void SetVASliceParameterBufferH264_Intra(VASliceParameterBufferH264 *p, int first)
+{
+    int i;
+    memset(p, 0, sizeof(VASliceParameterBufferH264));
+    p->slice_data_size = 0;
+    p->slice_data_bit_offset = 64;
+    p->slice_alpha_c0_offset_div2 = 2;
+    p->slice_beta_offset_div2 = 2;
+    p->slice_type = 2;
+    if (first) {
+        p->luma_weight_l0_flag = 1;
+        p->chroma_weight_l0_flag = 1;
+        p->luma_weight_l1_flag = 1;
+        p->chroma_weight_l1_flag = 1;
+    } else {
+        p->chroma_weight_l0_flag = 1;
+        p->chroma_weight_l0[0][0]=1;
+        p->chroma_offset_l0[0][0]=0;
+        p->chroma_weight_l0[0][1]=1;
+        p->chroma_offset_l0[0][1]=0;
+        p->luma_weight_l1_flag = 1;
+        p->chroma_weight_l1_flag = 1;
+        p->luma_weight_l0[0]=0x01;
+    }
+    for (i = 0; i < 32; i++) {
+        p->RefPicList0[i].flags = VA_PICTURE_H264_INVALID;
+        p->RefPicList1[i].flags = VA_PICTURE_H264_INVALID;
+    }
+    p->RefPicList1[0].picture_id = 0xffffffff;
+    p->RefPicList0[0].picture_id = 0xffffffff;
+}
+
+static void nv12_to_rgba(const VAImage vaImage, rfbClient *client, int ch_x, int ch_y, int ch_w, int ch_h)
+{
+    DebugLog(("%s: converting region (%d, %d)-(%d, %d) from NV12->RGBA\n", __FUNCTION__, ch_x, ch_y, ch_w, ch_h));
+
+    VAStatus va_status;
+    uint8_t *nv12_buf;
+    va_status = vaMapBuffer(va_dpy, vaImage.buf, (void **)&nv12_buf);
+    CHECK_VASTATUS(va_status, "vaMapBuffer(DecodedData)");
+
+    /* adjust x, y, width, height of the affected area so
+     * x, y, width and height are always even.
+     */
+    if (ch_x % 2) { --ch_x; ++ch_w; }
+    if (ch_y % 2) { --ch_y; ++ch_h; }
+    if ((ch_x + ch_w) % 2) { ++ch_w; }
+    if ((ch_y + ch_h) % 2) { ++ch_h; }
+
+    /* point nv12_buf and dst to upper left corner of changed area */
+    uint8_t *nv12_y  = &nv12_buf[vaImage.offsets[0] + vaImage.pitches[0] * ch_y + ch_x];
+    uint8_t *nv12_uv = &nv12_buf[vaImage.offsets[1] + vaImage.pitches[1] * (ch_y / 2) + ch_x];
+    uint32_t *dst    = &((uint32_t*)client->frameBuffer)[client->width * ch_y + ch_x];
+
+    /* TODO: optimize R, G, B calculation. Possible ways to do this:
+     *       - use lookup tables
+     *       - convert from floating point to integer arithmetic
+     *       - use MMX/SSE to vectorize calculations
+     *       - use GPU (VA VPP, shader...)
+     */
+    int src_x, src_y;
+    for (src_y = 0; src_y < ch_h; src_y += 2) {
+        for (src_x = 0; src_x < ch_w; src_x += 2) {
+            uint8_t nv_u = nv12_uv[src_x];
+            uint8_t nv_v = nv12_uv[src_x + 1];
+            uint8_t nv_y[4] = { nv12_y[                     src_x], nv12_y[                     src_x + 1],
+                                nv12_y[vaImage.pitches[0] + src_x], nv12_y[vaImage.pitches[0] + src_x + 1] };
+
+        int i;
+            for (i = 0; i < 4; ++i) {
+                double R = 1.164 * (nv_y[i] - 16)                        + 1.596 * (nv_v - 128);
+                double G = 1.164 * (nv_y[i] - 16) - 0.391 * (nv_u - 128) - 0.813 * (nv_v - 128);
+                double B = 1.164 * (nv_y[i] - 16) + 2.018 * (nv_u - 128);
+
+                /* clamp R, G, B values. For some Y, U, V combinations,
+                 * the results of the above calculations fall outside of
+                 * the range 0-255.
+                 */
+                if (R < 0.0) R = 0.0;
+                if (G < 0.0) G = 0.0;
+                if (B < 0.0) B = 0.0;
+                if (R > 255.0) R = 255.0;
+                if (G > 255.0) G = 255.0;
+                if (B > 255.0) B = 255.0;
+
+                dst[client->width * (i / 2) + src_x + (i % 2)] = 0
+                               | ((unsigned int)(R + 0.5) << client->format.redShift)
+                               | ((unsigned int)(G + 0.5) << client->format.greenShift)
+                               | ((unsigned int)(B + 0.5) << client->format.blueShift);
+            }
+        }
+
+        nv12_y  += 2 * vaImage.pitches[0];
+        nv12_uv += vaImage.pitches[1];
+        dst     += 2 * client->width;
+    }
+
+    CHECK_SURF(va_surface_id[sid]);
+    va_status = vaUnmapBuffer(va_dpy, vaImage.buf);
+    CHECK_VASTATUS(va_status, "vaUnmapBuffer(DecodedData)");
+}
+
+#endif /* LIBVNCSERVER_CONFIG_LIBVA */
diff --git a/ica/x11/libvncclient/rfbproto.c b/ica/x11/libvncclient/rfbproto.c
index e28d454..db793a2 100644
--- a/ica/x11/libvncclient/rfbproto.c
+++ b/ica/x11/libvncclient/rfbproto.c
@@ -160,6 +160,10 @@ static void FillRectangle(rfbClient* client, int x, int y, int w, int h, uint32_
 static void CopyRectangle(rfbClient* client, uint8_t* buffer, int x, int y, int w, int h) {
   int j;
 
+  if (client->frameBuffer == NULL) {
+      return;
+  }
+
 #define COPY_RECT(BPP) \
   { \
     int rs = w * BPP / 8, rs2 = client->width * BPP / 8; \
@@ -262,6 +266,9 @@ static rfbBool HandleZRLE24Up(rfbClient* client, int rx, int ry, int rw, int rh)
 static rfbBool HandleZRLE24Down(rfbClient* client, int rx, int ry, int rw, int rh);
 static rfbBool HandleZRLE32(rfbClient* client, int rx, int ry, int rw, int rh);
 #endif
+#ifdef LIBVNCSERVER_CONFIG_LIBVA
+static rfbBool HandleH264 (rfbClient* client, int rx, int ry, int rw, int rh);
+#endif
 
 /*
  * Server Capability Functions
@@ -1358,6 +1365,10 @@ SetFormatAndEncodings(rfbClient* client)
 	encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingCoRRE);
       } else if (strncasecmp(encStr,"rre",encStrLen) == 0) {
 	encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingRRE);
+#ifdef LIBVNCSERVER_CONFIG_LIBVA
+      } else if (strncasecmp(encStr,"h264",encStrLen) == 0) {
+	encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingH264);
+#endif
       } else {
 	rfbClientLog("Unknown encoding '%.*s'\n",encStrLen,encStr);
       }
@@ -1426,6 +1437,10 @@ SetFormatAndEncodings(rfbClient* client)
       encs[se->nEncodings++] = rfbClientSwap32IfLE(client->appData.qualityLevel +
 					  rfbEncodingQualityLevel0);
     }
+#ifdef LIBVNCSERVER_CONFIG_LIBVA
+    encs[se->nEncodings++] = rfbClientSwap32IfLE(rfbEncodingH264);
+    rfbClientLog("h264 encoding added\n");
+#endif
   }
 
 
@@ -2149,6 +2164,14 @@ HandleRFBServerMessage(rfbClient* client)
      }
 
 #endif
+#ifdef LIBVNCSERVER_CONFIG_LIBVA
+      case rfbEncodingH264:
+      {
+	if (!HandleH264(client, rect.r.x, rect.r.y, rect.r.w, rect.r.h))
+	  return FALSE;
+	break;
+      }
+#endif
 
       default:
 	 {
@@ -2382,6 +2405,7 @@ HandleRFBServerMessage(rfbClient* client)
 #define UNCOMP -8
 #include "zrle.c"
 #undef BPP
+#include "h264.c"
 
 
 /*
diff --git a/ica/x11/libvncclient/vncviewer.c b/ica/x11/libvncclient/vncviewer.c
index 4153c97..3b16a6f 100644
--- a/ica/x11/libvncclient/vncviewer.c
+++ b/ica/x11/libvncclient/vncviewer.c
@@ -91,7 +91,11 @@ static rfbBool MallocFrameBuffer(rfbClient* client) {
 static void initAppData(AppData* data) {
 	data->shareDesktop=TRUE;
 	data->viewOnly=FALSE;
+#ifdef LIBVNCSERVER_CONFIG_LIBVA
+	data->encodingsString="h264 tight zrle ultra copyrect hextile zlib corre rre raw";
+#else
 	data->encodingsString="tight zrle ultra copyrect hextile zlib corre rre raw";
+#endif
 	data->useBGR233=FALSE;
 	data->nColours=0;
 	data->forceOwnCmap=FALSE;
@@ -129,6 +133,9 @@ rfbClient* rfbGetClient(int bitsPerSample,int samplesPerPixel,
   /* default: use complete frame buffer */ 
   client->updateRect.x = -1;
  
+  client->frameBuffer = NULL;
+  client->outputWindow = 0;
+ 
   client->format.bitsPerPixel = bytesPerPixel*8;
   client->format.depth = bitsPerSample*samplesPerPixel;
   client->appData.requestedDepth=client->format.depth;
@@ -365,6 +372,12 @@ void rfbClientCleanup(rfbClient* client) {
 
   FreeTLS(client);
 
+  while (client->clientData) {
+    rfbClientData* next = client->clientData->next;
+    free(client->clientData);
+    client->clientData = next;
+  }
+
   if (client->sock >= 0)
     close(client->sock);
   if (client->listenSock >= 0)
diff --git a/ica/x11/libvncserver/rfbregion.c b/ica/x11/libvncserver/rfbregion.c
index 0ab8a12..1947d7c 100644
--- a/ica/x11/libvncserver/rfbregion.c
+++ b/ica/x11/libvncserver/rfbregion.c
@@ -751,7 +751,7 @@ rfbBool sraRgnIteratorNext(sraRectangleIterator* i,sraRect* r)
       i->ptrSize += DEFSTEP;
       i->sPtrs = (sraSpan**)realloc(i->sPtrs, sizeof(sraSpan*)*i->ptrSize);
     }
-    i->ptrPos =+ 2;
+    i->ptrPos += 2;
     if(sraReverse(i)) {
       i->sPtrs[i->ptrPos]   =   i->sPtrs[i->ptrPos-2]->subspan->back._prev;
       i->sPtrs[i->ptrPos+1] = &(i->sPtrs[i->ptrPos-2]->subspan->front);
diff --git a/ica/x11/libvncserver/selbox.c b/ica/x11/libvncserver/selbox.c
index bbc6d52..c065505 100644
--- a/ica/x11/libvncserver/selbox.c
+++ b/ica/x11/libvncserver/selbox.c
@@ -235,7 +235,7 @@ int rfbSelectBox(rfbScreenInfoPtr rfbScreen,rfbFontDataPtr font,
 
    i = rfbWidthOfString(font,okStr);
    j = rfbWidthOfString(font,cancelStr);
-   selData.buttonWidth= k = 4*border+(i<j)?j:i;
+   selData.buttonWidth= k = 4*border+((i<j)?j:i);
    selData.okBX = x1+(x2-x1-2*k)/3;
    if(selData.okBX<x1+border) /* too narrow! */
      return(-1);
diff --git a/ica/x11/libvncserver/websockets.c b/ica/x11/libvncserver/websockets.c
index 10743fe..bd5d9d0 100644
--- a/ica/x11/libvncserver/websockets.c
+++ b/ica/x11/libvncserver/websockets.c
@@ -794,6 +794,7 @@ webSocketsEncodeHybi(rfbClientPtr cl, const char *src, int len, char **dst)
 	/* calculate the resulting size */
 	blen = B64LEN(len);
     } else {
+	opcode = WS_OPCODE_BINARY_FRAME;
 	blen = len;
     }
 
diff --git a/ima/data/italc.desktop.in b/ima/data/italc.desktop.in
index 4906d70..4a16b41 100644
--- a/ima/data/italc.desktop.in
+++ b/ima/data/italc.desktop.in
@@ -3,9 +3,10 @@ Encoding=UTF-8
 Name=iTALC
 GenericName=View and remote-control clients
 GenericName[de]=Clients überwachen und fernsteuern
+GenericName[ru]=Управление рабочими столами учеников
 Comment=Intelligent Teaching And Learning with Computers
-Icon=@prefix@/share/pixmaps/italc.png
-Exec=@prefix@/bin/italc
+Icon=italc
+Exec=@CMAKE_INSTALL_PREFIX@/bin/italc
 Type=Application
 Terminal=false
-Categories=Qt;KDE;Education;X-KDE-Edu-Teaching;
+Categories=Qt;KDE;Education;X-KDE-Edu-Teaching;RemoteAccess;
diff --git a/ima/dialogs/Config.ui b/ima/dialogs/Config.ui
index e800916..0bd5f13 100644
--- a/ima/dialogs/Config.ui
+++ b/ima/dialogs/Config.ui
@@ -231,6 +231,169 @@
        </item>
       </layout>
      </item>
+     <item>
+      <layout class="QHBoxLayout">
+       <property name="spacing">
+        <number>6</number>
+       </property>
+       <property name="margin">
+        <number>0</number>
+       </property>
+       <item>
+        <spacer>
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeType">
+          <enum>QSizePolicy::Fixed</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>1</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QLabel" name="label_3">
+         <property name="text">
+          <string>Language:</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QComboBox" name="languageCB">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <item>
+          <property name="text">
+           <string>System default</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>ar - العربية</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>cs - Česky</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>de - Deutsch</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>el - Ελληνικά</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>es - Español</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>fi - Suomi</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>fr - Français</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>he - עִבְרִית</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>hu - Magyar</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>it - Italiano</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>nl - Nederlands</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>nn - Norsk</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>pl - Polski</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>pt_br - Brasileiro</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>pt_pt - Português</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>ru - Русский</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>sk - Slovenský</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>sl - Slovenčina</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>sv - Svenska</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>tr - Türkçe</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>uk - Українська</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>zh_cn - 简体字</string>
+          </property>
+         </item>
+         <item>
+          <property name="text">
+           <string>zh_tw - 簡體字</string>
+          </property>
+         </item>
+        </widget>
+       </item>
+      </layout>
+     </item>
     </layout>
    </item>
    <item>
diff --git a/ima/italc.1 b/ima/italc.1
index 4c2133b..a695c33 100644
--- a/ima/italc.1
+++ b/ima/italc.1
@@ -2,34 +2,31 @@
 .\" First parameter, NAME, should be all caps
 .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
 .\" other parameters are allowed: see man(7), man(1)
-.TH ITALC 1 "February 1, 2008"
+.TH ITALC 1 2013-08-12 iTALC
 .SH NAME
 italc \- iTALC Master Application
 .SH SYNOPSIS
 .B italc
 .SH DESCRIPTION
 .B iTALC
-is the actual software to control iTALC-clients. Using it's GUI you can remote-control, lock, shutdown/reboot computers as well as show a demo, send text-messages to users and much more.
+is the actual software to control iTALC clients. Using its GUI you can remote control, lock, shutdown/reboot computers as well as show a demo, send text messages to users and much more.
 .
 .SH OPTIONS
 .IP "\fB\-rctrl\fP \fIhost:[port]\fP
 .IP
-Directly remote-control the specified host. You can omit port if the server is running at the default-port (11100).
+Directly remote control the specified host. You can omit port if the server is running at the default port (11100).
 .
-.IP "\fB\-isdport\fP \fIport\fP
+.IP "\fB\-screen\fP \fI<screen-number>\fP
 .IP
-Set port to which iTALC should connect in order to contact the local iTALC-service-daemon. Default: 11200
-.
-.IP "\fB\-isdhost\fP \fIip\fP
-.IP
-Set the host to which iTALC should connect in order to contact the local iTALC-service-daemon. Default: localhost
+Place the remote control window on another screen if running on a multi-headed workstation.
 .
 .PP
 .SH SEE ALSO
-.IR ica (1),
+.IR ica (1), imc (8), italc_auth_helper(1)
+.PP
 .IR http://italc.sf.net
 .SH AUTHOR
-iTALC was written by Tobias Doerffel. See AUTHORS for details.
+iTALC has been written by Tobias Doerffel. See AUTHORS for details.
 .PP
-This manual page was written by Steffen Joeris <steffen.joeris at skolelinux.de>
-and Tobias Doerffel <tobydox /at/ users /dot/ sf /dot/ net>, for the Debian project (but may be used by others).
+This manual page has been written by Steffen Joeris
+and Tobias Doerffel and updated by Mike Gabriel. It was originally written for the Debian project (but may be used by others).
diff --git a/ima/italc.rc b/ima/italc.rc
index 3c60dfe..fece217 100644
--- a/ima/italc.rc
+++ b/ima/italc.rc
@@ -2,7 +2,7 @@ italcicon ICON data/italc.ico
 #include <windows.h>
 
 VS_VERSION_INFO	VERSIONINFO
-  FILEVERSION	2,0,1,0
+  FILEVERSION	2,0,2,0
   FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
   FILEOS	VOS_NT_WINDOWS32
   FILETYPE	VFT_APP
@@ -17,7 +17,7 @@ BEGIN
       VALUE "CompanyName",	"iTALC Solutions\0"
       VALUE "FileDescription",	"iTALC Master Application\0"
       VALUE "FileVersion",	"\0"
-      VALUE "LegalCopyright",	"Copyright (c) 2004-2013 Tobias Doerffel\0"
+      VALUE "LegalCopyright",	"Copyright (c) 2004-2014 Tobias Doerffel\0"
       VALUE "OriginalFilename",	"italc.exe\0"
       VALUE "ProductName",	"iTALC\0"
       VALUE "ProductVersion",	"\0"
diff --git a/ima/italc.rc.in b/ima/italc.rc.in
index 3e57ee7..d84ebf1 100644
--- a/ima/italc.rc.in
+++ b/ima/italc.rc.in
@@ -2,7 +2,7 @@ italcicon ICON data/italc.ico
 #include <windows.h>
 
 VS_VERSION_INFO	VERSIONINFO
-  FILEVERSION	2,0,1,0
+  FILEVERSION	2,0,2,0
   FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
   FILEOS	VOS_NT_WINDOWS32
   FILETYPE	VFT_APP
@@ -17,7 +17,7 @@ BEGIN
       VALUE "CompanyName",	"iTALC Solutions\0"
       VALUE "FileDescription",	"iTALC Master Application\0"
       VALUE "FileVersion",	"@PACKAGE_VERSION@\0"
-      VALUE "LegalCopyright",	"Copyright (c) 2004-2013 Tobias Doerffel\0"
+      VALUE "LegalCopyright",	"Copyright (c) 2004-2014 Tobias Doerffel\0"
       VALUE "OriginalFilename",	"italc.exe\0"
       VALUE "ProductName",	"iTALC\0"
       VALUE "ProductVersion",	"@PACKAGE_VERSION@\0"
diff --git a/ima/resources/splash.png b/ima/resources/splash.png
index 127b71f..eea8cf6 100644
Binary files a/ima/resources/splash.png and b/ima/resources/splash.png differ
diff --git a/ima/src/ClassroomManager.h b/ima/src/ClassroomManager.h
index 62f0ccb..e507fdf 100644
--- a/ima/src/ClassroomManager.h
+++ b/ima/src/ClassroomManager.h
@@ -23,8 +23,8 @@
  */
 
 
-#ifndef _CLASSROOM_MANAGER_H
-#define _CLASSROOM_MANAGER_H
+#ifndef CLASSROOM_MANAGER_H
+#define CLASSROOM_MANAGER_H
 
 #include <QtCore/QString>
 #include <QtCore/QVector>
diff --git a/ima/src/Client.h b/ima/src/Client.h
index fbaca1b..ec75094 100644
--- a/ima/src/Client.h
+++ b/ima/src/Client.h
@@ -2,7 +2,7 @@
  * Client.h - declaration of class Client which represents a client, shows its
  *            display and allows controlling it in several ways
  *
- * Copyright (c) 2004-2011 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2004-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _CLIENT_H
-#define _CLIENT_H
+#ifndef CLIENT_H
+#define CLIENT_H
 
 #include <italcconfig.h>
 
diff --git a/ima/src/ConfigWidget.h b/ima/src/ConfigWidget.h
index 9801fc3..79e4d52 100644
--- a/ima/src/ConfigWidget.h
+++ b/ima/src/ConfigWidget.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _CONFIG_WIDGET_H
-#define _CONFIG_WIDGET_H
+#ifndef CONFIG_WIDGET_H
+#define CONFIG_WIDGET_H
 
 #include "SideBarWidget.h"
 #include "ui_Config.h"
diff --git a/ima/src/Dialogs.h b/ima/src/Dialogs.h
index da08db9..8a8fd0b 100644
--- a/ima/src/Dialogs.h
+++ b/ima/src/Dialogs.h
@@ -1,7 +1,7 @@
 /*
  * Dialogs.h - declaration of dialog classes
  *
- * Copyright (c) 2004-2011 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2004-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _DIALOGS_H
-#define _DIALOGS_H
+#ifndef DIALOGS_H
+#define DIALOGS_H
 
 #include <QtGui/QDialog>
 
diff --git a/ima/src/MainToolBar.h b/ima/src/MainToolBar.h
index eb8ab8c..235de9e 100644
--- a/ima/src/MainToolBar.h
+++ b/ima/src/MainToolBar.h
@@ -21,8 +21,8 @@
  * USA.
  */
 
-#ifndef _MAIN_TOOL_BAR_H
-#define _MAIN_TOOL_BAR_H
+#ifndef MAIN_TOOL_BAR_H
+#define MAIN_TOOL_BAR_H
 
 #include <QtGui/QToolBar>
 
diff --git a/ima/src/MainWindow.h b/ima/src/MainWindow.h
index 2cf4c3c..26fdbd7 100644
--- a/ima/src/MainWindow.h
+++ b/ima/src/MainWindow.h
@@ -1,7 +1,7 @@
 /*
  * MainWindow.h - main-window of iTALC
  *
- * Copyright (c) 2004-2010 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2004-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _MAIN_WINDOW_H
-#define _MAIN_WINDOW_H
+#ifndef MAIN_WINDOW_H
+#define MAIN_WINDOW_H
 
 #include <QtCore/QReadWriteLock>
 #include <QtCore/QThread>
diff --git a/ima/src/OverviewWidget.h b/ima/src/OverviewWidget.h
index fa1f08e..fb1084e 100644
--- a/ima/src/OverviewWidget.h
+++ b/ima/src/OverviewWidget.h
@@ -23,8 +23,8 @@
  */
 
 
-#ifndef _OVERVIEW_WIDGET_H
-#define _OVERVIEW_WIDGET_H
+#ifndef OVERVIEW_WIDGET_H
+#define OVERVIEW_WIDGET_H
 
 #include "SideBarWidget.h"
 #include "ui_Overview.h"
diff --git a/ima/src/RemoteControlWidget.h b/ima/src/RemoteControlWidget.h
index dff16a8..781c729 100644
--- a/ima/src/RemoteControlWidget.h
+++ b/ima/src/RemoteControlWidget.h
@@ -21,8 +21,8 @@
  *  USA.
  */
 
-#ifndef _REMOTE_CONTROL_WIDGET_H
-#define _REMOTE_CONTROL_WIDGET_H
+#ifndef REMOTE_CONTROL_WIDGET_H
+#define REMOTE_CONTROL_WIDGET_H
 
 #include <QtCore/QTimeLine>
 #include <QtGui/QWidget>
diff --git a/ima/src/RunCommandsDialog.h b/ima/src/RunCommandsDialog.h
index 39e9f07..d77138d 100644
--- a/ima/src/RunCommandsDialog.h
+++ b/ima/src/RunCommandsDialog.h
@@ -20,8 +20,8 @@
  *
  */
 
-#ifndef _RUN_COMMANDS_DIALOG_H
-#define _RUN_COMMANDS_DIALOG_H
+#ifndef RUN_COMMANDS_DIALOG_H
+#define RUN_COMMANDS_DIALOG_H
 
 #include <QtGui/QDialog>
 
diff --git a/ima/src/SideBar.h b/ima/src/SideBar.h
index 91db4ee..5bdc19f 100644
--- a/ima/src/SideBar.h
+++ b/ima/src/SideBar.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _SIDE_BAR_H
-#define _SIDE_BAR_H
+#ifndef SIDE_BAR_H
+#define SIDE_BAR_H
 
 #include <QtCore/QMap>
 #include <QtGui/QButtonGroup>
diff --git a/ima/src/SideBarWidget.h b/ima/src/SideBarWidget.h
index a881b20..2cb0b17 100644
--- a/ima/src/SideBarWidget.h
+++ b/ima/src/SideBarWidget.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _SIDE_BAR_WIDGET_H
-#define _SIDE_BAR_WIDGET_H
+#ifndef SIDE_BAR_WIDGET_H
+#define SIDE_BAR_WIDGET_H
 
 #include <QtGui/QWidget>
 #include <QtGui/QPixmap>
diff --git a/ima/src/SnapshotList.h b/ima/src/SnapshotList.h
index b448f81..778ef0e 100644
--- a/ima/src/SnapshotList.h
+++ b/ima/src/SnapshotList.h
@@ -1,7 +1,7 @@
 /*
  * SnapshotList.h - declaration of snapshot-list for side-bar
  *
- * Copyright (c) 2004-2009 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2004-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -23,8 +23,8 @@
  */
 
 
-#ifndef _SNAPSHOT_LIST_H
-#define _SNAPSHOT_LIST_H
+#ifndef SNAPSHOT_LIST_H
+#define SNAPSHOT_LIST_H
 
 #include <QtGui/QWidget>
 
diff --git a/ima/src/ToolButton.h b/ima/src/ToolButton.h
index d90dd5d..b631bc9 100644
--- a/ima/src/ToolButton.h
+++ b/ima/src/ToolButton.h
@@ -1,7 +1,7 @@
 /*
  * ToolButton.h - declaration of class ToolButton
  *
- * Copyright (c) 2006-2010 Tobias Doerffel <tobydox/at/users.sourceforge.net>
+ * Copyright (c) 2006-2013 Tobias Doerffel <tobydox/at/users.sourceforge.net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _TOOL_BUTTON_H
-#define _TOOL_BUTTON_H 
+#ifndef TOOL_BUTTON_H
+#define TOOL_BUTTON_H
 
 #include <QtGui/QToolButton>
 
diff --git a/ima/src/moc_ClassroomManager.cxx_parameters b/ima/src/moc_ClassroomManager.cxx_parameters
new file mode 100644
index 0000000..69ab259
--- /dev/null
+++ b/ima/src/moc_ClassroomManager.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ima/src/moc_ClassroomManager.cxx
+/tmp/foo/ima/src/ClassroomManager.h
diff --git a/ima/src/moc_Client.cxx_parameters b/ima/src/moc_Client.cxx_parameters
new file mode 100644
index 0000000..925e278
--- /dev/null
+++ b/ima/src/moc_Client.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ima/src/moc_Client.cxx
+/tmp/foo/ima/src/Client.h
diff --git a/ima/src/moc_ConfigWidget.cxx_parameters b/ima/src/moc_ConfigWidget.cxx_parameters
new file mode 100644
index 0000000..0c0d39c
--- /dev/null
+++ b/ima/src/moc_ConfigWidget.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ima/src/moc_ConfigWidget.cxx
+/tmp/foo/ima/src/ConfigWidget.h
diff --git a/ima/src/moc_Dialogs.cxx_parameters b/ima/src/moc_Dialogs.cxx_parameters
new file mode 100644
index 0000000..17fde9e
--- /dev/null
+++ b/ima/src/moc_Dialogs.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ima/src/moc_Dialogs.cxx
+/tmp/foo/ima/src/Dialogs.h
diff --git a/ima/src/moc_MainToolBar.cxx_parameters b/ima/src/moc_MainToolBar.cxx_parameters
new file mode 100644
index 0000000..017bf88
--- /dev/null
+++ b/ima/src/moc_MainToolBar.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ima/src/moc_MainToolBar.cxx
+/tmp/foo/ima/src/MainToolBar.h
diff --git a/ima/src/moc_MainWindow.cxx_parameters b/ima/src/moc_MainWindow.cxx_parameters
new file mode 100644
index 0000000..c8c7c8f
--- /dev/null
+++ b/ima/src/moc_MainWindow.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ima/src/moc_MainWindow.cxx
+/tmp/foo/ima/src/MainWindow.h
diff --git a/ima/src/moc_OverviewWidget.cxx_parameters b/ima/src/moc_OverviewWidget.cxx_parameters
new file mode 100644
index 0000000..3e8c452
--- /dev/null
+++ b/ima/src/moc_OverviewWidget.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ima/src/moc_OverviewWidget.cxx
+/tmp/foo/ima/src/OverviewWidget.h
diff --git a/ima/src/moc_RemoteControlWidget.cxx_parameters b/ima/src/moc_RemoteControlWidget.cxx_parameters
new file mode 100644
index 0000000..0a98b17
--- /dev/null
+++ b/ima/src/moc_RemoteControlWidget.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ima/src/moc_RemoteControlWidget.cxx
+/tmp/foo/ima/src/RemoteControlWidget.h
diff --git a/ima/src/moc_RunCommandsDialog.cxx_parameters b/ima/src/moc_RunCommandsDialog.cxx_parameters
new file mode 100644
index 0000000..3f840e0
--- /dev/null
+++ b/ima/src/moc_RunCommandsDialog.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ima/src/moc_RunCommandsDialog.cxx
+/tmp/foo/ima/src/RunCommandsDialog.h
diff --git a/ima/src/moc_SideBar.cxx_parameters b/ima/src/moc_SideBar.cxx_parameters
new file mode 100644
index 0000000..f00b321
--- /dev/null
+++ b/ima/src/moc_SideBar.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ima/src/moc_SideBar.cxx
+/tmp/foo/ima/src/SideBar.h
diff --git a/ima/src/moc_SideBarWidget.cxx_parameters b/ima/src/moc_SideBarWidget.cxx_parameters
new file mode 100644
index 0000000..7abad79
--- /dev/null
+++ b/ima/src/moc_SideBarWidget.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ima/src/moc_SideBarWidget.cxx
+/tmp/foo/ima/src/SideBarWidget.h
diff --git a/ima/src/moc_SnapshotList.cxx_parameters b/ima/src/moc_SnapshotList.cxx_parameters
new file mode 100644
index 0000000..dd33e25
--- /dev/null
+++ b/ima/src/moc_SnapshotList.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ima/src/moc_SnapshotList.cxx
+/tmp/foo/ima/src/SnapshotList.h
diff --git a/ima/src/moc_ToolButton.cxx_parameters b/ima/src/moc_ToolButton.cxx_parameters
new file mode 100644
index 0000000..5da0d20
--- /dev/null
+++ b/ima/src/moc_ToolButton.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/ima/src/moc_ToolButton.cxx
+/tmp/foo/ima/src/ToolButton.h
diff --git a/imc/imc.1 b/imc/imc.1
index a44acc1..e0e6e97 100644
--- a/imc/imc.1
+++ b/imc/imc.1
@@ -1,19 +1,20 @@
-.TH imc 1 "Date: 2011/16/12 10:00:00" "imc"
+.TH IMC 1 2013-08-12 iTALC
 .SH NAME
-imc \- is the iTALC management console to setup iTALC.
+imc \- iTALC Management Console
 .SH SYNOPSIS
 \fBimc\fP [\fIoptions\fP]
-.SH OVERVIEW
+.SH DESCRIPTION
 
-imc\[rg], is a X11 program to modify the various settings used by italc-client and italc-master.
+imc is a graphical program to modify the various settings used by italc-client and italc-master.
 
 imc is free software delivered as a ready-to-run binary distribution or as source code that you can freely use, copy, modify, and distribute. Its license is compatible with the GPL. It runs on all major operating systems.
 
-The functionality of imc is typically utilized from X11 but also from the command line.
+Most of the functionality of imc is provided by its graphical user interface however a few things can be changed from the command line as well.
 
-In the paragraphs below, find a short description for each command-line option.If you are just getting acquianted with imc, start the program without any options.
-.TP
-.B -ListConfig -l
+In the paragraphs below, find a short description for each command line option. If you are just getting acquainted with imc, start the program without any options.
+.
+.SH OPTIONS
+.B -l, -ListConfig
 
 The current configuration with all keys and values will be listed. This will give an output like
    ...
@@ -23,22 +24,22 @@ The current configuration with all keys and values will be listed. This will giv
    ...
 
 .TP
-.B -SetConfigValue -s
+.B -s, -SetConfigValue
 
-The value of configuration property can be changed with this option.
+The value of a configuration property can be changed with this option.
 Examples:
-  imc -SetConfigValue Logging/LogFileDirectory C:\temp
   imc -s Logging/LogLevel=4
+  imc -SetConfigValue Logging/LogFileDirectory /tmp/italc
 
 .TP
-.B -ApplySettings -a
+.B -a, -ApplySettings
 
 You can apply the settings previously saved in a settings file using this command.
 Examples:
   imc -ApplySettings MyCustomSettings.xml
 
 .TP
-.B -ImportPublicKey -i
+.B -i, -ImportPublicKey
 
 You can import a public key file which has been exported during the installation
 of the iTALC master computer using this command or its abbreviation.
@@ -51,7 +52,7 @@ Examples:
   imc -i
 
 .TP
-.B -createkeypair <path>
+.B -CreateKeypair <path>
 
 creates a new key pair for the default role (teacher) with the specified "path" as base dir. If "path" is omitted 
 the path is taken from the settings file. This is used in conjunction with role. If role is omitted the default
@@ -60,12 +61,17 @@ role is "teacher".
 .TP
 .B -role [supporter|teacher|admin]
 
-in connection with "createkeypair" creates a key pair for the specified role.
+in connection with "CreateKeypair" creates a key pair for the specified role.
 
 .PP
 For more information about the imc, point your browser to file:///usr/share/doc/packages/imc or http://italc.sourceforge.net/.
 .SH SEE ALSO
 ica(1), italc(1)
 
-.SH COPYRIGHT
-\fBCopyright (C) 2004-2011 Tobias Doerffel. Additional copyrights and licenses apply to this software, see http://italc.sourceforge.net\fP
+.PP
+.IR http://italc.sf.net/
+
+.SH AUTHOR
+iTALC has been written by Tobias Doerffel. See AUTHORS for details.
+.PP
+This manual page has been written by Frank Schütte and updated by Tobias Doerffel.
diff --git a/imc/imc.rc b/imc/imc.rc
index be19391..7beaa04 100644
--- a/imc/imc.rc
+++ b/imc/imc.rc
@@ -2,7 +2,7 @@ imcicon ICON Resources/imc.ico
 #include <windows.h>
 
 VS_VERSION_INFO	VERSIONINFO
-  FILEVERSION	2,0,1,0
+  FILEVERSION	2,0,2,0
   FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
   FILEOS	VOS_NT_WINDOWS32
   FILETYPE	VFT_APP
@@ -17,7 +17,7 @@ BEGIN
       VALUE "CompanyName",	"iTALC Solutions\0"
       VALUE "FileDescription",	"iTALC Management Console\0"
       VALUE "FileVersion",	"\0"
-      VALUE "LegalCopyright",	"Copyright (c) 2010-2013 Tobias Doerffel\0"
+      VALUE "LegalCopyright",	"Copyright (c) 2010-2014 Tobias Doerffel\0"
       VALUE "OriginalFilename",	"imc.exe\0"
       VALUE "ProductName",	"iTALC\0"
       VALUE "ProductVersion",	"\0"
diff --git a/imc/imc.rc.in b/imc/imc.rc.in
index c1704d3..8afe1a4 100644
--- a/imc/imc.rc.in
+++ b/imc/imc.rc.in
@@ -2,7 +2,7 @@ imcicon ICON Resources/imc.ico
 #include <windows.h>
 
 VS_VERSION_INFO	VERSIONINFO
-  FILEVERSION	2,0,1,0
+  FILEVERSION	2,0,2,0
   FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
   FILEOS	VOS_NT_WINDOWS32
   FILETYPE	VFT_APP
@@ -17,7 +17,7 @@ BEGIN
       VALUE "CompanyName",	"iTALC Solutions\0"
       VALUE "FileDescription",	"iTALC Management Console\0"
       VALUE "FileVersion",	"@PACKAGE_VERSION@\0"
-      VALUE "LegalCopyright",	"Copyright (c) 2010-2013 Tobias Doerffel\0"
+      VALUE "LegalCopyright",	"Copyright (c) 2010-2014 Tobias Doerffel\0"
       VALUE "OriginalFilename",	"imc.exe\0"
       VALUE "ProductName",	"iTALC\0"
       VALUE "ProductVersion",	"@PACKAGE_VERSION@\0"
diff --git a/imc/src/FileSystemBrowser.h b/imc/src/FileSystemBrowser.h
index e22a2c9..2842ac1 100644
--- a/imc/src/FileSystemBrowser.h
+++ b/imc/src/FileSystemBrowser.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _FILE_SYSTEM_BROWSER_H
-#define _FILE_SYSTEM_BROWSER_H
+#ifndef FILE_SYSTEM_BROWSER_H
+#define FILE_SYSTEM_BROWSER_H
 
 #include <QtCore/QString>
 
diff --git a/imc/src/ImcCore.h b/imc/src/ImcCore.h
index 53ed59e..0a59bb6 100644
--- a/imc/src/ImcCore.h
+++ b/imc/src/ImcCore.h
@@ -1,7 +1,7 @@
 /*
  * ImcCore.h - global instances for the iTALC Management Console
  *
- * Copyright (c) 2010 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2010-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _IMC_CORE_H
-#define _IMC_CORE_H
+#ifndef IMC_CORE_H
+#define IMC_CORE_H
 
 #include <QtCore/QDir>
 #include <QtCore/QCoreApplication>
diff --git a/imc/src/KeyDirectoriesPage.h b/imc/src/KeyDirectoriesPage.h
index 85d9ef5..a4a87c2 100644
--- a/imc/src/KeyDirectoriesPage.h
+++ b/imc/src/KeyDirectoriesPage.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _KEY_DIRECTORIES_PAGE_H
-#define _KEY_DIRECTORIES_PAGE_H
+#ifndef KEY_DIRECTORIES_PAGE_H
+#define KEY_DIRECTORIES_PAGE_H
 
 #include <QtGui/QWizardPage>
 
diff --git a/imc/src/KeyFileAssistant.h b/imc/src/KeyFileAssistant.h
index 2c4cdef..ca15f6a 100644
--- a/imc/src/KeyFileAssistant.h
+++ b/imc/src/KeyFileAssistant.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _KEY_FILE_ASSISTANT_H
-#define _KEY_FILE_ASSISTANT_H
+#ifndef KEY_FILE_ASSISTANT_H
+#define KEY_FILE_ASSISTANT_H
 
 #include <QtGui/QWizard>
 
diff --git a/imc/src/KeyFileAssistantModePage.h b/imc/src/KeyFileAssistantModePage.h
index 2967226..ec6a9b2 100644
--- a/imc/src/KeyFileAssistantModePage.h
+++ b/imc/src/KeyFileAssistantModePage.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _KEY_FILE_ASSISTANT_MODE_PAGE_H
-#define _KEY_FILE_ASSISTANT_MODE_PAGE_H
+#ifndef KEY_FILE_ASSISTANT_MODE_PAGE_H
+#define KEY_FILE_ASSISTANT_MODE_PAGE_H
 
 #include <QtGui/QWizardPage>
 
diff --git a/imc/src/LogonAclSettings.h b/imc/src/LogonAclSettings.h
index 0360871..c2f8fdd 100644
--- a/imc/src/LogonAclSettings.h
+++ b/imc/src/LogonAclSettings.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _LOGON_ACL_SETTINGS_H
-#define _LOGON_ACL_SETTINGS_H
+#ifndef LOGON_ACL_SETTINGS_H
+#define LOGON_ACL_SETTINGS_H
 
 #include <italcconfig.h>
 
diff --git a/imc/src/LogonGroupEditor.h b/imc/src/LogonGroupEditor.h
index 38a98d7..c5a831b 100644
--- a/imc/src/LogonGroupEditor.h
+++ b/imc/src/LogonGroupEditor.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _LOGON_GROUP_EDITOR_H
-#define _LOGON_GROUP_EDITOR_H
+#ifndef LOGON_GROUP_EDITOR_H
+#define LOGON_GROUP_EDITOR_H
 
 #include <QtGui/QDialog>
 
diff --git a/imc/src/MainWindow.h b/imc/src/MainWindow.h
index d6c29cb..85304f9 100644
--- a/imc/src/MainWindow.h
+++ b/imc/src/MainWindow.h
@@ -1,7 +1,7 @@
 /*
  * MainWindow.h - main window of the iTALC Management Console
  *
- * Copyright (c) 2010-2011 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2010-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _MAIN_WINDOW_H
-#define _MAIN_WINDOW_H
+#ifndef MAIN_WINDOW_H
+#define MAIN_WINDOW_H
 
 #include <QtGui/QMainWindow>
 
diff --git a/imc/src/SystemConfigurationModifier.cpp b/imc/src/SystemConfigurationModifier.cpp
index 0f274f7..90fd32d 100644
--- a/imc/src/SystemConfigurationModifier.cpp
+++ b/imc/src/SystemConfigurationModifier.cpp
@@ -2,7 +2,7 @@
  * SystemConfigurationModifier.cpp - class for easy modification of iTALC-related
  *                                   settings in the operating system
  *
- * Copyright (c) 2010-2011 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2010-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -533,6 +533,15 @@ bool SystemConfigurationModifier::enableFirewallException( bool enabled )
 			hr = WindowsFirewallAddApp2( fwPolicy2, icaPath, fwRuleName );
 			if( FAILED( hr ) )
 			{
+				// failed because firewall service not running / disabled?
+				if( (DWORD) hr == 0x800706D9 )
+				{
+					// then assume this is intended, log a warning and
+					// pretend everything went well
+					qWarning() << "Windows Firewall service not running or disabled - can't add or remove firewall exception!";
+					return true;
+				}
+
 				ilog_failedf( "WindowsFirewallAddApp2()", "0x%08lx\n", hr );
 				return false;
 			}
@@ -549,6 +558,15 @@ bool SystemConfigurationModifier::enableFirewallException( bool enabled )
 		hr = WindowsFirewallInitialize( &fwProfile );
 		if( FAILED( hr ) )
 		{
+			// failed because firewall service not running / disabled?
+			if( (DWORD) hr == 0x800706D9 )
+			{
+				// then assume this is intended, log a warning and
+				// pretend everything went well
+				qWarning() << "Windows Firewall service not running or disabled - can't add or remove firewall exception!";
+				return true;
+			}
+
 			ilog_failedf( "WindowsFirewallInitialize()", "0x%08lx\n", hr );
 			return false;
 		}
diff --git a/imc/src/SystemConfigurationModifier.h b/imc/src/SystemConfigurationModifier.h
index 252439a..fde304a 100644
--- a/imc/src/SystemConfigurationModifier.h
+++ b/imc/src/SystemConfigurationModifier.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _SYSTEM_CONFIGURATION_MODIFIER_H
-#define _SYSTEM_CONFIGURATION_MODIFIER_H
+#ifndef SYSTEM_CONFIGURATION_MODIFIER_H
+#define SYSTEM_CONFIGURATION_MODIFIER_H
 
 #include <QtCore/QString>
 
diff --git a/imc/src/Win32AclEditor.h b/imc/src/Win32AclEditor.h
index a25e174..734ce16 100644
--- a/imc/src/Win32AclEditor.h
+++ b/imc/src/Win32AclEditor.h
@@ -20,8 +20,8 @@
 // which you received this file, check
 // http://ultravnc.sourceforge.net/
 
-#ifndef _WIN32_ACL_EDITOR_H
-#define _WIN32_ACL_EDITOR_H
+#ifndef WIN32_ACL_EDITOR_H
+#define WIN32_ACL_EDITOR_H
 
 #include <windows.h>
 #include <aclui.h>
diff --git a/imc/src/moc_FileSystemBrowser.cxx_parameters b/imc/src/moc_FileSystemBrowser.cxx_parameters
new file mode 100644
index 0000000..4ae6f97
--- /dev/null
+++ b/imc/src/moc_FileSystemBrowser.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/imc/src/moc_FileSystemBrowser.cxx
+/tmp/foo/imc/src/FileSystemBrowser.h
diff --git a/imc/src/moc_ImcCore.cxx_parameters b/imc/src/moc_ImcCore.cxx_parameters
new file mode 100644
index 0000000..37c6a8f
--- /dev/null
+++ b/imc/src/moc_ImcCore.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/imc/src/moc_ImcCore.cxx
+/tmp/foo/imc/src/ImcCore.h
diff --git a/imc/src/moc_KeyDirectoriesPage.cxx_parameters b/imc/src/moc_KeyDirectoriesPage.cxx_parameters
new file mode 100644
index 0000000..54b8721
--- /dev/null
+++ b/imc/src/moc_KeyDirectoriesPage.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/imc/src/moc_KeyDirectoriesPage.cxx
+/tmp/foo/imc/src/KeyDirectoriesPage.h
diff --git a/imc/src/moc_KeyFileAssistant.cxx_parameters b/imc/src/moc_KeyFileAssistant.cxx_parameters
new file mode 100644
index 0000000..292406e
--- /dev/null
+++ b/imc/src/moc_KeyFileAssistant.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/imc/src/moc_KeyFileAssistant.cxx
+/tmp/foo/imc/src/KeyFileAssistant.h
diff --git a/imc/src/moc_KeyFileAssistantModePage.cxx_parameters b/imc/src/moc_KeyFileAssistantModePage.cxx_parameters
new file mode 100644
index 0000000..2cbbc84
--- /dev/null
+++ b/imc/src/moc_KeyFileAssistantModePage.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/imc/src/moc_KeyFileAssistantModePage.cxx
+/tmp/foo/imc/src/KeyFileAssistantModePage.h
diff --git a/imc/src/moc_LogonAclSettings.cxx_parameters b/imc/src/moc_LogonAclSettings.cxx_parameters
new file mode 100644
index 0000000..3f315e7
--- /dev/null
+++ b/imc/src/moc_LogonAclSettings.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/imc/src/moc_LogonAclSettings.cxx
+/tmp/foo/imc/src/LogonAclSettings.h
diff --git a/imc/src/moc_LogonGroupEditor.cxx_parameters b/imc/src/moc_LogonGroupEditor.cxx_parameters
new file mode 100644
index 0000000..fb8214f
--- /dev/null
+++ b/imc/src/moc_LogonGroupEditor.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/imc/src/moc_LogonGroupEditor.cxx
+/tmp/foo/imc/src/LogonGroupEditor.h
diff --git a/imc/src/moc_MainWindow.cxx_parameters b/imc/src/moc_MainWindow.cxx_parameters
new file mode 100644
index 0000000..200fbda
--- /dev/null
+++ b/imc/src/moc_MainWindow.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/imc/src/moc_MainWindow.cxx
+/tmp/foo/imc/src/MainWindow.h
diff --git a/imc/src/moc_SystemConfigurationModifier.cxx_parameters b/imc/src/moc_SystemConfigurationModifier.cxx_parameters
new file mode 100644
index 0000000..52e7feb
--- /dev/null
+++ b/imc/src/moc_SystemConfigurationModifier.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/imc/src/moc_SystemConfigurationModifier.cxx
+/tmp/foo/imc/src/SystemConfigurationModifier.h
diff --git a/imc/src/moc_Win32AclEditor.cxx_parameters b/imc/src/moc_Win32AclEditor.cxx_parameters
new file mode 100644
index 0000000..351f534
--- /dev/null
+++ b/imc/src/moc_Win32AclEditor.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/imc/src/moc_Win32AclEditor.cxx
+/tmp/foo/imc/src/Win32AclEditor.h
diff --git a/imc/src/moc_netfw.cxx_parameters b/imc/src/moc_netfw.cxx_parameters
new file mode 100644
index 0000000..d5532ae
--- /dev/null
+++ b/imc/src/moc_netfw.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/imc/src/moc_netfw.cxx
+/tmp/foo/imc/src/netfw.h
diff --git a/lib/include/AboutDialog.h b/lib/include/AboutDialog.h
index f1831b1..6c26293 100644
--- a/lib/include/AboutDialog.h
+++ b/lib/include/AboutDialog.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _ABOUT_DIALOG_H
-#define _ABOUT_DIALOG_H
+#ifndef ABOUT_DIALOG_H
+#define ABOUT_DIALOG_H
 
 #include <QtGui/QDialog>
 
diff --git a/lib/include/AuthenticationCredentials.h b/lib/include/AuthenticationCredentials.h
index 81e1dac..e869d72 100644
--- a/lib/include/AuthenticationCredentials.h
+++ b/lib/include/AuthenticationCredentials.h
@@ -1,7 +1,7 @@
 /*
  * AuthenticationCredentials.h - class holding credentials for authentication
  *
- * Copyright (c) 2010 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2010-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _AUTHENTICATION_CREDENTIALS_H
-#define _AUTHENTICATION_CREDENTIALS_H
+#ifndef AUTHENTICATION_CREDENTIALS_H
+#define AUTHENTICATION_CREDENTIALS_H
 
 #include <QtCore/QString>
 
diff --git a/lib/include/Configuration/LocalStore.h b/lib/include/Configuration/LocalStore.h
index de09554..14c6933 100644
--- a/lib/include/Configuration/LocalStore.h
+++ b/lib/include/Configuration/LocalStore.h
@@ -1,7 +1,7 @@
 /*
  * Configuration/LocalStore.h - LocalStore class
  *
- * Copyright (c) 2009-2011 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2009-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _CONFIGURATION_LOCAL_STORE_H
-#define _CONFIGURATION_LOCAL_STORE_H
+#ifndef CONFIGURATION_LOCAL_STORE_H
+#define CONFIGURATION_LOCAL_STORE_H
 
 #include "Configuration/Store.h"
 
diff --git a/lib/include/Configuration/Object.h b/lib/include/Configuration/Object.h
index e8d6b55..55fa938 100644
--- a/lib/include/Configuration/Object.h
+++ b/lib/include/Configuration/Object.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _CONFIGURATION_OBJECT_H
-#define _CONFIGURATION_OBJECT_H
+#ifndef CONFIGURATION_OBJECT_H
+#define CONFIGURATION_OBJECT_H
 
 #include <QtCore/QObject>
 
diff --git a/lib/include/Configuration/Store.h b/lib/include/Configuration/Store.h
index 0a027bc..d522a6c 100644
--- a/lib/include/Configuration/Store.h
+++ b/lib/include/Configuration/Store.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _CONFIGURATION_STORE_H
-#define _CONFIGURATION_STORE_H
+#ifndef CONFIGURATION_STORE_H
+#define CONFIGURATION_STORE_H
 
 #include <QtCore/QMap>
 #include <QtCore/QString>
diff --git a/lib/include/Configuration/UiMapping.h b/lib/include/Configuration/UiMapping.h
index a558537..1a01bc5 100644
--- a/lib/include/Configuration/UiMapping.h
+++ b/lib/include/Configuration/UiMapping.h
@@ -1,7 +1,7 @@
 /*
  * Configuration/UiMapping.h - helper macros for connecting config with UI
  *
- * Copyright (c) 2010 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2010-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _CONFIGURATION_UI_MAPPING_H
-#define _CONFIGURATION_UI_MAPPING_H
+#ifndef CONFIGURATION_UI_MAPPING_H
+#define CONFIGURATION_UI_MAPPING_H
 
 // widget initialization
 #define _INIT_WIDGET_FROM_PROPERTY(config,property,widgetType,setvalue)				\
diff --git a/lib/include/Configuration/XmlStore.h b/lib/include/Configuration/XmlStore.h
index 0257e9a..4d46ded 100644
--- a/lib/include/Configuration/XmlStore.h
+++ b/lib/include/Configuration/XmlStore.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _CONFIGURATION_XML_STORE_H
-#define _CONFIGURATION_XML_STORE_H
+#ifndef CONFIGURATION_XML_STORE_H
+#define CONFIGURATION_XML_STORE_H
 
 #include "Configuration/Store.h"
 
diff --git a/lib/include/Configuration/moc_LocalStore.cxx_parameters b/lib/include/Configuration/moc_LocalStore.cxx_parameters
new file mode 100644
index 0000000..47a9096
--- /dev/null
+++ b/lib/include/Configuration/moc_LocalStore.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/Configuration/moc_LocalStore.cxx
+/tmp/foo/lib/include/Configuration/LocalStore.h
diff --git a/lib/include/Configuration/moc_Object.cxx_parameters b/lib/include/Configuration/moc_Object.cxx_parameters
new file mode 100644
index 0000000..d2586e0
--- /dev/null
+++ b/lib/include/Configuration/moc_Object.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/Configuration/moc_Object.cxx
+/tmp/foo/lib/include/Configuration/Object.h
diff --git a/lib/include/Configuration/moc_Store.cxx_parameters b/lib/include/Configuration/moc_Store.cxx_parameters
new file mode 100644
index 0000000..a57abe0
--- /dev/null
+++ b/lib/include/Configuration/moc_Store.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/Configuration/moc_Store.cxx
+/tmp/foo/lib/include/Configuration/Store.h
diff --git a/lib/include/Configuration/moc_UiMapping.cxx_parameters b/lib/include/Configuration/moc_UiMapping.cxx_parameters
new file mode 100644
index 0000000..48eea37
--- /dev/null
+++ b/lib/include/Configuration/moc_UiMapping.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/Configuration/moc_UiMapping.cxx
+/tmp/foo/lib/include/Configuration/UiMapping.h
diff --git a/lib/include/Configuration/moc_XmlStore.cxx_parameters b/lib/include/Configuration/moc_XmlStore.cxx_parameters
new file mode 100644
index 0000000..623eee7
--- /dev/null
+++ b/lib/include/Configuration/moc_XmlStore.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/Configuration/moc_XmlStore.cxx
+/tmp/foo/lib/include/Configuration/XmlStore.h
diff --git a/lib/include/DecoratedMessageBox.h b/lib/include/DecoratedMessageBox.h
index 3188ff0..82befd9 100644
--- a/lib/include/DecoratedMessageBox.h
+++ b/lib/include/DecoratedMessageBox.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _DECORATED_MESSAGEBOX_H
-#define _DECORATED_MESSAGEBOX_H
+#ifndef DECORATED_MESSAGEBOX_H
+#define DECORATED_MESSAGEBOX_H
 
 #include <QtGui/QDialog>
 #include <QtGui/QPixmap>
diff --git a/lib/include/DsaKey.h b/lib/include/DsaKey.h
index 7853e35..3056473 100644
--- a/lib/include/DsaKey.h
+++ b/lib/include/DsaKey.h
@@ -2,7 +2,7 @@
  * DsaKey.h - easy to use C++ classes for dealing with DSA-keys, -signatures
  *            etc.
  *
- * Copyright (c) 2006-2010 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2006-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -38,8 +38,8 @@
  *
  ****************************************************************************/
 
-#ifndef _DSA_KEY_H
-#define _DSA_KEY_H
+#ifndef DSA_KEY_H
+#define DSA_KEY_H
 
 #include <QtCore/QByteArray>
 #include <QtCore/QString>
diff --git a/lib/include/FastQImage.h b/lib/include/FastQImage.h
index caa5f22..c05ef97 100644
--- a/lib/include/FastQImage.h
+++ b/lib/include/FastQImage.h
@@ -1,7 +1,7 @@
 /*
  * FastQImage.h - class FastQImage providing fast inline-QImage-manips
  *
- * Copyright (c) 2006-2010 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2006-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _FAST_QIMAGE_H
-#define _FAST_QIMAGE_H
+#ifndef FAST_QIMAGE_H
+#define FAST_QIMAGE_H
 
 #include <stdint.h>
 
@@ -120,7 +120,8 @@ public:
 									const
 	{
 		if( tm == Qt::SmoothTransformation &&
-						arm == Qt::IgnoreAspectRatio )
+			arm == Qt::IgnoreAspectRatio &&
+			size.isEmpty() == false )
 		{
 			QImage tmp( size, format() );
 			scaleTo( tmp );
diff --git a/lib/include/Inject.h b/lib/include/Inject.h
index bbb78d1..c3ae87a 100644
--- a/lib/include/Inject.h
+++ b/lib/include/Inject.h
@@ -2,7 +2,7 @@
  * Inject.h - functions for injecting code into winlogon.exe for disabling
  *            SAS (Alt+Ctrl+Del)
  *
- * Copyright (c) 2006-2009 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2006-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -24,8 +24,8 @@
  */
 
 
-#ifndef _INJECT_H
-#define _INJECT_H
+#ifndef INJECT_H
+#define INJECT_H
 
 #include <italcconfig.h>
 
diff --git a/lib/include/Ipc/Core.h b/lib/include/Ipc/Core.h
index 7437e38..c2df199 100644
--- a/lib/include/Ipc/Core.h
+++ b/lib/include/Ipc/Core.h
@@ -1,7 +1,7 @@
 /*
  * IpcCore.h - core definitions for the IPC framework
  *
- * Copyright (c) 2010 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2010-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  * Copyright (c) 2010 Univention GmbH
  *
  * This file is part of iTALC - http://italc.sourceforge.net
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _IPC_CORE_H
-#define _IPC_CORE_H
+#ifndef IPC_CORE_H
+#define IPC_CORE_H
 
 #include <QtCore/QMap>
 #include <QtCore/QString>
diff --git a/lib/include/Ipc/Master.h b/lib/include/Ipc/Master.h
index d739810..58a541e 100644
--- a/lib/include/Ipc/Master.h
+++ b/lib/include/Ipc/Master.h
@@ -1,7 +1,7 @@
 /*
  * IpcMaster.h - class Ipc::Master which manages Ipc::Slaves
  *
- * Copyright (c) 2010-2011 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2010-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  * Copyright (c) 2010 Univention GmbH
  *
  * This file is part of iTALC - http://italc.sourceforge.net
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _IPC_MASTER_H
-#define _IPC_MASTER_H
+#ifndef IPC_MASTER_H
+#define IPC_MASTER_H
 
 #include "Ipc/Core.h"
 
diff --git a/lib/include/Ipc/QtSlaveLauncher.h b/lib/include/Ipc/QtSlaveLauncher.h
index e4b4ecf..412c832 100644
--- a/lib/include/Ipc/QtSlaveLauncher.h
+++ b/lib/include/Ipc/QtSlaveLauncher.h
@@ -24,8 +24,8 @@
  *
  */
 
-#ifndef _IPC_QT_SLAVE_LAUNCHER_H
-#define _IPC_QT_SLAVE_LAUNCHER_H
+#ifndef IPC_QT_SLAVE_LAUNCHER_H
+#define IPC_QT_SLAVE_LAUNCHER_H
 
 #include <QtCore/QMutex>
 
diff --git a/lib/include/Ipc/Slave.h b/lib/include/Ipc/Slave.h
index 540d5c0..812d462 100644
--- a/lib/include/Ipc/Slave.h
+++ b/lib/include/Ipc/Slave.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _IPC_SLAVE_H
-#define _IPC_SLAVE_H
+#ifndef IPC_SLAVE_H
+#define IPC_SLAVE_H
 
 #include <QtCore/QTime>
 #include <QtCore/QTimer>
diff --git a/lib/include/Ipc/SlaveLauncher.h b/lib/include/Ipc/SlaveLauncher.h
index 1965482..3c1059d 100644
--- a/lib/include/Ipc/SlaveLauncher.h
+++ b/lib/include/Ipc/SlaveLauncher.h
@@ -24,8 +24,8 @@
  *
  */
 
-#ifndef _IPC_SLAVE_LAUNCHER_H
-#define _IPC_SLAVE_LAUNCHER_H
+#ifndef IPC_SLAVE_LAUNCHER_H
+#define IPC_SLAVE_LAUNCHER_H
 
 #include "Ipc/Core.h"
 
diff --git a/lib/include/Ipc/moc_Core.cxx_parameters b/lib/include/Ipc/moc_Core.cxx_parameters
new file mode 100644
index 0000000..db2aada
--- /dev/null
+++ b/lib/include/Ipc/moc_Core.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/Ipc/moc_Core.cxx
+/tmp/foo/lib/include/Ipc/Core.h
diff --git a/lib/include/Ipc/moc_Master.cxx_parameters b/lib/include/Ipc/moc_Master.cxx_parameters
new file mode 100644
index 0000000..2a90d70
--- /dev/null
+++ b/lib/include/Ipc/moc_Master.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/Ipc/moc_Master.cxx
+/tmp/foo/lib/include/Ipc/Master.h
diff --git a/lib/include/Ipc/moc_QtSlaveLauncher.cxx_parameters b/lib/include/Ipc/moc_QtSlaveLauncher.cxx_parameters
new file mode 100644
index 0000000..faa6d41
--- /dev/null
+++ b/lib/include/Ipc/moc_QtSlaveLauncher.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/Ipc/moc_QtSlaveLauncher.cxx
+/tmp/foo/lib/include/Ipc/QtSlaveLauncher.h
diff --git a/lib/include/Ipc/moc_Slave.cxx_parameters b/lib/include/Ipc/moc_Slave.cxx_parameters
new file mode 100644
index 0000000..276cf23
--- /dev/null
+++ b/lib/include/Ipc/moc_Slave.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/Ipc/moc_Slave.cxx
+/tmp/foo/lib/include/Ipc/Slave.h
diff --git a/lib/include/Ipc/moc_SlaveLauncher.cxx_parameters b/lib/include/Ipc/moc_SlaveLauncher.cxx_parameters
new file mode 100644
index 0000000..4144ec8
--- /dev/null
+++ b/lib/include/Ipc/moc_SlaveLauncher.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/Ipc/moc_SlaveLauncher.cxx
+/tmp/foo/lib/include/Ipc/SlaveLauncher.h
diff --git a/lib/include/ItalcConfiguration.h b/lib/include/ItalcConfiguration.h
index 49056cb..f2f414e 100644
--- a/lib/include/ItalcConfiguration.h
+++ b/lib/include/ItalcConfiguration.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _ITALC_CONFIGURATION_H
-#define _ITALC_CONFIGURATION_H
+#ifndef ITALC_CONFIGURATION_H
+#define ITALC_CONFIGURATION_H
 
 #include <QtCore/QStringList>
 
diff --git a/lib/include/ItalcCore.h b/lib/include/ItalcCore.h
index 72f5ca6..6cb1ea7 100644
--- a/lib/include/ItalcCore.h
+++ b/lib/include/ItalcCore.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _ITALC_CORE_H
-#define _ITALC_CORE_H
+#ifndef ITALC_CORE_H
+#define ITALC_CORE_H
 
 #include <QtCore/QPair>
 #include <QtCore/QString>
diff --git a/lib/include/ItalcCoreConnection.h b/lib/include/ItalcCoreConnection.h
index 2a3009a..ba52e4b 100644
--- a/lib/include/ItalcCoreConnection.h
+++ b/lib/include/ItalcCoreConnection.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _ITALC_CORE_CONNECTION_H
-#define _ITALC_CORE_CONNECTION_H
+#ifndef ITALC_CORE_CONNECTION_H
+#define ITALC_CORE_CONNECTION_H
 
 #include "ItalcCore.h"
 #include "ItalcVncConnection.h"
diff --git a/lib/include/ItalcRfbExt.h b/lib/include/ItalcRfbExt.h
index f27a81c..a12d8ae 100644
--- a/lib/include/ItalcRfbExt.h
+++ b/lib/include/ItalcRfbExt.h
@@ -2,7 +2,7 @@
  * ItalcRfbExt.h - an extension of the RFB-protocol, used for communication
  *                 between master and clients
  *
- * Copyright (c) 2004-2011 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2004-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _ITALC_RFB_EXT_H
-#define _ITALC_RFB_EXT_H
+#ifndef ITALC_RFB_EXT_H
+#define ITALC_RFB_EXT_H
 
 #include <rfb/rfbproto.h>
 #include <rfb/rfbclient.h>
diff --git a/lib/include/ItalcVncConnection.h b/lib/include/ItalcVncConnection.h
index 5a523cb..5ea6b17 100644
--- a/lib/include/ItalcVncConnection.h
+++ b/lib/include/ItalcVncConnection.h
@@ -25,8 +25,8 @@
  *
  */
 
-#ifndef _ITALC_VNC_CONNECTION_H
-#define _ITALC_VNC_CONNECTION_H
+#ifndef ITALC_VNC_CONNECTION_H
+#define ITALC_VNC_CONNECTION_H
 
 #include <QtCore/QMutex>
 #include <QtCore/QQueue>
diff --git a/lib/include/LocalSystem.h b/lib/include/LocalSystem.h
index 72e3b5a..f05120c 100644
--- a/lib/include/LocalSystem.h
+++ b/lib/include/LocalSystem.h
@@ -1,7 +1,7 @@
 /*
  * LocalSystem.h - misc. platform-specific stuff
  *
- * Copyright (c) 2006-2010 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2006-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _LOCAL_SYSTEM_H
-#define _LOCAL_SYSTEM_H
+#ifndef LOCAL_SYSTEM_H
+#define LOCAL_SYSTEM_H
 
 #include "ItalcCore.h"
 
diff --git a/lib/include/LockWidget.h b/lib/include/LockWidget.h
index 55d04cb..d95acff 100644
--- a/lib/include/LockWidget.h
+++ b/lib/include/LockWidget.h
@@ -21,8 +21,8 @@
  *  USA.
  */
 
-#ifndef _LOCK_WIDGET_H
-#define _LOCK_WIDGET_H
+#ifndef LOCK_WIDGET_H
+#define LOCK_WIDGET_H
 
 #include <italcconfig.h>
 
diff --git a/lib/include/Logger.h b/lib/include/Logger.h
index bc0de52..2a04734 100644
--- a/lib/include/Logger.h
+++ b/lib/include/Logger.h
@@ -1,7 +1,7 @@
 /*
  * Logger.h - a global clas for easily logging messages to log files
  *
- * Copyright (c) 2010 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2010-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _LOGGER_H
-#define _LOGGER_H
+#ifndef ITALCCORE_LOGGER_H
+#define ITALCCORE_LOGGER_H
 
 #include <italcconfig.h>
 
diff --git a/lib/include/LogonAuthentication.h b/lib/include/LogonAuthentication.h
index dd53694..116f258 100644
--- a/lib/include/LogonAuthentication.h
+++ b/lib/include/LogonAuthentication.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _LOGON_AUTHENTICATION_H
-#define _LOGON_AUTHENTICATION_H
+#ifndef LOGON_AUTHENTICATION_H
+#define LOGON_AUTHENTICATION_H
 
 #include "AuthenticationCredentials.h"
 
diff --git a/lib/include/PasswordDialog.h b/lib/include/PasswordDialog.h
index 13b50e4..dfd9f24 100644
--- a/lib/include/PasswordDialog.h
+++ b/lib/include/PasswordDialog.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _PASSWORD_DIALOG_H
-#define _PASSWORD_DIALOG_H
+#ifndef PASSWORD_DIALOG_H
+#define PASSWORD_DIALOG_H
 
 #include "AuthenticationCredentials.h"
 
diff --git a/lib/include/ProgressWidget.h b/lib/include/ProgressWidget.h
index 8675b4a..0805074 100644
--- a/lib/include/ProgressWidget.h
+++ b/lib/include/ProgressWidget.h
@@ -22,8 +22,8 @@
  */
 
 
-#ifndef _PROGRESS_WIDGET_H
-#define _PROGRESS_WIDGET_H
+#ifndef PROGRESS_WIDGET_H
+#define PROGRESS_WIDGET_H
 
 #include <QtCore/QVector>
 #include <QtGui/QPixmap>
diff --git a/lib/include/QtUserEvents.h b/lib/include/QtUserEvents.h
deleted file mode 100644
index 8af3cf3..0000000
--- a/lib/include/QtUserEvents.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * QtUserEvents.h - user-defined Qt-events
- *
- * Copyright (c) 2006-2009 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
- *
- * This file is part of iTALC - http://italc.sourceforge.net
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program (see COPYING); if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- */
-
-
-#ifndef _QT_USER_EVENTS_H
-#define _QT_USER_EVENTS_H
-
-#include <QtCore/QEvent>
-#include <QtGui/QRegion>
-
-
-class RegionChangedEvent : public QEvent
-{
-public:
-	RegionChangedEvent( const QRegion & _r = QRegion() ) :
-		QEvent( static_cast<QEvent::Type>( QEvent::User+385 ) ),
-		m_changedRegion( _r )
-	{
-	}
-
-	const QRegion & changedRegion( void ) const
-	{
-		return m_changedRegion;
-	}
-
-
-private:
-	QRegion m_changedRegion;
-
-} ;
-
-
-#endif
-
diff --git a/lib/include/QuadTree.h b/lib/include/QuadTree.h
index f3c52bf..aacc4b3 100644
--- a/lib/include/QuadTree.h
+++ b/lib/include/QuadTree.h
@@ -1,7 +1,7 @@
 /*
  * QuadTree.h - QuadTree, a data structure for fast fuzzy rectangle merging
  *
- * Copyright (c) 2010-2011 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2010-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _QUAD_TREE_H
-#define _QUAD_TREE_H
+#ifndef QUAD_TREE_H
+#define QUAD_TREE_H
 
 #include <stdint.h>
 #include <QtCore/QList>
diff --git a/lib/include/Snapshot.h b/lib/include/Snapshot.h
index c0d30fd..94ff87f 100644
--- a/lib/include/Snapshot.h
+++ b/lib/include/Snapshot.h
@@ -1,7 +1,7 @@
 /*
  *  Snapshot.h - class representing a screen snapshot
  *
- *  Copyright (c) 2010 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ *  Copyright (c) 2010-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  *  This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -21,8 +21,8 @@
  *  USA.
  */
 
-#ifndef _SNAPSHOT_H
-#define _SNAPSHOT_H
+#ifndef SNAPSHOT_H
+#define SNAPSHOT_H
 
 #include <QtGui/QImage>
 #include <QtGui/QPixmap>
diff --git a/lib/include/SocketDevice.h b/lib/include/SocketDevice.h
index b3913ff..268b74c 100644
--- a/lib/include/SocketDevice.h
+++ b/lib/include/SocketDevice.h
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _SOCKET_DEVICE_H
-#define _SOCKET_DEVICE_H
+#ifndef SOCKET_DEVICE_H
+#define SOCKET_DEVICE_H
 
 #include <QtCore/QIODevice>
 #include <QtCore/QString>
diff --git a/lib/include/SystemKeyTrapper.h b/lib/include/SystemKeyTrapper.h
index 5728ef7..e9a879c 100644
--- a/lib/include/SystemKeyTrapper.h
+++ b/lib/include/SystemKeyTrapper.h
@@ -23,8 +23,8 @@
  *
  */
 
-#ifndef _SYSTEM_KEY_TRAPPER_H
-#define _SYSTEM_KEY_TRAPPER_H
+#ifndef SYSTEM_KEY_TRAPPER_H
+#define SYSTEM_KEY_TRAPPER_H
 
 #include <italcconfig.h>
 
diff --git a/lib/include/VncView.h b/lib/include/VncView.h
index 95fba41..542839f 100644
--- a/lib/include/VncView.h
+++ b/lib/include/VncView.h
@@ -1,7 +1,7 @@
 /*
  * VncView.h - VNC viewer widget
  *
- * Copyright (c) 2006-2011 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2006-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -22,8 +22,8 @@
  *
  */
 
-#ifndef _VNC_VIEW_H
-#define _VNC_VIEW_H
+#ifndef VNC_VIEW_H
+#define VNC_VIEW_H
 
 #include <italcconfig.h>
 
diff --git a/lib/include/moc_AboutDialog.cxx_parameters b/lib/include/moc_AboutDialog.cxx_parameters
new file mode 100644
index 0000000..f86f692
--- /dev/null
+++ b/lib/include/moc_AboutDialog.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_AboutDialog.cxx
+/tmp/foo/lib/include/AboutDialog.h
diff --git a/lib/include/moc_AuthenticationCredentials.cxx_parameters b/lib/include/moc_AuthenticationCredentials.cxx_parameters
new file mode 100644
index 0000000..55fe301
--- /dev/null
+++ b/lib/include/moc_AuthenticationCredentials.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_AuthenticationCredentials.cxx
+/tmp/foo/lib/include/AuthenticationCredentials.h
diff --git a/lib/include/moc_DecoratedMessageBox.cxx_parameters b/lib/include/moc_DecoratedMessageBox.cxx_parameters
new file mode 100644
index 0000000..0c9f211
--- /dev/null
+++ b/lib/include/moc_DecoratedMessageBox.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_DecoratedMessageBox.cxx
+/tmp/foo/lib/include/DecoratedMessageBox.h
diff --git a/lib/include/moc_DsaKey.cxx_parameters b/lib/include/moc_DsaKey.cxx_parameters
new file mode 100644
index 0000000..dbbfb5d
--- /dev/null
+++ b/lib/include/moc_DsaKey.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_DsaKey.cxx
+/tmp/foo/lib/include/DsaKey.h
diff --git a/lib/include/moc_FastQImage.cxx_parameters b/lib/include/moc_FastQImage.cxx_parameters
new file mode 100644
index 0000000..5a3f196
--- /dev/null
+++ b/lib/include/moc_FastQImage.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_FastQImage.cxx
+/tmp/foo/lib/include/FastQImage.h
diff --git a/lib/include/moc_Inject.cxx_parameters b/lib/include/moc_Inject.cxx_parameters
new file mode 100644
index 0000000..2a2d7f3
--- /dev/null
+++ b/lib/include/moc_Inject.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_Inject.cxx
+/tmp/foo/lib/include/Inject.h
diff --git a/lib/include/moc_ItalcConfiguration.cxx_parameters b/lib/include/moc_ItalcConfiguration.cxx_parameters
new file mode 100644
index 0000000..5141c0f
--- /dev/null
+++ b/lib/include/moc_ItalcConfiguration.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_ItalcConfiguration.cxx
+/tmp/foo/lib/include/ItalcConfiguration.h
diff --git a/lib/include/moc_ItalcCore.cxx_parameters b/lib/include/moc_ItalcCore.cxx_parameters
new file mode 100644
index 0000000..f405a4a
--- /dev/null
+++ b/lib/include/moc_ItalcCore.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_ItalcCore.cxx
+/tmp/foo/lib/include/ItalcCore.h
diff --git a/lib/include/moc_ItalcCoreConnection.cxx_parameters b/lib/include/moc_ItalcCoreConnection.cxx_parameters
new file mode 100644
index 0000000..af9c28b
--- /dev/null
+++ b/lib/include/moc_ItalcCoreConnection.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_ItalcCoreConnection.cxx
+/tmp/foo/lib/include/ItalcCoreConnection.h
diff --git a/lib/include/moc_ItalcRfbExt.cxx_parameters b/lib/include/moc_ItalcRfbExt.cxx_parameters
new file mode 100644
index 0000000..c6f02cd
--- /dev/null
+++ b/lib/include/moc_ItalcRfbExt.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_ItalcRfbExt.cxx
+/tmp/foo/lib/include/ItalcRfbExt.h
diff --git a/lib/include/moc_ItalcVncConnection.cxx_parameters b/lib/include/moc_ItalcVncConnection.cxx_parameters
new file mode 100644
index 0000000..d26510e
--- /dev/null
+++ b/lib/include/moc_ItalcVncConnection.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_ItalcVncConnection.cxx
+/tmp/foo/lib/include/ItalcVncConnection.h
diff --git a/lib/include/moc_LocalSystem.cxx_parameters b/lib/include/moc_LocalSystem.cxx_parameters
new file mode 100644
index 0000000..ceeda94
--- /dev/null
+++ b/lib/include/moc_LocalSystem.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_LocalSystem.cxx
+/tmp/foo/lib/include/LocalSystem.h
diff --git a/lib/include/moc_LockWidget.cxx_parameters b/lib/include/moc_LockWidget.cxx_parameters
new file mode 100644
index 0000000..b1a9176
--- /dev/null
+++ b/lib/include/moc_LockWidget.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_LockWidget.cxx
+/tmp/foo/lib/include/LockWidget.h
diff --git a/lib/include/moc_Logger.cxx_parameters b/lib/include/moc_Logger.cxx_parameters
new file mode 100644
index 0000000..ec368e0
--- /dev/null
+++ b/lib/include/moc_Logger.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_Logger.cxx
+/tmp/foo/lib/include/Logger.h
diff --git a/lib/include/moc_LogonAuthentication.cxx_parameters b/lib/include/moc_LogonAuthentication.cxx_parameters
new file mode 100644
index 0000000..1a0ce78
--- /dev/null
+++ b/lib/include/moc_LogonAuthentication.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_LogonAuthentication.cxx
+/tmp/foo/lib/include/LogonAuthentication.h
diff --git a/lib/include/moc_PasswordDialog.cxx_parameters b/lib/include/moc_PasswordDialog.cxx_parameters
new file mode 100644
index 0000000..f5f6573
--- /dev/null
+++ b/lib/include/moc_PasswordDialog.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_PasswordDialog.cxx
+/tmp/foo/lib/include/PasswordDialog.h
diff --git a/lib/include/moc_ProgressWidget.cxx_parameters b/lib/include/moc_ProgressWidget.cxx_parameters
new file mode 100644
index 0000000..2783554
--- /dev/null
+++ b/lib/include/moc_ProgressWidget.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_ProgressWidget.cxx
+/tmp/foo/lib/include/ProgressWidget.h
diff --git a/lib/include/moc_QuadTree.cxx_parameters b/lib/include/moc_QuadTree.cxx_parameters
new file mode 100644
index 0000000..a2d713c
--- /dev/null
+++ b/lib/include/moc_QuadTree.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_QuadTree.cxx
+/tmp/foo/lib/include/QuadTree.h
diff --git a/lib/include/moc_Snapshot.cxx_parameters b/lib/include/moc_Snapshot.cxx_parameters
new file mode 100644
index 0000000..ea1a614
--- /dev/null
+++ b/lib/include/moc_Snapshot.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_Snapshot.cxx
+/tmp/foo/lib/include/Snapshot.h
diff --git a/lib/include/moc_SocketDevice.cxx_parameters b/lib/include/moc_SocketDevice.cxx_parameters
new file mode 100644
index 0000000..0c7274d
--- /dev/null
+++ b/lib/include/moc_SocketDevice.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_SocketDevice.cxx
+/tmp/foo/lib/include/SocketDevice.h
diff --git a/lib/include/moc_SystemKeyTrapper.cxx_parameters b/lib/include/moc_SystemKeyTrapper.cxx_parameters
new file mode 100644
index 0000000..ca51709
--- /dev/null
+++ b/lib/include/moc_SystemKeyTrapper.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_SystemKeyTrapper.cxx
+/tmp/foo/lib/include/SystemKeyTrapper.h
diff --git a/lib/include/moc_VncView.cxx_parameters b/lib/include/moc_VncView.cxx_parameters
new file mode 100644
index 0000000..51e5589
--- /dev/null
+++ b/lib/include/moc_VncView.cxx_parameters
@@ -0,0 +1,22 @@
+-I/usr/include/qt4
+-I/usr/include/qt4/QtGui
+-I/usr/include/qt4/QtXml
+-I/usr/include/qt4/QtNetwork
+-I/usr/include/qt4/QtCore
+-I/tmp/foo
+-I/tmp/foo/lib/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-I/usr/include
+-DQT_GUI_LIB
+-DQT_XML_LIB
+-DQT_NETWORK_LIB
+-DQT_CORE_LIB
+-DLIBVNCSERVER_HAVE_LIBZ
+-DLIBVNCSERVER_HAVE_LIBJPEG
+-DLIBVNCSERVER_HAVE_LIBPNG
+-o
+/tmp/foo/lib/include/moc_VncView.cxx
+/tmp/foo/lib/include/VncView.h
diff --git a/lib/include/rfb/rfbclient.h b/lib/include/rfb/rfbclient.h
index 5703468..4ea0dd1 100644
--- a/lib/include/rfb/rfbclient.h
+++ b/lib/include/rfb/rfbclient.h
@@ -346,6 +346,10 @@ typedef struct _rfbClient {
         int listen6Sock;
         char* listen6Address;
         int listen6Port;
+
+        /* Output Window ID. When set, client application enables libvncclient to perform direct rendering in its window */
+        unsigned long outputWindow;
+
 } rfbClient;
 
 /* cursor.c */
diff --git a/lib/include/rfb/rfbproto.h b/lib/include/rfb/rfbproto.h
index ad68b2b..9bfd2d2 100644
--- a/lib/include/rfb/rfbproto.h
+++ b/lib/include/rfb/rfbproto.h
@@ -438,6 +438,8 @@ typedef struct {
 #define rfbEncodingZRLE 16
 #define rfbEncodingZYWRLE 17
 
+#define rfbEncodingH264               0x48323634
+
 /* Cache & XOR-Zlib - rdv at 2002 */
 #define rfbEncodingCache                 0xFFFF0000
 #define rfbEncodingCacheEnable           0xFFFF0001
@@ -868,6 +870,21 @@ typedef struct {
 #endif
 
 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ * h264 - h264 encoding.  We have an rfbH264Header structure
+ * giving the number of bytes following.  Finally the data follows is
+ * h264 encoded frame.
+ */
+
+typedef struct {
+    uint32_t nBytes;
+	uint32_t slice_type;
+	uint32_t width;
+	uint32_t height;
+} rfbH264Header;
+
+#define sz_rfbH264Header 16
+
+/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  * XCursor encoding. This is a special encoding used to transmit X-style
  * cursor shapes from server to clients. Note that for this encoding,
  * coordinates in rfbFramebufferUpdateRectHeader structure hold hotspot
diff --git a/lib/resources/ar.qm b/lib/resources/ar.qm
index 7f2cdba..431bd8b 100644
Binary files a/lib/resources/ar.qm and b/lib/resources/ar.qm differ
diff --git a/lib/resources/ar.ts b/lib/resources/ar.ts
index 84f0ea8..04ed40c 100644
--- a/lib/resources/ar.ts
+++ b/lib/resources/ar.ts
@@ -37,8 +37,8 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
-        <translation>‏"آيتالك" - التعليم والتعلم الذكي بواسطة الحاسب</translation>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
+        <translation type="unfinished">‏"آيتالك" - التعليم والتعلم الذكي بواسطة الحاسب {2004-2013 ?}</translation>
     </message>
 </context>
 <context>
@@ -1392,50 +1392,6 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>Poll full screen (leave this enabled per default)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Remote Logon</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Logon key sequence settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Key sequence</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Alt+Ctrl+Del</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Tab</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Enter</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Shift+Tab</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Escape</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><username></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source><password></source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Custom key</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
diff --git a/lib/resources/cs.ts b/lib/resources/cs.ts
index 8b00254..70acd72 100644
--- a/lib/resources/cs.ts
+++ b/lib/resources/cs.ts
@@ -11,12 +11,6 @@
         <source>About</source>
         <translation type="unfinished">O programu</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation type="unfinished"></translation>
@@ -42,7 +36,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -840,10 +834,6 @@ The public key part is used on the client computers to verify that any incoming
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1396,6 +1386,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>No authentication key files were found or your current ones are outdated. Please create new key files using the iTALC Management Console. Alternatively set up logon authentication using the iTALC Management Console. Otherwise you won't be able to access computers using iTALC.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1466,6 +1460,10 @@ p, li { white-space: pre-wrap; }
         <source>iTALC Logon</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/resources/de.qm b/lib/resources/de.qm
index 09cac6c..9276e1f 100644
Binary files a/lib/resources/de.qm and b/lib/resources/de.qm differ
diff --git a/lib/resources/de.ts b/lib/resources/de.ts
index 9ef80e4..182ad4a 100644
--- a/lib/resources/de.ts
+++ b/lib/resources/de.ts
@@ -11,14 +11,6 @@
         <source>About</source>
         <translation>Über</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</source>
-        <translation>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></translation>
@@ -44,7 +36,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -841,10 +833,6 @@ Der öffentliche Schlüssel wird auf den Clientcomputern genutzt, um für jede e
         <translation>Halbdurchsichtige Fenster (layered windows) aufzeichnen</translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation>Vollen Bildschirm abfragen</translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation>Niedrige Genauigkeit (Turbomodus)</translation>
     </message>
@@ -1284,7 +1272,7 @@ If the bug is not reproducible, skip step 1) - 3).</source>
     </message>
     <message>
         <source>In the "General" section set the log level to "Debug messages and everything else".</source>
-        <translation>Setzen Sie den Logleve  im Abschnitt "Allgemein" auf "Debugmeldungen und alles andere".</translation>
+        <translation>Setzen Sie den Loglevel im Abschnitt "Allgemein" auf "Debugmeldungen und alles andere".</translation>
     </message>
     <message>
         <source>3)</source>
@@ -1397,6 +1385,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>No authentication key files were found or your current ones are outdated. Please create new key files using the iTALC Management Console. Alternatively set up logon authentication using the iTALC Management Console. Otherwise you won't be able to access computers using iTALC.</source>
         <translation>Es wurden keine Authentifizierungsschlüsseldateien gefunden oder sie sind veraltet. Bitte erstellen Sie neue Schlüsseldateien mit Hilfe der iTALC-Management-Console. Alternativ können Sie die Anmelde-Authentifizierung mit Hilfe der iTALC-Management-Console einrichten. Andernfalls werden Sie nicht in der Lage sein, mit iTALC auf andere Rechner zuzugreifen.</translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1467,6 +1459,10 @@ p, li { white-space: pre-wrap; }
         <source>iTALC Logon</source>
         <translation>iTALC-Anmeldung</translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/resources/el.ts b/lib/resources/el.ts
index 9f628e8..66cc2c1 100644
--- a/lib/resources/el.ts
+++ b/lib/resources/el.ts
@@ -11,12 +11,6 @@
         <source>About</source>
         <translation type="unfinished">Σχετικά</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation type="unfinished"></translation>
@@ -42,7 +36,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -837,10 +831,6 @@ The public key part is used on the client computers to verify that any incoming
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1393,6 +1383,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>No authentication key files were found or your current ones are outdated. Please create new key files using the iTALC Management Console. Alternatively set up logon authentication using the iTALC Management Console. Otherwise you won't be able to access computers using iTALC.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1463,6 +1457,10 @@ p, li { white-space: pre-wrap; }
         <source>iTALC Logon</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/resources/es.ts b/lib/resources/es.ts
index 4dd807d..e797a87 100644
--- a/lib/resources/es.ts
+++ b/lib/resources/es.ts
@@ -11,12 +11,6 @@
         <source>About</source>
         <translation type="unfinished">Acerca</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation type="unfinished"></translation>
@@ -42,7 +36,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -834,10 +828,6 @@ The public key part is used on the client computers to verify that any incoming
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1390,6 +1380,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>No authentication key files were found or your current ones are outdated. Please create new key files using the iTALC Management Console. Alternatively set up logon authentication using the iTALC Management Console. Otherwise you won't be able to access computers using iTALC.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1460,6 +1454,10 @@ p, li { white-space: pre-wrap; }
         <source>iTALC Logon</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/resources/fi.ts b/lib/resources/fi.ts
index d5078a2..52f4175 100644
--- a/lib/resources/fi.ts
+++ b/lib/resources/fi.ts
@@ -11,12 +11,6 @@
         <source>About</source>
         <translation type="unfinished">Tietoja</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation type="unfinished"></translation>
@@ -42,7 +36,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -840,10 +834,6 @@ The public key part is used on the client computers to verify that any incoming
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1396,6 +1386,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>No authentication key files were found or your current ones are outdated. Please create new key files using the iTALC Management Console. Alternatively set up logon authentication using the iTALC Management Console. Otherwise you won't be able to access computers using iTALC.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1466,6 +1460,10 @@ p, li { white-space: pre-wrap; }
         <source>iTALC Logon</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/resources/fr.ts b/lib/resources/fr.ts
index 4486b40..535aaa7 100644
--- a/lib/resources/fr.ts
+++ b/lib/resources/fr.ts
@@ -11,12 +11,6 @@
         <source>About</source>
         <translation type="unfinished">À propos</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation type="unfinished"></translation>
@@ -42,7 +36,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -842,10 +836,6 @@ The public key part is used on the client computers to verify that any incoming
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1400,6 +1390,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>No authentication key files were found or your current ones are outdated. Please create new key files using the iTALC Management Console. Alternatively set up logon authentication using the iTALC Management Console. Otherwise you won't be able to access computers using iTALC.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1470,6 +1464,10 @@ p, li { white-space: pre-wrap; }
         <source>iTALC Logon</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/resources/he.qm b/lib/resources/he.qm
index 69d9023..b7e28cb 100644
Binary files a/lib/resources/he.qm and b/lib/resources/he.qm differ
diff --git a/lib/resources/he.ts b/lib/resources/he.ts
index 289e80b..8dfb4b2 100644
--- a/lib/resources/he.ts
+++ b/lib/resources/he.ts
@@ -11,12 +11,6 @@
         <source>About</source>
         <translation type="unfinished">אודות</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation type="unfinished"></translation>
@@ -39,6 +33,12 @@ If you're interested in translating iTALC into your local or another langua
         <source>License</source>
         <translation type="unfinished">רישיון</translation>
     </message>
+    <message utf8="true">
+        <source>iTALC - Intelligent Teaching And Learning with Computers
+
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>AccessDialogSlave</name>
@@ -260,7 +260,7 @@ Do you want to create a new classrom now?</source>
     </message>
     <message>
         <source>Logout user</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">נתק משתמש</translation>
     </message>
     <message>
         <source>Are you sure want to reboot all visible computers?</source>
@@ -813,7 +813,7 @@ The public key part is used on the client computers to verify that any incoming
     </message>
     <message>
         <source>Send text message</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">שלחו הודעת טקסט</translation>
     </message>
     <message>
         <source>Text message</source>
@@ -1024,10 +1024,6 @@ The public key part is used on the client computers to verify that any incoming
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1396,6 +1392,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>There are unsaved settings. Quit anyway?</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1466,6 +1466,10 @@ p, li { white-space: pre-wrap; }
         <source>Password</source>
         <translation type="unfinished">סיסמא</translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
@@ -1705,7 +1709,7 @@ p, li { white-space: pre-wrap; }
     <name>TextMessageDialog</name>
     <message>
         <source>Send text message</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">שלחו הודעת טקסט</translation>
     </message>
     <message>
         <source>Use the field below to type your message which will be sent to all selected users.</source>
diff --git a/lib/resources/hu.qm b/lib/resources/hu.qm
index 638f589..daaad4f 100644
Binary files a/lib/resources/hu.qm and b/lib/resources/hu.qm differ
diff --git a/lib/resources/hu.ts b/lib/resources/hu.ts
index cd406fc..09fc86d 100644
--- a/lib/resources/hu.ts
+++ b/lib/resources/hu.ts
@@ -41,11 +41,11 @@ Ha szeretné lefordítani másik nyelvre is, kérem jelezze az iTALC fejlesztőc
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished">iTALC - Intelligent Teaching And Learning with Computer
 
 Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions
-</translation>
+ {2004-2013 ?}</translation>
     </message>
 </context>
 <context>
diff --git a/lib/resources/it.qm b/lib/resources/it.qm
index bc25825..e59c8e1 100644
Binary files a/lib/resources/it.qm and b/lib/resources/it.qm differ
diff --git a/lib/resources/it.ts b/lib/resources/it.ts
index e4236f1..98e5525 100644
--- a/lib/resources/it.ts
+++ b/lib/resources/it.ts
@@ -36,13 +36,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1022,10 +1016,6 @@ La chiave pubblica, invece, è utilizzata dai computer studente per verificare c
         <translation>Abilita cattura di finestre in livelli (semi-trasparente)</translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation>Schermo pieno</translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation>Bassa qualità (modalità turbo)</translation>
     </message>
@@ -1403,6 +1393,10 @@ Nota: Se l'errore si verifica sia sul computer docente(master) che sul comp
         <source>Allow connections from localhost only</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1473,6 +1467,10 @@ p, li { white-space: pre-wrap; }
         <source>Password</source>
         <translation>Password</translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/resources/nl.ts b/lib/resources/nl.ts
index a60c5e0..d0c0fec 100644
--- a/lib/resources/nl.ts
+++ b/lib/resources/nl.ts
@@ -11,12 +11,6 @@
         <source>About</source>
         <translation type="unfinished"></translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation type="unfinished"></translation>
@@ -42,7 +36,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -829,10 +823,6 @@ The public key part is used on the client computers to verify that any incoming
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1385,6 +1375,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>No authentication key files were found or your current ones are outdated. Please create new key files using the iTALC Management Console. Alternatively set up logon authentication using the iTALC Management Console. Otherwise you won't be able to access computers using iTALC.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1452,6 +1446,10 @@ p, li { white-space: pre-wrap; }
         <source>iTALC Logon</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/resources/nn.ts b/lib/resources/nn.ts
index 8c02e7b..d3645ad 100644
--- a/lib/resources/nn.ts
+++ b/lib/resources/nn.ts
@@ -11,12 +11,6 @@
         <source>About</source>
         <translation type="unfinished">Om</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation type="unfinished"></translation>
@@ -42,7 +36,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -834,10 +828,6 @@ The public key part is used on the client computers to verify that any incoming
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1390,6 +1380,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>No authentication key files were found or your current ones are outdated. Please create new key files using the iTALC Management Console. Alternatively set up logon authentication using the iTALC Management Console. Otherwise you won't be able to access computers using iTALC.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1457,6 +1451,10 @@ p, li { white-space: pre-wrap; }
         <source>iTALC Logon</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/resources/pl.ts b/lib/resources/pl.ts
index 2fb67aa..6b22892 100644
--- a/lib/resources/pl.ts
+++ b/lib/resources/pl.ts
@@ -11,12 +11,6 @@
         <source>About</source>
         <translation type="unfinished">Informacje o</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation type="unfinished"></translation>
@@ -42,7 +36,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -840,10 +834,6 @@ The public key part is used on the client computers to verify that any incoming
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1396,6 +1386,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>No authentication key files were found or your current ones are outdated. Please create new key files using the iTALC Management Console. Alternatively set up logon authentication using the iTALC Management Console. Otherwise you won't be able to access computers using iTALC.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1466,6 +1460,10 @@ p, li { white-space: pre-wrap; }
         <source>iTALC Logon</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/resources/pt_br.qm b/lib/resources/pt_br.qm
index f43a0ae..bcdae1d 100644
Binary files a/lib/resources/pt_br.qm and b/lib/resources/pt_br.qm differ
diff --git a/lib/resources/pt_br.ts b/lib/resources/pt_br.ts
index 96465e7..a9477fb 100644
--- a/lib/resources/pt_br.ts
+++ b/lib/resources/pt_br.ts
@@ -11,14 +11,6 @@
         <source>About</source>
         <translation>Sobre</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
-        <translation>iTALC -Ensino e Aprendizagem Inteligente com Computadores
-
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></translation>
@@ -43,6 +35,14 @@ Se você estiver interessado em traduzir o iTALC em seu idioma local ou outro id
         <source>License</source>
         <translation>Licença</translation>
     </message>
+    <message utf8="true">
+        <source>iTALC - Intelligent Teaching And Learning with Computers
+
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
+        <translation type="unfinished">iTALC -Ensino e Aprendizagem Inteligente com Computadores
+
+Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions {2004-2013 ?}</translation>
+    </message>
 </context>
 <context>
     <name>AccessDialogSlave</name>
diff --git a/lib/resources/ru.qm b/lib/resources/ru.qm
index 0405f76..66d01c9 100644
Binary files a/lib/resources/ru.qm and b/lib/resources/ru.qm differ
diff --git a/lib/resources/ru.ts b/lib/resources/ru.ts
index ecb9009..85bc4cf 100644
--- a/lib/resources/ru.ts
+++ b/lib/resources/ru.ts
@@ -38,7 +38,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1631,7 +1631,7 @@ p, li { white-space: pre-wrap; }
     </message>
     <message>
         <source>Could not take a snapshot as directory %1 doesn't exist and couldn't be created.</source>
-        <translation type="unfinished">Не возможно сделать снимок, так как директория %1 не существует и не может быть создана.</translation>
+        <translation type="unfinished">Невозможно сделать снимок экрана, так как директория %1 не существует и не может быть создана.</translation>
     </message>
     <message>
         <source>Snapshot</source>
diff --git a/lib/resources/sk.ts b/lib/resources/sk.ts
index e636592..5401661 100644
--- a/lib/resources/sk.ts
+++ b/lib/resources/sk.ts
@@ -11,12 +11,6 @@
         <source>About</source>
         <translation type="unfinished">O programe</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation type="unfinished"></translation>
@@ -42,7 +36,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -840,10 +834,6 @@ The public key part is used on the client computers to verify that any incoming
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1396,6 +1386,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>No authentication key files were found or your current ones are outdated. Please create new key files using the iTALC Management Console. Alternatively set up logon authentication using the iTALC Management Console. Otherwise you won't be able to access computers using iTALC.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1466,6 +1460,10 @@ p, li { white-space: pre-wrap; }
         <source>iTALC Logon</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/resources/sl.ts b/lib/resources/sl.ts
index a7d190c..f5b4d5f 100644
--- a/lib/resources/sl.ts
+++ b/lib/resources/sl.ts
@@ -11,12 +11,6 @@
         <source>About</source>
         <translation type="unfinished">O</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation type="unfinished"></translation>
@@ -42,7 +36,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -841,10 +835,6 @@ The public key part is used on the client computers to verify that any incoming
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1397,6 +1387,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>No authentication key files were found or your current ones are outdated. Please create new key files using the iTALC Management Console. Alternatively set up logon authentication using the iTALC Management Console. Otherwise you won't be able to access computers using iTALC.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1467,6 +1461,10 @@ p, li { white-space: pre-wrap; }(new line)
         <source>iTALC Logon</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/resources/sv.qm b/lib/resources/sv.qm
index 21d2219..7d58928 100644
Binary files a/lib/resources/sv.qm and b/lib/resources/sv.qm differ
diff --git a/lib/resources/sv.ts b/lib/resources/sv.ts
index 0418902..5ab525e 100644
--- a/lib/resources/sv.ts
+++ b/lib/resources/sv.ts
@@ -11,12 +11,6 @@
         <source>About</source>
         <translation type="unfinished">Om</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation type="unfinished"></translation>
@@ -42,7 +36,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -844,10 +838,6 @@ Den publika delen används på klientdatorerna för att verifiera att inkommande
         <translation>Aktivera fångst av flerskiktade fönster (semi-transparant)</translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation>Ta helskärm</translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation>Låg precision (turboläge)</translation>
     </message>
@@ -1400,6 +1390,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>No authentication key files were found or your current ones are outdated. Please create new key files using the iTALC Management Console. Alternatively set up logon authentication using the iTALC Management Console. Otherwise you won't be able to access computers using iTALC.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1470,6 +1464,10 @@ p, li { white-space: pre-wrap; }
         <source>iTALC Logon</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/resources/tr.ts b/lib/resources/tr.ts
index 6241e7e..7afc406 100644
--- a/lib/resources/tr.ts
+++ b/lib/resources/tr.ts
@@ -11,12 +11,6 @@
         <source>About</source>
         <translation type="unfinished">Hakkında</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation type="unfinished"></translation>
@@ -42,7 +36,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -837,10 +831,6 @@ The public key part is used on the client computers to verify that any incoming
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1393,6 +1383,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>No authentication key files were found or your current ones are outdated. Please create new key files using the iTALC Management Console. Alternatively set up logon authentication using the iTALC Management Console. Otherwise you won't be able to access computers using iTALC.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1463,6 +1457,10 @@ p, li { white-space: pre-wrap; }
         <source>iTALC Logon</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/resources/uk.qm b/lib/resources/uk.qm
index 2677046..717cb4b 100644
Binary files a/lib/resources/uk.qm and b/lib/resources/uk.qm differ
diff --git a/lib/resources/uk.ts b/lib/resources/uk.ts
index 63ff067..bb6713a 100644
--- a/lib/resources/uk.ts
+++ b/lib/resources/uk.ts
@@ -11,14 +11,6 @@
         <source>About</source>
         <translation>Про програму</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</source>
-        <translation>iTALC — інтелектуальне викладання та навчання за допомогою комп’ютерів
-
-© Tobias Doerffel, 2004–2011</translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></translation>
@@ -46,7 +38,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -848,10 +840,6 @@ The public key part is used on the client computers to verify that any incoming
         <translation>Увімкнути захоплення шарів (напівпрозорих) вікон</translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation>Запит на весь екран</translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation>Низька точність (турбо-режим)</translation>
     </message>
@@ -1409,6 +1397,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>No authentication key files were found or your current ones are outdated. Please create new key files using the iTALC Management Console. Alternatively set up logon authentication using the iTALC Management Console. Otherwise you won't be able to access computers using iTALC.</source>
         <translation>Не було знайдено файлів ключів розпізнавання або поточні файли є застарілими. Будь ласка, створіть нові файли ключів за допомогою консолі керування iTALC. Крім того, ви можете налаштувати розпізнавання під час входу до системи за допомогою консолі керування iTALC. Якщо ви не налаштуйте розпізнавання, ви не зможете отримати доступ до комп’ютерів за допомогою iTALC.</translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1479,6 +1471,10 @@ p, li { white-space: pre-wrap; }
         <source>iTALC Logon</source>
         <translation>Вхід до iTALC</translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/resources/zh_cn.ts b/lib/resources/zh_cn.ts
index 6c00785..63496d1 100644
--- a/lib/resources/zh_cn.ts
+++ b/lib/resources/zh_cn.ts
@@ -11,12 +11,6 @@
         <source>About</source>
         <translation type="unfinished">关于</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation type="unfinished"></translation>
@@ -42,7 +36,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -840,10 +834,6 @@ The public key part is used on the client computers to verify that any incoming
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1396,6 +1386,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>No authentication key files were found or your current ones are outdated. Please create new key files using the iTALC Management Console. Alternatively set up logon authentication using the iTALC Management Console. Otherwise you won't be able to access computers using iTALC.</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1466,6 +1460,10 @@ p, li { white-space: pre-wrap; }
         <source>iTALC Logon</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/resources/zh_tw.qm b/lib/resources/zh_tw.qm
index f34ca29..fa68a15 100644
Binary files a/lib/resources/zh_tw.qm and b/lib/resources/zh_tw.qm differ
diff --git a/lib/resources/zh_tw.ts b/lib/resources/zh_tw.ts
index 9ff07aa..eb74923 100644
--- a/lib/resources/zh_tw.ts
+++ b/lib/resources/zh_tw.ts
@@ -11,14 +11,6 @@
         <source>About</source>
         <translation>關於</translation>
     </message>
-    <message utf8="true">
-        <source>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</source>
-        <translation>iTALC - Intelligent Teaching And Learning with Computers
-
-Copyright © 2004-2011 Tobias Doerffel</translation>
-    </message>
     <message>
         <source><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></source>
         <translation><a href="http://italc.sourceforge.net">http://italc.sourceforge.net</a></translation>
@@ -46,7 +38,7 @@ If you're interested in translating iTALC into your local or another langua
     <message utf8="true">
         <source>iTALC - Intelligent Teaching And Learning with Computers
 
-Copyright © 2004-2011 Tobias Doerffel / iTALC Solutions</source>
+Copyright © 2004-2013 Tobias Doerffel / iTALC Solutions</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1032,10 +1024,6 @@ The public key part is used on the client computers to verify that any incoming
         <translation>開啟多層次(半透明)視窗擷取</translation>
     </message>
     <message>
-        <source>Poll full screen</source>
-        <translation>輪詢全螢幕</translation>
-    </message>
-    <message>
         <source>Low accuracy (turbo mode)</source>
         <translation>低精確度(快速模式)</translation>
     </message>
@@ -1409,6 +1397,10 @@ Note: if the bug involves both a master and client computer, attach bug report a
         <source>There are unsaved settings. Quit anyway?</source>
         <translation>有尚未儲存的設定。還是要離開嗎?</translation>
     </message>
+    <message>
+        <source>Poll full screen (leave this enabled per default)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MessageBoxSlave</name>
@@ -1479,6 +1471,10 @@ p, li { white-space: pre-wrap; }
         <source>Password</source>
         <translation>密碼</translation>
     </message>
+    <message>
+        <source>Manage</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>QApplication</name>
diff --git a/lib/src/Configuration/Object.cpp b/lib/src/Configuration/Object.cpp
index ffa097a..64e86be 100644
--- a/lib/src/Configuration/Object.cpp
+++ b/lib/src/Configuration/Object.cpp
@@ -218,7 +218,7 @@ static Object::DataMap setValueRecursive( Object::DataMap data,
 	const QString level = subLevels.takeFirst();
 	if( data.contains( level ) )
 	{
-		if( !data[level].type() == QVariant::Map )
+		if( data[level].type() != QVariant::Map )
 		{
 			qWarning( "parent key points doesn't point to a data map!" );
 			return data;
diff --git a/lib/src/ItalcVncConnection.cpp b/lib/src/ItalcVncConnection.cpp
index e147892..1eb9e00 100644
--- a/lib/src/ItalcVncConnection.cpp
+++ b/lib/src/ItalcVncConnection.cpp
@@ -1,7 +1,7 @@
 /*
  * ItalcVncConnection.cpp - implementation of ItalcVncConnection class
  *
- * Copyright (c) 2008-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2008-2014 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -244,8 +244,7 @@ rfbBool ItalcVncConnection::hookHandleCursorPos( rfbClient *cl, int x, int y )
 
 
 
-void ItalcVncConnection::hookCursorShape( rfbClient *cl, int xh, int yh,
-											int w, int h, int bpp )
+void ItalcVncConnection::hookCursorShape( rfbClient *cl, int xh, int yh, int w, int h, int bpp )
 {
 	for( int i = 0; i < w*h;++i )
 	{
@@ -256,12 +255,10 @@ void ItalcVncConnection::hookCursorShape( rfbClient *cl, int xh, int yh,
 	}
 	QImage alpha( cl->rcMask, w, h, QImage::Format_Indexed8 );
 
-	QImage cursorShape = QImage( cl->rcSource, w, h, QImage::Format_RGB32 );
-	cursorShape.convertToFormat( QImage::Format_ARGB32 );
+	QImage cursorShape = QImage( cl->rcSource, w, h, QImage::Format_RGB32 ).convertToFormat( QImage::Format_ARGB32 );
 	cursorShape.setAlphaChannel( alpha );
 
-	ItalcVncConnection * t = (ItalcVncConnection *)
-					rfbClientGetClientData( cl, 0 );
+	ItalcVncConnection* t = (ItalcVncConnection *) rfbClientGetClientData( cl, 0 );
 	t->cursorShapeUpdated( cursorShape, xh, yh );
 }
 
@@ -367,6 +364,11 @@ void ItalcVncConnection::stop()
 		{
 			qWarning( "ItalcVncConnection::stop(): terminating thread" );
 			terminate();
+
+			while( !wait( 1000 ) )
+			{
+				qWarning( "ItalcVncConnection::stop(): terminated thread is still alive!" );
+			}
 		}
 	}
 }
diff --git a/lib/src/VncView.cpp b/lib/src/VncView.cpp
index c55550a..8546931 100644
--- a/lib/src/VncView.cpp
+++ b/lib/src/VncView.cpp
@@ -1,7 +1,7 @@
 /*
  * VncView.cpp - VNC viewer widget
  *
- * Copyright (c) 2006-2011 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
+ * Copyright (c) 2006-2013 Tobias Doerffel <tobydox/at/users/dot/sf/dot/net>
  *
  * This file is part of iTALC - http://italc.sourceforge.net
  *
@@ -26,7 +26,6 @@
 #include "rfb/keysym.h"
 
 #include "VncView.h"
-#include "QtUserEvents.h"
 #include "ProgressWidget.h"
 #include "SystemKeyTrapper.h"
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-edu/pkg-team/italc.git



More information about the debian-edu-commits mailing list