[SCM] single/multiplayer lobby for the Spring RTS engine branch, master, updated. 28165f47675c144b846786b0435aa7f9b3396209

Marco Amadori marco.amadori at gmail.com
Tue Oct 27 16:02:25 UTC 2009


The following commit has been merged in the master branch:
commit a93f9f05840201cdb8bdfdc1d1162ea638781cdd
Author: Marco Amadori <marco.amadori at gmail.com>
Date:   Tue Oct 27 15:06:12 2009 +0100

    Imported Upstream version 0.33

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7841ea1..468e2e2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -207,6 +207,17 @@ ENDIF( OPTION_TORRENT_SYSTEM )
 INCLUDE_DIRECTORIES(${SpringLobby_SOURCE_DIR} ${Settings_SOURCE_DIR} )
 
 SET(SpringLobbySrc
+	src/updater/updatermainwindow.cpp
+	src/utils/activitynotice.cpp
+	src/chatpanelmenu.cpp
+	src/customizations.cpp
+	src/gui/gradientpanel.cpp
+	src/gui/wxgradientbutton.cpp
+	src/gui/skirmish_dialog.cpp
+	src/gui/wxbackgroundimage.cpp
+	src/gui/simplefront.cpp
+	src/updater/updatermainwindow.cpp
+	src/utils/activitynotice.cpp
 	src/aui/slbook.cpp
 	src/utils/math.cpp
 	src/utils/misc.cpp
@@ -216,6 +227,9 @@ SET(SpringLobbySrc
 	src/utils/tasutil.cpp
 	src/utils/sltipwin.cpp
 	src/utils/controls.cpp
+	src/utils/globalevents.cpp
+	src/utils/networkevents.cpp
+	src/utils/uievents.cpp
 	src/utils/md5.c
 	src/updater/updater.cpp
 	src/updater/versionchecker.cpp
@@ -230,7 +244,7 @@ SET(SpringLobbySrc
 	src/filelister/filelistdialog.cpp
 	src/filelister/filelistfilter.cpp
 	src/aui/auimanager.cpp
-        src/aui/artprovider.cpp
+	src/aui/artprovider.cpp
 	src/autobalancedialog.cpp
 	src/autohost.cpp
 	src/channel/autojoinchanneldialog.cpp
@@ -258,7 +272,6 @@ SET(SpringLobbySrc
 	src/crashreport.cpp
 	src/customlistctrl.cpp
 	src/flagimages.cpp
-	src/globalevents.cpp
 	src/groupoptionspanel.cpp
 	src/hostbattledialog.cpp
 	src/ibattle.cpp
@@ -319,7 +332,7 @@ SET(SpringLobbySrc
 )
 
 SET(SettingsSrc
-	src/settings++/custom_dialogs.cpp
+	src/utils/customdialogs.cpp
 	src/settings++/frame.cpp
 	src/settings++/helpmenufunctions.cpp
 	src/settings++/panel_pathoption.cpp
@@ -351,6 +364,7 @@ SET(SLSharedWithSettings
 	src/thread.cpp
 	src/spinctld.cpp
 	src/globalsmanager.cpp
+	src/utils/globalevents.cpp
 	src/mmoptionmodel.cpp
 	src/mmoptionswrapper.cpp
 )
diff --git a/Makefile.am b/Makefile.am
index d60dc42..3ef2b78 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -397,8 +397,28 @@ libtorrent_headers = \
 
 
 springlobby_SOURCES = \
+	src/customizations.h \
+	src/customizations.cpp \
+	src/gui/gradientpanel.h \
+	src/gui/gradientpanel.cpp \
+	src/gui/wxgradientbutton.cpp \
+	src/gui/wxgradientbutton.h \
+	src/gui/skirmish_dialog.h \
+	src/gui/skirmish_dialog.cpp \
+	src/gui/wxbackgroundimage.cpp \
+	src/gui/wxbackgroundimage.h \
+	src/gui/simplefront.h \
+	src/gui/simplefront.cpp \
+	src/defines.h \
+	src/updater/updatermainwindow.cpp \
+	src/updater/updatermainwindow.h \
+	src/utils/activitynotice.cpp \
+	src/utils/activitynotice.h \
+	src/utils/isink.h \
 	src/utils/md5.h \
 	src/utils/md5.c \
+	src/chatpanelmenu.h \
+	src/chatpanelmenu.cpp \
 	src/aui/slbook.cpp \
 	src/aui/slbook.h \
 	src/utils/math.cpp \
@@ -417,6 +437,13 @@ springlobby_SOURCES = \
 	src/utils/sltipwin.h \
 	src/utils/controls.cpp \
 	src/utils/controls.h \
+	src/utils/globalevents.cpp \
+	src/utils/globalevents.h \
+	src/utils/networkevents.cpp \
+	src/utils/networkevents.h \
+	src/utils/uievents.cpp \
+	src/utils/uievents.h \
+	src/utils/events.h \
 	src/updater/versionchecker.cpp \
 	src/updater/versionchecker.h \
 	src/sounds/ring_sound.h \
@@ -905,8 +932,6 @@ springlobby_SOURCES = \
 	src/autobalancedialog.h \
 	src/tdfcontainer.cpp \
 	src/tdfcontainer.h \
-	src/globalevents.h \
-	src/globalevents.cpp \
 	src/httpdownloader.h \
 	src/Helper/TextCompletionDatabase.hpp \
 	src/Helper/TextCompletionDatabase.cpp \
@@ -1013,8 +1038,8 @@ springlobby_SOURCES += \
 	src/settings++/tab_abstract.h \
 	src/settings++/panel_pathoption.h \
 	src/settings++/panel_pathoption.cpp \
-	src/settings++/custom_dialogs.h \
-	src/settings++/custom_dialogs.cpp \
+	src/utils/customdialogs.h \
+	src/utils/customdialogs.cpp \
 	src/settings++/helpmenufunctions.h \
 	src/settings++/helpmenufunctions.cpp
 
@@ -1046,6 +1071,7 @@ springsettings_SOURCES = \
 	src/mmoptionmodel.h \
 	src/mmoptionmodel.cpp \
 	src/globalsmanager.cpp \
+	src/utils/globalevents.cpp \
 	src/settings++/se_utils.cpp \
 	src/settings++/se_utils.h \
 	src/settings++/frame.cpp \
@@ -1069,8 +1095,8 @@ springsettings_SOURCES = \
 	src/settings++/tab_abstract.h \
 	src/settings++/panel_pathoption.h \
 	src/settings++/panel_pathoption.cpp	\
-	src/settings++/custom_dialogs.h \
-	src/settings++/custom_dialogs.cpp \
+	src/utils/customdialogs.h \
+	src/utils/customdialogs.cpp \
 	src/settings++/helpmenufunctions.h \
 	src/settings++/helpmenufunctions.cpp
 
diff --git a/Makefile.in b/Makefile.in
index fa8568b..ac01b69 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -77,7 +77,17 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(desktopdir)" \
 	"$(DESTDIR)$(docdir)" "$(DESTDIR)$(pixmapdir)"
 binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(bin_PROGRAMS)
-am__springlobby_SOURCES_DIST = src/utils/md5.h src/utils/md5.c \
+am__springlobby_SOURCES_DIST = src/customizations.h \
+	src/customizations.cpp src/gui/gradientpanel.h \
+	src/gui/gradientpanel.cpp src/gui/wxgradientbutton.cpp \
+	src/gui/wxgradientbutton.h src/gui/skirmish_dialog.h \
+	src/gui/skirmish_dialog.cpp src/gui/wxbackgroundimage.cpp \
+	src/gui/wxbackgroundimage.h src/gui/simplefront.h \
+	src/gui/simplefront.cpp src/defines.h \
+	src/updater/updatermainwindow.cpp \
+	src/updater/updatermainwindow.h src/utils/activitynotice.cpp \
+	src/utils/activitynotice.h src/utils/isink.h src/utils/md5.h \
+	src/utils/md5.c src/chatpanelmenu.h src/chatpanelmenu.cpp \
 	src/aui/slbook.cpp src/aui/slbook.h src/utils/math.cpp \
 	src/utils/math.h src/utils/misc.cpp src/utils/misc.h \
 	src/utils/debug.cpp src/utils/debug.h src/utils/platform.cpp \
@@ -85,13 +95,17 @@ am__springlobby_SOURCES_DIST = src/utils/md5.h src/utils/md5.c \
 	src/utils/conversion.h src/utils/tasutil.cpp \
 	src/utils/tasutil.h src/utils/sltipwin.cpp \
 	src/utils/sltipwin.h src/utils/controls.cpp \
-	src/utils/controls.h src/updater/versionchecker.cpp \
-	src/updater/versionchecker.h src/sounds/ring_sound.h \
-	src/sounds/pm_sound.h src/springunitsynclib.cpp \
-	src/springunitsynclib.h src/unitsyncthread.cpp \
-	src/unitsyncthread.h src/mapgridctrl.cpp src/mapgridctrl.h \
-	src/mapselectdialog.cpp src/mapselectdialog.h src/bimap.h \
-	src/chatlog.h src/chatlog.cpp src/images/broom.png.h \
+	src/utils/controls.h src/utils/globalevents.cpp \
+	src/utils/globalevents.h src/utils/networkevents.cpp \
+	src/utils/networkevents.h src/utils/uievents.cpp \
+	src/utils/uievents.h src/utils/events.h \
+	src/updater/versionchecker.cpp src/updater/versionchecker.h \
+	src/sounds/ring_sound.h src/sounds/pm_sound.h \
+	src/springunitsynclib.cpp src/springunitsynclib.h \
+	src/unitsyncthread.cpp src/unitsyncthread.h \
+	src/mapgridctrl.cpp src/mapgridctrl.h src/mapselectdialog.cpp \
+	src/mapselectdialog.h src/bimap.h src/chatlog.h \
+	src/chatlog.cpp src/images/broom.png.h \
 	src/images/bot_ingame.png.h src/images/bot_broom.png.h \
 	src/images/channel_options.xpm src/images/chanop_ingame.xpm \
 	src/images/chanop_away.xpm src/images/chanop_broom.xpm \
@@ -317,8 +331,8 @@ am__springlobby_SOURCES_DIST = src/utils/md5.h src/utils/md5.c \
 	src/torrentwrapper.cpp src/torrentwrapper.h src/thingdef.h \
 	src/spinctld.h src/spinctld.cpp src/autobalancedialog.cpp \
 	src/autobalancedialog.h src/tdfcontainer.cpp \
-	src/tdfcontainer.h src/globalevents.h src/globalevents.cpp \
-	src/httpdownloader.h src/Helper/TextCompletionDatabase.hpp \
+	src/tdfcontainer.h src/httpdownloader.h \
+	src/Helper/TextCompletionDatabase.hpp \
 	src/Helper/TextCompletionDatabase.cpp \
 	src/Helper/wxTranslationHelper.h \
 	src/Helper/wxTranslationHelper.cpp \
@@ -643,10 +657,8 @@ am__springlobby_SOURCES_DIST = src/utils/md5.h src/utils/md5.c \
 	src/settings++/tab_render_detail.h \
 	src/settings++/tab_abstract.h \
 	src/settings++/panel_pathoption.h \
-	src/settings++/panel_pathoption.cpp \
-	src/settings++/custom_dialogs.h \
-	src/settings++/custom_dialogs.cpp \
-	src/settings++/helpmenufunctions.h \
+	src/settings++/panel_pathoption.cpp src/utils/customdialogs.h \
+	src/utils/customdialogs.cpp src/settings++/helpmenufunctions.h \
 	src/settings++/helpmenufunctions.cpp
 am__dirstamp = $(am__leading_dot)dirstamp
 @USE_WINDRES_TRUE at am__objects_1 = src/springlobby.$(OBJEXT) \
@@ -679,28 +691,33 @@ am__objects_3 = entry.$(OBJEXT) escape_string.$(OBJEXT) \
 	trees.$(OBJEXT) uncompr.$(OBJEXT) zutil.$(OBJEXT)
 @USE_LIBT_INCLUDED_TRUE at am__objects_4 = $(am__objects_2) \
 @USE_LIBT_INCLUDED_TRUE@	$(am__objects_3)
-am_springlobby_OBJECTS = md5.$(OBJEXT) slbook.$(OBJEXT) math.$(OBJEXT) \
-	misc.$(OBJEXT) debug.$(OBJEXT) platform.$(OBJEXT) \
-	conversion.$(OBJEXT) tasutil.$(OBJEXT) sltipwin.$(OBJEXT) \
-	controls.$(OBJEXT) versionchecker.$(OBJEXT) \
-	springunitsynclib.$(OBJEXT) unitsyncthread.$(OBJEXT) \
-	mapgridctrl.$(OBJEXT) mapselectdialog.$(OBJEXT) \
-	chatlog.$(OBJEXT) ibattle.$(OBJEXT) addbotdialog.$(OBJEXT) \
-	agreementdialog.$(OBJEXT) autohost.$(OBJEXT) base64.$(OBJEXT) \
-	battle.$(OBJEXT) maintorrenttab.$(OBJEXT) \
-	battlelistctrl.$(OBJEXT) battlelistfilter.$(OBJEXT) \
-	battlelist.$(OBJEXT) battlelisttab.$(OBJEXT) \
-	battleroomlistctrl.$(OBJEXT) battlemaptab.$(OBJEXT) \
-	battleoptionstab.$(OBJEXT) battleroomtab.$(OBJEXT) \
-	crc.$(OBJEXT) channel.$(OBJEXT) channellist.$(OBJEXT) \
-	channellistctrl.$(OBJEXT) chatoptionstab.$(OBJEXT) \
-	chatpanel.$(OBJEXT) connectwindow.$(OBJEXT) \
-	crashreport.$(OBJEXT) countrycodes.$(OBJEXT) \
-	flagimages.$(OBJEXT) hostbattledialog.$(OBJEXT) \
-	iconimagelist.$(OBJEXT) mainchattab.$(OBJEXT) \
-	mainjoinbattletab.$(OBJEXT) mainoptionstab.$(OBJEXT) \
-	mainsingleplayertab.$(OBJEXT) mainwindow.$(OBJEXT) \
-	mapctrl.$(OBJEXT) offlinebattle.$(OBJEXT) \
+am_springlobby_OBJECTS = customizations.$(OBJEXT) \
+	gradientpanel.$(OBJEXT) wxgradientbutton.$(OBJEXT) \
+	skirmish_dialog.$(OBJEXT) wxbackgroundimage.$(OBJEXT) \
+	simplefront.$(OBJEXT) updatermainwindow.$(OBJEXT) \
+	activitynotice.$(OBJEXT) md5.$(OBJEXT) chatpanelmenu.$(OBJEXT) \
+	slbook.$(OBJEXT) math.$(OBJEXT) misc.$(OBJEXT) debug.$(OBJEXT) \
+	platform.$(OBJEXT) conversion.$(OBJEXT) tasutil.$(OBJEXT) \
+	sltipwin.$(OBJEXT) controls.$(OBJEXT) globalevents.$(OBJEXT) \
+	networkevents.$(OBJEXT) uievents.$(OBJEXT) \
+	versionchecker.$(OBJEXT) springunitsynclib.$(OBJEXT) \
+	unitsyncthread.$(OBJEXT) mapgridctrl.$(OBJEXT) \
+	mapselectdialog.$(OBJEXT) chatlog.$(OBJEXT) ibattle.$(OBJEXT) \
+	addbotdialog.$(OBJEXT) agreementdialog.$(OBJEXT) \
+	autohost.$(OBJEXT) base64.$(OBJEXT) battle.$(OBJEXT) \
+	maintorrenttab.$(OBJEXT) battlelistctrl.$(OBJEXT) \
+	battlelistfilter.$(OBJEXT) battlelist.$(OBJEXT) \
+	battlelisttab.$(OBJEXT) battleroomlistctrl.$(OBJEXT) \
+	battlemaptab.$(OBJEXT) battleoptionstab.$(OBJEXT) \
+	battleroomtab.$(OBJEXT) crc.$(OBJEXT) channel.$(OBJEXT) \
+	channellist.$(OBJEXT) channellistctrl.$(OBJEXT) \
+	chatoptionstab.$(OBJEXT) chatpanel.$(OBJEXT) \
+	connectwindow.$(OBJEXT) crashreport.$(OBJEXT) \
+	countrycodes.$(OBJEXT) flagimages.$(OBJEXT) \
+	hostbattledialog.$(OBJEXT) iconimagelist.$(OBJEXT) \
+	mainchattab.$(OBJEXT) mainjoinbattletab.$(OBJEXT) \
+	mainoptionstab.$(OBJEXT) mainsingleplayertab.$(OBJEXT) \
+	mainwindow.$(OBJEXT) mapctrl.$(OBJEXT) offlinebattle.$(OBJEXT) \
 	nicklistctrl.$(OBJEXT) replaylist.$(OBJEXT) sdlsound.$(OBJEXT) \
 	server.$(OBJEXT) serverevents.$(OBJEXT) settings.$(OBJEXT) \
 	socket.$(OBJEXT) spring.$(OBJEXT) singleplayerbattle.$(OBJEXT) \
@@ -713,16 +730,16 @@ am_springlobby_OBJECTS = md5.$(OBJEXT) slbook.$(OBJEXT) math.$(OBJEXT) \
 	mmoptionmodel.$(OBJEXT) mmoptionswrapper.$(OBJEXT) \
 	torrentwrapper.$(OBJEXT) spinctld.$(OBJEXT) \
 	autobalancedialog.$(OBJEXT) tdfcontainer.$(OBJEXT) \
-	globalevents.$(OBJEXT) TextCompletionDatabase.$(OBJEXT) \
-	wxTranslationHelper.$(OBJEXT) tasclientimport.$(OBJEXT) \
-	slhtmlwindow.$(OBJEXT) channelchooser.$(OBJEXT) \
-	channelchooserdialog.$(OBJEXT) colorbutton.$(OBJEXT) \
-	wxtextctrlhist.$(OBJEXT) imageviewer.$(OBJEXT) \
-	filelistctrl.$(OBJEXT) filelistdialog.$(OBJEXT) \
-	filelistfilter.$(OBJEXT) autojoinchanneldialog.$(OBJEXT) \
-	useractions.$(OBJEXT) selectusersdialog.$(OBJEXT) \
-	groupoptionspanel.$(OBJEXT) lobbyoptionstab.$(OBJEXT) \
-	auimanager.$(OBJEXT) artprovider.$(OBJEXT) updater.$(OBJEXT) \
+	TextCompletionDatabase.$(OBJEXT) wxTranslationHelper.$(OBJEXT) \
+	tasclientimport.$(OBJEXT) slhtmlwindow.$(OBJEXT) \
+	channelchooser.$(OBJEXT) channelchooserdialog.$(OBJEXT) \
+	colorbutton.$(OBJEXT) wxtextctrlhist.$(OBJEXT) \
+	imageviewer.$(OBJEXT) filelistctrl.$(OBJEXT) \
+	filelistdialog.$(OBJEXT) filelistfilter.$(OBJEXT) \
+	autojoinchanneldialog.$(OBJEXT) useractions.$(OBJEXT) \
+	selectusersdialog.$(OBJEXT) groupoptionspanel.$(OBJEXT) \
+	lobbyoptionstab.$(OBJEXT) auimanager.$(OBJEXT) \
+	artprovider.$(OBJEXT) updater.$(OBJEXT) \
 	downloadlistctrl.$(OBJEXT) downloaddialog.$(OBJEXT) \
 	downloadpanel.$(OBJEXT) infopanel.$(OBJEXT) widget.$(OBJEXT) \
 	thread.$(OBJEXT) globalsmanager.$(OBJEXT) \
@@ -731,7 +748,7 @@ am_springlobby_OBJECTS = md5.$(OBJEXT) slbook.$(OBJEXT) math.$(OBJEXT) \
 	frame.$(OBJEXT) tab_ui.$(OBJEXT) tab_render_detail.$(OBJEXT) \
 	tab_audio.$(OBJEXT) tab_abstract.$(OBJEXT) \
 	tab_simple.$(OBJEXT) tab_quality_video.$(OBJEXT) \
-	panel_pathoption.$(OBJEXT) custom_dialogs.$(OBJEXT) \
+	panel_pathoption.$(OBJEXT) customdialogs.$(OBJEXT) \
 	helpmenufunctions.$(OBJEXT)
 springlobby_OBJECTS = $(am_springlobby_OBJECTS)
 am__DEPENDENCIES_1 =
@@ -748,10 +765,10 @@ am__springsettings_SOURCES_DIST = src/utils/debug.cpp \
 	src/springunitsync.h src/thread.cpp src/thread.h \
 	src/settings.cpp src/settings.h src/uiutils.cpp src/uiutils.h \
 	src/mmoptionmodel.h src/mmoptionmodel.cpp \
-	src/globalsmanager.cpp src/settings++/se_utils.cpp \
-	src/settings++/se_utils.h src/settings++/frame.cpp \
-	src/settings++/main.h src/settings++/tab_ui.cpp \
-	src/settings++/tab_render_detail.cpp \
+	src/globalsmanager.cpp src/utils/globalevents.cpp \
+	src/settings++/se_utils.cpp src/settings++/se_utils.h \
+	src/settings++/frame.cpp src/settings++/main.h \
+	src/settings++/tab_ui.cpp src/settings++/tab_render_detail.cpp \
 	src/settings++/tab_quality_video.h src/settings++/frame.h \
 	src/settings++/tab_audio.h src/settings++/tab_audio.cpp \
 	src/settings++/presets.h src/settings++/tab_abstract.cpp \
@@ -762,10 +779,8 @@ am__springsettings_SOURCES_DIST = src/utils/debug.cpp \
 	src/settings++/tab_render_detail.h \
 	src/settings++/tab_abstract.h \
 	src/settings++/panel_pathoption.h \
-	src/settings++/panel_pathoption.cpp \
-	src/settings++/custom_dialogs.h \
-	src/settings++/custom_dialogs.cpp \
-	src/settings++/helpmenufunctions.h \
+	src/settings++/panel_pathoption.cpp src/utils/customdialogs.h \
+	src/utils/customdialogs.cpp src/settings++/helpmenufunctions.h \
 	src/settings++/helpmenufunctions.cpp \
 	src/settings++/settings.rc
 @USE_WINDRES_TRUE at am__objects_5 = src/settings++/settings.$(OBJEXT)
@@ -775,12 +790,12 @@ am_springsettings_OBJECTS = debug.$(OBJEXT) platform.$(OBJEXT) \
 	springunitsynclib.$(OBJEXT) springunitsync.$(OBJEXT) \
 	thread.$(OBJEXT) settings.$(OBJEXT) uiutils.$(OBJEXT) \
 	mmoptionmodel.$(OBJEXT) globalsmanager.$(OBJEXT) \
-	se_utils.$(OBJEXT) frame.$(OBJEXT) tab_ui.$(OBJEXT) \
-	tab_render_detail.$(OBJEXT) tab_audio.$(OBJEXT) \
-	tab_abstract.$(OBJEXT) Main.$(OBJEXT) tab_simple.$(OBJEXT) \
-	tab_quality_video.$(OBJEXT) panel_pathoption.$(OBJEXT) \
-	custom_dialogs.$(OBJEXT) helpmenufunctions.$(OBJEXT) \
-	$(am__objects_5)
+	globalevents.$(OBJEXT) se_utils.$(OBJEXT) frame.$(OBJEXT) \
+	tab_ui.$(OBJEXT) tab_render_detail.$(OBJEXT) \
+	tab_audio.$(OBJEXT) tab_abstract.$(OBJEXT) Main.$(OBJEXT) \
+	tab_simple.$(OBJEXT) tab_quality_video.$(OBJEXT) \
+	panel_pathoption.$(OBJEXT) customdialogs.$(OBJEXT) \
+	helpmenufunctions.$(OBJEXT) $(am__objects_5)
 springsettings_OBJECTS = $(am_springsettings_OBJECTS)
 springsettings_DEPENDENCIES = $(am__DEPENDENCIES_1)
 DEFAULT_INCLUDES = -I. at am__isrc@
@@ -1334,7 +1349,16 @@ libtorrent_headers = \
 
 # TODO keep only a single list instead of duplicating the lists below
 # note, integrated has everything but main.cpp
-springlobby_SOURCES = src/utils/md5.h src/utils/md5.c \
+springlobby_SOURCES = src/customizations.h src/customizations.cpp \
+	src/gui/gradientpanel.h src/gui/gradientpanel.cpp \
+	src/gui/wxgradientbutton.cpp src/gui/wxgradientbutton.h \
+	src/gui/skirmish_dialog.h src/gui/skirmish_dialog.cpp \
+	src/gui/wxbackgroundimage.cpp src/gui/wxbackgroundimage.h \
+	src/gui/simplefront.h src/gui/simplefront.cpp src/defines.h \
+	src/updater/updatermainwindow.cpp \
+	src/updater/updatermainwindow.h src/utils/activitynotice.cpp \
+	src/utils/activitynotice.h src/utils/isink.h src/utils/md5.h \
+	src/utils/md5.c src/chatpanelmenu.h src/chatpanelmenu.cpp \
 	src/aui/slbook.cpp src/aui/slbook.h src/utils/math.cpp \
 	src/utils/math.h src/utils/misc.cpp src/utils/misc.h \
 	src/utils/debug.cpp src/utils/debug.h src/utils/platform.cpp \
@@ -1342,13 +1366,17 @@ springlobby_SOURCES = src/utils/md5.h src/utils/md5.c \
 	src/utils/conversion.h src/utils/tasutil.cpp \
 	src/utils/tasutil.h src/utils/sltipwin.cpp \
 	src/utils/sltipwin.h src/utils/controls.cpp \
-	src/utils/controls.h src/updater/versionchecker.cpp \
-	src/updater/versionchecker.h src/sounds/ring_sound.h \
-	src/sounds/pm_sound.h src/springunitsynclib.cpp \
-	src/springunitsynclib.h src/unitsyncthread.cpp \
-	src/unitsyncthread.h src/mapgridctrl.cpp src/mapgridctrl.h \
-	src/mapselectdialog.cpp src/mapselectdialog.h src/bimap.h \
-	src/chatlog.h src/chatlog.cpp src/images/broom.png.h \
+	src/utils/controls.h src/utils/globalevents.cpp \
+	src/utils/globalevents.h src/utils/networkevents.cpp \
+	src/utils/networkevents.h src/utils/uievents.cpp \
+	src/utils/uievents.h src/utils/events.h \
+	src/updater/versionchecker.cpp src/updater/versionchecker.h \
+	src/sounds/ring_sound.h src/sounds/pm_sound.h \
+	src/springunitsynclib.cpp src/springunitsynclib.h \
+	src/unitsyncthread.cpp src/unitsyncthread.h \
+	src/mapgridctrl.cpp src/mapgridctrl.h src/mapselectdialog.cpp \
+	src/mapselectdialog.h src/bimap.h src/chatlog.h \
+	src/chatlog.cpp src/images/broom.png.h \
 	src/images/bot_ingame.png.h src/images/bot_broom.png.h \
 	src/images/channel_options.xpm src/images/chanop_ingame.xpm \
 	src/images/chanop_away.xpm src/images/chanop_broom.xpm \
@@ -1574,8 +1602,8 @@ springlobby_SOURCES = src/utils/md5.h src/utils/md5.c \
 	src/torrentwrapper.cpp src/torrentwrapper.h src/thingdef.h \
 	src/spinctld.h src/spinctld.cpp src/autobalancedialog.cpp \
 	src/autobalancedialog.h src/tdfcontainer.cpp \
-	src/tdfcontainer.h src/globalevents.h src/globalevents.cpp \
-	src/httpdownloader.h src/Helper/TextCompletionDatabase.hpp \
+	src/tdfcontainer.h src/httpdownloader.h \
+	src/Helper/TextCompletionDatabase.hpp \
 	src/Helper/TextCompletionDatabase.cpp \
 	src/Helper/wxTranslationHelper.h \
 	src/Helper/wxTranslationHelper.cpp \
@@ -1625,10 +1653,8 @@ springlobby_SOURCES = src/utils/md5.h src/utils/md5.c \
 	src/settings++/tab_render_detail.h \
 	src/settings++/tab_abstract.h \
 	src/settings++/panel_pathoption.h \
-	src/settings++/panel_pathoption.cpp \
-	src/settings++/custom_dialogs.h \
-	src/settings++/custom_dialogs.cpp \
-	src/settings++/helpmenufunctions.h \
+	src/settings++/panel_pathoption.cpp src/utils/customdialogs.h \
+	src/utils/customdialogs.cpp src/settings++/helpmenufunctions.h \
 	src/settings++/helpmenufunctions.cpp
 springsettings_SOURCES = src/utils/debug.cpp src/utils/debug.h \
 	src/utils/platform.cpp src/utils/platform.h \
@@ -1641,10 +1667,10 @@ springsettings_SOURCES = src/utils/debug.cpp src/utils/debug.h \
 	src/springunitsync.h src/thread.cpp src/thread.h \
 	src/settings.cpp src/settings.h src/uiutils.cpp src/uiutils.h \
 	src/mmoptionmodel.h src/mmoptionmodel.cpp \
-	src/globalsmanager.cpp src/settings++/se_utils.cpp \
-	src/settings++/se_utils.h src/settings++/frame.cpp \
-	src/settings++/main.h src/settings++/tab_ui.cpp \
-	src/settings++/tab_render_detail.cpp \
+	src/globalsmanager.cpp src/utils/globalevents.cpp \
+	src/settings++/se_utils.cpp src/settings++/se_utils.h \
+	src/settings++/frame.cpp src/settings++/main.h \
+	src/settings++/tab_ui.cpp src/settings++/tab_render_detail.cpp \
 	src/settings++/tab_quality_video.h src/settings++/frame.h \
 	src/settings++/tab_audio.h src/settings++/tab_audio.cpp \
 	src/settings++/presets.h src/settings++/tab_abstract.cpp \
@@ -1655,10 +1681,8 @@ springsettings_SOURCES = src/utils/debug.cpp src/utils/debug.h \
 	src/settings++/tab_render_detail.h \
 	src/settings++/tab_abstract.h \
 	src/settings++/panel_pathoption.h \
-	src/settings++/panel_pathoption.cpp \
-	src/settings++/custom_dialogs.h \
-	src/settings++/custom_dialogs.cpp \
-	src/settings++/helpmenufunctions.h \
+	src/settings++/panel_pathoption.cpp src/utils/customdialogs.h \
+	src/utils/customdialogs.cpp src/settings++/helpmenufunctions.h \
 	src/settings++/helpmenufunctions.cpp $(am__append_4)
 all: config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -1771,6 +1795,7 @@ distclean-compile:
 
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Main.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TextCompletionDatabase.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/activitynotice.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/addbotdialog.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/adler32.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/agreementdialog.Po at am__quote@
@@ -1801,6 +1826,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/chatlog.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/chatoptionstab.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/chatpanel.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/chatpanelmenu.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/closest_nodes.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/colorbutton.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/compress.Po at am__quote@
@@ -1812,7 +1838,8 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/crashreport.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/crc.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/crc32.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/custom_dialogs.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/customdialogs.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/customizations.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/customlistctrl.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/debug.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/deflate.Po at am__quote@
@@ -1834,6 +1861,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frame.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/globalevents.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/globalsmanager.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gradientpanel.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/groupoptionspanel.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/gzio.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/helpmenufunctions.Po at am__quote@
@@ -1873,6 +1901,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mmoptionswrapper.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mmoptionwindows.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/natpmp.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/networkevents.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nicklistctrl.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/node.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/node_id.Po at am__quote@
@@ -1897,8 +1926,10 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/session_impl.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/settings.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sha1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/simplefront.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/singleplayerbattle.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/singleplayertab.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/skirmish_dialog.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/slbook.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/slhtmlwindow.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sltipwin.Po at am__quote@
@@ -1936,10 +1967,12 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/trees.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/udp_tracker_connection.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ui.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/uievents.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/uiutils.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/uncompr.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unitsyncthread.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/updater.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/updatermainwindow.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upnp.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/user.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/useractions.Po at am__quote@
@@ -1950,6 +1983,8 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/web_peer_connection.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/widget.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wxTranslationHelper.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wxbackgroundimage.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wxgradientbutton.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wxtextctrlhist.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/zutil.Po at am__quote@
 
@@ -2163,6 +2198,132 @@ zutil.obj: $(libt_dir)/zlib/zutil.c
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
+customizations.o: src/customizations.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT customizations.o -MD -MP -MF $(DEPDIR)/customizations.Tpo -c -o customizations.o `test -f 'src/customizations.cpp' || echo '$(srcdir)/'`src/customizations.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/customizations.Tpo $(DEPDIR)/customizations.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/customizations.cpp' object='customizations.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o customizations.o `test -f 'src/customizations.cpp' || echo '$(srcdir)/'`src/customizations.cpp
+
+customizations.obj: src/customizations.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT customizations.obj -MD -MP -MF $(DEPDIR)/customizations.Tpo -c -o customizations.obj `if test -f 'src/customizations.cpp'; then $(CYGPATH_W) 'src/customizations.cpp'; else $(CYGPATH_W) '$(srcdir)/src/customizations.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/customizations.Tpo $(DEPDIR)/customizations.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/customizations.cpp' object='customizations.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o customizations.obj `if test -f 'src/customizations.cpp'; then $(CYGPATH_W) 'src/customizations.cpp'; else $(CYGPATH_W) '$(srcdir)/src/customizations.cpp'; fi`
+
+gradientpanel.o: src/gui/gradientpanel.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gradientpanel.o -MD -MP -MF $(DEPDIR)/gradientpanel.Tpo -c -o gradientpanel.o `test -f 'src/gui/gradientpanel.cpp' || echo '$(srcdir)/'`src/gui/gradientpanel.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/gradientpanel.Tpo $(DEPDIR)/gradientpanel.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/gui/gradientpanel.cpp' object='gradientpanel.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gradientpanel.o `test -f 'src/gui/gradientpanel.cpp' || echo '$(srcdir)/'`src/gui/gradientpanel.cpp
+
+gradientpanel.obj: src/gui/gradientpanel.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT gradientpanel.obj -MD -MP -MF $(DEPDIR)/gradientpanel.Tpo -c -o gradientpanel.obj `if test -f 'src/gui/gradientpanel.cpp'; then $(CYGPATH_W) 'src/gui/gradientpanel.cpp'; else $(CYGPATH_W) '$(srcdir)/src/gui/gradientpanel.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/gradientpanel.Tpo $(DEPDIR)/gradientpanel.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/gui/gradientpanel.cpp' object='gradientpanel.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o gradientpanel.obj `if test -f 'src/gui/gradientpanel.cpp'; then $(CYGPATH_W) 'src/gui/gradientpanel.cpp'; else $(CYGPATH_W) '$(srcdir)/src/gui/gradientpanel.cpp'; fi`
+
+wxgradientbutton.o: src/gui/wxgradientbutton.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT wxgradientbutton.o -MD -MP -MF $(DEPDIR)/wxgradientbutton.Tpo -c -o wxgradientbutton.o `test -f 'src/gui/wxgradientbutton.cpp' || echo '$(srcdir)/'`src/gui/wxgradientbutton.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wxgradientbutton.Tpo $(DEPDIR)/wxgradientbutton.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/gui/wxgradientbutton.cpp' object='wxgradientbutton.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o wxgradientbutton.o `test -f 'src/gui/wxgradientbutton.cpp' || echo '$(srcdir)/'`src/gui/wxgradientbutton.cpp
+
+wxgradientbutton.obj: src/gui/wxgradientbutton.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT wxgradientbutton.obj -MD -MP -MF $(DEPDIR)/wxgradientbutton.Tpo -c -o wxgradientbutton.obj `if test -f 'src/gui/wxgradientbutton.cpp'; then $(CYGPATH_W) 'src/gui/wxgradientbutton.cpp'; else $(CYGPATH_W) '$(srcdir)/src/gui/wxgradientbutton.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wxgradientbutton.Tpo $(DEPDIR)/wxgradientbutton.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/gui/wxgradientbutton.cpp' object='wxgradientbutton.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o wxgradientbutton.obj `if test -f 'src/gui/wxgradientbutton.cpp'; then $(CYGPATH_W) 'src/gui/wxgradientbutton.cpp'; else $(CYGPATH_W) '$(srcdir)/src/gui/wxgradientbutton.cpp'; fi`
+
+skirmish_dialog.o: src/gui/skirmish_dialog.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT skirmish_dialog.o -MD -MP -MF $(DEPDIR)/skirmish_dialog.Tpo -c -o skirmish_dialog.o `test -f 'src/gui/skirmish_dialog.cpp' || echo '$(srcdir)/'`src/gui/skirmish_dialog.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/skirmish_dialog.Tpo $(DEPDIR)/skirmish_dialog.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/gui/skirmish_dialog.cpp' object='skirmish_dialog.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o skirmish_dialog.o `test -f 'src/gui/skirmish_dialog.cpp' || echo '$(srcdir)/'`src/gui/skirmish_dialog.cpp
+
+skirmish_dialog.obj: src/gui/skirmish_dialog.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT skirmish_dialog.obj -MD -MP -MF $(DEPDIR)/skirmish_dialog.Tpo -c -o skirmish_dialog.obj `if test -f 'src/gui/skirmish_dialog.cpp'; then $(CYGPATH_W) 'src/gui/skirmish_dialog.cpp'; else $(CYGPATH_W) '$(srcdir)/src/gui/skirmish_dialog.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/skirmish_dialog.Tpo $(DEPDIR)/skirmish_dialog.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/gui/skirmish_dialog.cpp' object='skirmish_dialog.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o skirmish_dialog.obj `if test -f 'src/gui/skirmish_dialog.cpp'; then $(CYGPATH_W) 'src/gui/skirmish_dialog.cpp'; else $(CYGPATH_W) '$(srcdir)/src/gui/skirmish_dialog.cpp'; fi`
+
+wxbackgroundimage.o: src/gui/wxbackgroundimage.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT wxbackgroundimage.o -MD -MP -MF $(DEPDIR)/wxbackgroundimage.Tpo -c -o wxbackgroundimage.o `test -f 'src/gui/wxbackgroundimage.cpp' || echo '$(srcdir)/'`src/gui/wxbackgroundimage.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wxbackgroundimage.Tpo $(DEPDIR)/wxbackgroundimage.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/gui/wxbackgroundimage.cpp' object='wxbackgroundimage.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o wxbackgroundimage.o `test -f 'src/gui/wxbackgroundimage.cpp' || echo '$(srcdir)/'`src/gui/wxbackgroundimage.cpp
+
+wxbackgroundimage.obj: src/gui/wxbackgroundimage.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT wxbackgroundimage.obj -MD -MP -MF $(DEPDIR)/wxbackgroundimage.Tpo -c -o wxbackgroundimage.obj `if test -f 'src/gui/wxbackgroundimage.cpp'; then $(CYGPATH_W) 'src/gui/wxbackgroundimage.cpp'; else $(CYGPATH_W) '$(srcdir)/src/gui/wxbackgroundimage.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/wxbackgroundimage.Tpo $(DEPDIR)/wxbackgroundimage.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/gui/wxbackgroundimage.cpp' object='wxbackgroundimage.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o wxbackgroundimage.obj `if test -f 'src/gui/wxbackgroundimage.cpp'; then $(CYGPATH_W) 'src/gui/wxbackgroundimage.cpp'; else $(CYGPATH_W) '$(srcdir)/src/gui/wxbackgroundimage.cpp'; fi`
+
+simplefront.o: src/gui/simplefront.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simplefront.o -MD -MP -MF $(DEPDIR)/simplefront.Tpo -c -o simplefront.o `test -f 'src/gui/simplefront.cpp' || echo '$(srcdir)/'`src/gui/simplefront.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/simplefront.Tpo $(DEPDIR)/simplefront.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/gui/simplefront.cpp' object='simplefront.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simplefront.o `test -f 'src/gui/simplefront.cpp' || echo '$(srcdir)/'`src/gui/simplefront.cpp
+
+simplefront.obj: src/gui/simplefront.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT simplefront.obj -MD -MP -MF $(DEPDIR)/simplefront.Tpo -c -o simplefront.obj `if test -f 'src/gui/simplefront.cpp'; then $(CYGPATH_W) 'src/gui/simplefront.cpp'; else $(CYGPATH_W) '$(srcdir)/src/gui/simplefront.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/simplefront.Tpo $(DEPDIR)/simplefront.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/gui/simplefront.cpp' object='simplefront.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o simplefront.obj `if test -f 'src/gui/simplefront.cpp'; then $(CYGPATH_W) 'src/gui/simplefront.cpp'; else $(CYGPATH_W) '$(srcdir)/src/gui/simplefront.cpp'; fi`
+
+updatermainwindow.o: src/updater/updatermainwindow.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT updatermainwindow.o -MD -MP -MF $(DEPDIR)/updatermainwindow.Tpo -c -o updatermainwindow.o `test -f 'src/updater/updatermainwindow.cpp' || echo '$(srcdir)/'`src/updater/updatermainwindow.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/updatermainwindow.Tpo $(DEPDIR)/updatermainwindow.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/updater/updatermainwindow.cpp' object='updatermainwindow.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o updatermainwindow.o `test -f 'src/updater/updatermainwindow.cpp' || echo '$(srcdir)/'`src/updater/updatermainwindow.cpp
+
+updatermainwindow.obj: src/updater/updatermainwindow.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT updatermainwindow.obj -MD -MP -MF $(DEPDIR)/updatermainwindow.Tpo -c -o updatermainwindow.obj `if test -f 'src/updater/updatermainwindow.cpp'; then $(CYGPATH_W) 'src/updater/updatermainwindow.cpp'; else $(CYGPATH_W) '$(srcdir)/src/updater/updatermainwindow.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/updatermainwindow.Tpo $(DEPDIR)/updatermainwindow.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/updater/updatermainwindow.cpp' object='updatermainwindow.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o updatermainwindow.obj `if test -f 'src/updater/updatermainwindow.cpp'; then $(CYGPATH_W) 'src/updater/updatermainwindow.cpp'; else $(CYGPATH_W) '$(srcdir)/src/updater/updatermainwindow.cpp'; fi`
+
+activitynotice.o: src/utils/activitynotice.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT activitynotice.o -MD -MP -MF $(DEPDIR)/activitynotice.Tpo -c -o activitynotice.o `test -f 'src/utils/activitynotice.cpp' || echo '$(srcdir)/'`src/utils/activitynotice.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/activitynotice.Tpo $(DEPDIR)/activitynotice.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/utils/activitynotice.cpp' object='activitynotice.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o activitynotice.o `test -f 'src/utils/activitynotice.cpp' || echo '$(srcdir)/'`src/utils/activitynotice.cpp
+
+activitynotice.obj: src/utils/activitynotice.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT activitynotice.obj -MD -MP -MF $(DEPDIR)/activitynotice.Tpo -c -o activitynotice.obj `if test -f 'src/utils/activitynotice.cpp'; then $(CYGPATH_W) 'src/utils/activitynotice.cpp'; else $(CYGPATH_W) '$(srcdir)/src/utils/activitynotice.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/activitynotice.Tpo $(DEPDIR)/activitynotice.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/utils/activitynotice.cpp' object='activitynotice.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o activitynotice.obj `if test -f 'src/utils/activitynotice.cpp'; then $(CYGPATH_W) 'src/utils/activitynotice.cpp'; else $(CYGPATH_W) '$(srcdir)/src/utils/activitynotice.cpp'; fi`
+
+chatpanelmenu.o: src/chatpanelmenu.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT chatpanelmenu.o -MD -MP -MF $(DEPDIR)/chatpanelmenu.Tpo -c -o chatpanelmenu.o `test -f 'src/chatpanelmenu.cpp' || echo '$(srcdir)/'`src/chatpanelmenu.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/chatpanelmenu.Tpo $(DEPDIR)/chatpanelmenu.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/chatpanelmenu.cpp' object='chatpanelmenu.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o chatpanelmenu.o `test -f 'src/chatpanelmenu.cpp' || echo '$(srcdir)/'`src/chatpanelmenu.cpp
+
+chatpanelmenu.obj: src/chatpanelmenu.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT chatpanelmenu.obj -MD -MP -MF $(DEPDIR)/chatpanelmenu.Tpo -c -o chatpanelmenu.obj `if test -f 'src/chatpanelmenu.cpp'; then $(CYGPATH_W) 'src/chatpanelmenu.cpp'; else $(CYGPATH_W) '$(srcdir)/src/chatpanelmenu.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/chatpanelmenu.Tpo $(DEPDIR)/chatpanelmenu.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/chatpanelmenu.cpp' object='chatpanelmenu.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o chatpanelmenu.obj `if test -f 'src/chatpanelmenu.cpp'; then $(CYGPATH_W) 'src/chatpanelmenu.cpp'; else $(CYGPATH_W) '$(srcdir)/src/chatpanelmenu.cpp'; fi`
+
 slbook.o: src/aui/slbook.cpp
 @am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT slbook.o -MD -MP -MF $(DEPDIR)/slbook.Tpo -c -o slbook.o `test -f 'src/aui/slbook.cpp' || echo '$(srcdir)/'`src/aui/slbook.cpp
 @am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/slbook.Tpo $(DEPDIR)/slbook.Po
@@ -2289,6 +2450,48 @@ controls.obj: src/utils/controls.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o controls.obj `if test -f 'src/utils/controls.cpp'; then $(CYGPATH_W) 'src/utils/controls.cpp'; else $(CYGPATH_W) '$(srcdir)/src/utils/controls.cpp'; fi`
 
+globalevents.o: src/utils/globalevents.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT globalevents.o -MD -MP -MF $(DEPDIR)/globalevents.Tpo -c -o globalevents.o `test -f 'src/utils/globalevents.cpp' || echo '$(srcdir)/'`src/utils/globalevents.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/globalevents.Tpo $(DEPDIR)/globalevents.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/utils/globalevents.cpp' object='globalevents.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o globalevents.o `test -f 'src/utils/globalevents.cpp' || echo '$(srcdir)/'`src/utils/globalevents.cpp
+
+globalevents.obj: src/utils/globalevents.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT globalevents.obj -MD -MP -MF $(DEPDIR)/globalevents.Tpo -c -o globalevents.obj `if test -f 'src/utils/globalevents.cpp'; then $(CYGPATH_W) 'src/utils/globalevents.cpp'; else $(CYGPATH_W) '$(srcdir)/src/utils/globalevents.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/globalevents.Tpo $(DEPDIR)/globalevents.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/utils/globalevents.cpp' object='globalevents.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o globalevents.obj `if test -f 'src/utils/globalevents.cpp'; then $(CYGPATH_W) 'src/utils/globalevents.cpp'; else $(CYGPATH_W) '$(srcdir)/src/utils/globalevents.cpp'; fi`
+
+networkevents.o: src/utils/networkevents.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT networkevents.o -MD -MP -MF $(DEPDIR)/networkevents.Tpo -c -o networkevents.o `test -f 'src/utils/networkevents.cpp' || echo '$(srcdir)/'`src/utils/networkevents.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/networkevents.Tpo $(DEPDIR)/networkevents.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/utils/networkevents.cpp' object='networkevents.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o networkevents.o `test -f 'src/utils/networkevents.cpp' || echo '$(srcdir)/'`src/utils/networkevents.cpp
+
+networkevents.obj: src/utils/networkevents.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT networkevents.obj -MD -MP -MF $(DEPDIR)/networkevents.Tpo -c -o networkevents.obj `if test -f 'src/utils/networkevents.cpp'; then $(CYGPATH_W) 'src/utils/networkevents.cpp'; else $(CYGPATH_W) '$(srcdir)/src/utils/networkevents.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/networkevents.Tpo $(DEPDIR)/networkevents.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/utils/networkevents.cpp' object='networkevents.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o networkevents.obj `if test -f 'src/utils/networkevents.cpp'; then $(CYGPATH_W) 'src/utils/networkevents.cpp'; else $(CYGPATH_W) '$(srcdir)/src/utils/networkevents.cpp'; fi`
+
+uievents.o: src/utils/uievents.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT uievents.o -MD -MP -MF $(DEPDIR)/uievents.Tpo -c -o uievents.o `test -f 'src/utils/uievents.cpp' || echo '$(srcdir)/'`src/utils/uievents.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/uievents.Tpo $(DEPDIR)/uievents.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/utils/uievents.cpp' object='uievents.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o uievents.o `test -f 'src/utils/uievents.cpp' || echo '$(srcdir)/'`src/utils/uievents.cpp
+
+uievents.obj: src/utils/uievents.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT uievents.obj -MD -MP -MF $(DEPDIR)/uievents.Tpo -c -o uievents.obj `if test -f 'src/utils/uievents.cpp'; then $(CYGPATH_W) 'src/utils/uievents.cpp'; else $(CYGPATH_W) '$(srcdir)/src/utils/uievents.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/uievents.Tpo $(DEPDIR)/uievents.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/utils/uievents.cpp' object='uievents.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o uievents.obj `if test -f 'src/utils/uievents.cpp'; then $(CYGPATH_W) 'src/utils/uievents.cpp'; else $(CYGPATH_W) '$(srcdir)/src/utils/uievents.cpp'; fi`
+
 versionchecker.o: src/updater/versionchecker.cpp
 @am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT versionchecker.o -MD -MP -MF $(DEPDIR)/versionchecker.Tpo -c -o versionchecker.o `test -f 'src/updater/versionchecker.cpp' || echo '$(srcdir)/'`src/updater/versionchecker.cpp
 @am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/versionchecker.Tpo $(DEPDIR)/versionchecker.Po
@@ -3255,20 +3458,6 @@ tdfcontainer.obj: src/tdfcontainer.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o tdfcontainer.obj `if test -f 'src/tdfcontainer.cpp'; then $(CYGPATH_W) 'src/tdfcontainer.cpp'; else $(CYGPATH_W) '$(srcdir)/src/tdfcontainer.cpp'; fi`
 
-globalevents.o: src/globalevents.cpp
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT globalevents.o -MD -MP -MF $(DEPDIR)/globalevents.Tpo -c -o globalevents.o `test -f 'src/globalevents.cpp' || echo '$(srcdir)/'`src/globalevents.cpp
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/globalevents.Tpo $(DEPDIR)/globalevents.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/globalevents.cpp' object='globalevents.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o globalevents.o `test -f 'src/globalevents.cpp' || echo '$(srcdir)/'`src/globalevents.cpp
-
-globalevents.obj: src/globalevents.cpp
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT globalevents.obj -MD -MP -MF $(DEPDIR)/globalevents.Tpo -c -o globalevents.obj `if test -f 'src/globalevents.cpp'; then $(CYGPATH_W) 'src/globalevents.cpp'; else $(CYGPATH_W) '$(srcdir)/src/globalevents.cpp'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/globalevents.Tpo $(DEPDIR)/globalevents.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/globalevents.cpp' object='globalevents.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o globalevents.obj `if test -f 'src/globalevents.cpp'; then $(CYGPATH_W) 'src/globalevents.cpp'; else $(CYGPATH_W) '$(srcdir)/src/globalevents.cpp'; fi`
-
 TextCompletionDatabase.o: src/Helper/TextCompletionDatabase.cpp
 @am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT TextCompletionDatabase.o -MD -MP -MF $(DEPDIR)/TextCompletionDatabase.Tpo -c -o TextCompletionDatabase.o `test -f 'src/Helper/TextCompletionDatabase.cpp' || echo '$(srcdir)/'`src/Helper/TextCompletionDatabase.cpp
 @am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/TextCompletionDatabase.Tpo $(DEPDIR)/TextCompletionDatabase.Po
@@ -4501,19 +4690,19 @@ panel_pathoption.obj: src/settings++/panel_pathoption.cpp
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o panel_pathoption.obj `if test -f 'src/settings++/panel_pathoption.cpp'; then $(CYGPATH_W) 'src/settings++/panel_pathoption.cpp'; else $(CYGPATH_W) '$(srcdir)/src/settings++/panel_pathoption.cpp'; fi`
 
-custom_dialogs.o: src/settings++/custom_dialogs.cpp
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT custom_dialogs.o -MD -MP -MF $(DEPDIR)/custom_dialogs.Tpo -c -o custom_dialogs.o `test -f 'src/settings++/custom_dialogs.cpp' || echo '$(srcdir)/'`src/settings++/custom_dialogs.cpp
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/custom_dialogs.Tpo $(DEPDIR)/custom_dialogs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/settings++/custom_dialogs.cpp' object='custom_dialogs.o' libtool=no @AMDEPBACKSLASH@
+customdialogs.o: src/utils/customdialogs.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT customdialogs.o -MD -MP -MF $(DEPDIR)/customdialogs.Tpo -c -o customdialogs.o `test -f 'src/utils/customdialogs.cpp' || echo '$(srcdir)/'`src/utils/customdialogs.cpp
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/customdialogs.Tpo $(DEPDIR)/customdialogs.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/utils/customdialogs.cpp' object='customdialogs.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o custom_dialogs.o `test -f 'src/settings++/custom_dialogs.cpp' || echo '$(srcdir)/'`src/settings++/custom_dialogs.cpp
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o customdialogs.o `test -f 'src/utils/customdialogs.cpp' || echo '$(srcdir)/'`src/utils/customdialogs.cpp
 
-custom_dialogs.obj: src/settings++/custom_dialogs.cpp
- at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT custom_dialogs.obj -MD -MP -MF $(DEPDIR)/custom_dialogs.Tpo -c -o custom_dialogs.obj `if test -f 'src/settings++/custom_dialogs.cpp'; then $(CYGPATH_W) 'src/settings++/custom_dialogs.cpp'; else $(CYGPATH_W) '$(srcdir)/src/settings++/custom_dialogs.cpp'; fi`
- at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/custom_dialogs.Tpo $(DEPDIR)/custom_dialogs.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/settings++/custom_dialogs.cpp' object='custom_dialogs.obj' libtool=no @AMDEPBACKSLASH@
+customdialogs.obj: src/utils/customdialogs.cpp
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT customdialogs.obj -MD -MP -MF $(DEPDIR)/customdialogs.Tpo -c -o customdialogs.obj `if test -f 'src/utils/customdialogs.cpp'; then $(CYGPATH_W) 'src/utils/customdialogs.cpp'; else $(CYGPATH_W) '$(srcdir)/src/utils/customdialogs.cpp'; fi`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/customdialogs.Tpo $(DEPDIR)/customdialogs.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='src/utils/customdialogs.cpp' object='customdialogs.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o custom_dialogs.obj `if test -f 'src/settings++/custom_dialogs.cpp'; then $(CYGPATH_W) 'src/settings++/custom_dialogs.cpp'; else $(CYGPATH_W) '$(srcdir)/src/settings++/custom_dialogs.cpp'; fi`
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o customdialogs.obj `if test -f 'src/utils/customdialogs.cpp'; then $(CYGPATH_W) 'src/utils/customdialogs.cpp'; else $(CYGPATH_W) '$(srcdir)/src/utils/customdialogs.cpp'; fi`
 
 helpmenufunctions.o: src/settings++/helpmenufunctions.cpp
 @am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT helpmenufunctions.o -MD -MP -MF $(DEPDIR)/helpmenufunctions.Tpo -c -o helpmenufunctions.o `test -f 'src/settings++/helpmenufunctions.cpp' || echo '$(srcdir)/'`src/settings++/helpmenufunctions.cpp
diff --git a/configure b/configure
index 7566630..b2a7229 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for SpringLobby 0.29.
+# Generated by GNU Autoconf 2.61 for SpringLobby 0.33.
 #
 # Report bugs to <devel at www.springlobby.info>.
 #
@@ -574,8 +574,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='SpringLobby'
 PACKAGE_TARNAME='springlobby'
-PACKAGE_VERSION='0.29'
-PACKAGE_STRING='SpringLobby 0.29'
+PACKAGE_VERSION='0.33'
+PACKAGE_STRING='SpringLobby 0.33'
 PACKAGE_BUGREPORT='devel at www.springlobby.info'
 
 ac_unique_file="src/springlobbyapp.cpp"
@@ -1224,7 +1224,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures SpringLobby 0.29 to adapt to many kinds of systems.
+\`configure' configures SpringLobby 0.33 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1294,7 +1294,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of SpringLobby 0.29:";;
+     short | recursive ) echo "Configuration of SpringLobby 0.33:";;
    esac
   cat <<\_ACEOF
 
@@ -1407,7 +1407,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-SpringLobby configure 0.29
+SpringLobby configure 0.33
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1421,7 +1421,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by SpringLobby $as_me 0.29, which was
+It was created by SpringLobby $as_me 0.33, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2116,7 +2116,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='springlobby'
- VERSION='0.29'
+ VERSION='0.33'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4112,7 +4112,7 @@ fi
 #on windows append identifier to version string
 if test "$win_build" = 1 ; then
     cat >>confdefs.h <<\_ACEOF
-#define VERSION "0.29 on Windows"
+#define VERSION "0.33 on Windows"
 _ACEOF
 
 fi
@@ -7516,7 +7516,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by SpringLobby $as_me 0.29, which was
+This file was extended by SpringLobby $as_me 0.33, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -7569,7 +7569,7 @@ Report bugs to <bug-autoconf at gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-SpringLobby config.status 0.29
+SpringLobby config.status 0.33
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/configure.ac b/configure.ac
index dd4022a..4767943 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,7 @@ dnl you really should just upgrade your autotools instead
 
 dnl if you have too old autoconf, comment out the following prereq AND edit Makefile.am
 
-AC_INIT([SpringLobby],[0.29],[devel at www.springlobby.info])
+AC_INIT([SpringLobby],[0.33],[devel at www.springlobby.info])
 
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_SRCDIR([src/springlobbyapp.cpp])
@@ -144,7 +144,7 @@ fi
 
 #on windows append identifier to version string
 if test "$win_build" = 1 ; then
-    AC_DEFINE([VERSION],["0.29 on Windows"]  )
+    AC_DEFINE([VERSION],["0.33 on Windows"]  )
 fi
 
 AM_CONDITIONAL([USE_WINDRES], test "$win_build" = 1)
diff --git a/po/POTFILES.in b/po/POTFILES.in
index e2932f8..57f3891 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -22,7 +22,7 @@ src/crashreport.cpp
 src/filelister/filelistctrl.cpp
 src/filelister/filelistdialog.cpp
 src/filelister/filelistfilter.cpp
-src/globalevents.cpp
+src/utils/globalevents.cpp
 src/groupoptionspanel.cpp
 src/Helper/imageviewer.cpp
 src/Helper/wxtextctrlhist.h
diff --git a/po/ar.gmo b/po/ar.gmo
index 7455de0..ece1103 100644
Binary files a/po/ar.gmo and b/po/ar.gmo differ
diff --git a/po/ar.po b/po/ar.po
index 0382347..47cf9e1 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the springlobby package.
 # FIRST AUTHOR <EMAIL at ADDRESS>, 2008.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: springlobby\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2008-07-30 23:38+0000\n"
 "Last-Translator: SpringLobby_Buildbot <Unknown>\n"
 "Language-Team: Arabic <ar at li.org>\n"
@@ -50,8 +50,8 @@ msgid "value"
 msgstr "قيمة"
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "إلغاء"
 
@@ -104,7 +104,7 @@ msgstr "عشوائي"
 msgid "Clans"
 msgstr "فرق"
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "لا شيء"
 
@@ -135,46 +135,46 @@ msgstr ""
 msgid "Auto select"
 msgstr "إعادة الاتصال"
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "موافق"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "وصف"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "خارطة"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr ""
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "مستضيف"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "المتابعون:"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 #, fuzzy
 msgid "Players"
 msgstr "اللّاعبون:"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "خارطة"
@@ -187,11 +187,11 @@ msgstr "تنزيل ال&خارطة"
 msgid "Download m&od"
 msgstr ""
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "المتابعون:"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 #, fuzzy
 msgid "Active Players:"
 msgstr "اللّاعبون:"
@@ -245,8 +245,8 @@ msgid "All"
 msgstr "الكل"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "الخارطة:"
 
@@ -259,8 +259,8 @@ msgid "Max.Player:"
 msgstr "الحدّ الأعلى للاعبين:"
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr ""
 
@@ -272,15 +272,15 @@ msgstr ""
 msgid "    Spectator:"
 msgstr "    متابع:"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr ""
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "اللّاعبون:"
 
@@ -309,64 +309,64 @@ msgstr "استضافة جديدة..."
 msgid "Join"
 msgstr "انضمام"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, c-format
 msgid "%d battles displayed"
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr "غير متصل."
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr ""
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr "خطأ Spring"
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
 msgstr ""
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr ""
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
 "Do you want to leave current battle to start a new?"
 msgstr ""
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
 " Hosting may or may not work."
 msgstr ""
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
 "Hosting may or may not work with this setting."
 msgstr ""
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -378,93 +378,93 @@ msgid ""
 " option in the hosting settings."
 msgstr ""
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr ""
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr "خطأ في بدأ المعركة."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
 msgstr ""
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "لم يتم العثور على أي خريطة"
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
 msgstr ""
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 msgid "Already in this battle"
 msgstr ""
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 msgid ""
 "You are already in this battle.\n"
 "\n"
 "Do you want to leave it?"
 msgstr ""
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 msgid "Already in another battle"
 msgstr ""
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 msgid ""
 "You are already in a battle.\n"
 "\n"
 "Do you want to leave your current battle and join this one?"
 msgstr ""
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
 msgstr ""
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr ""
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 msgid ""
 "Should i try to download it for you?\n"
 "You can see the progress in the \"Download Manager\" tab."
 msgstr ""
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr ""
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr ""
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr ""
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr "أدخل كلمة السرّ"
 
@@ -474,45 +474,45 @@ msgid "Select"
 msgstr "إنتقاء..."
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr "خيار"
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr "قيمة"
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr "حجم"
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr ""
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr ""
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr "الجاذبيّة"
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr ""
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr ""
 
@@ -534,259 +534,259 @@ msgstr "اختار في اللعبة"
 msgid "Startpositions"
 msgstr "مواقع البدء"
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr ""
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr ""
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr ""
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 #, fuzzy
 msgid "Disable selected units."
 msgstr "تفعيل كل الوحدات."
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 #, fuzzy
 msgid "Re-enable selected units."
 msgstr "تفعيل كل الوحدات."
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr ""
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr "تفعيل كل الوحدات."
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr ""
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "Unit restriction"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr "الكنية"
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr "فريق"
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr "حليف"
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr "جهة"
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr "تعيين اللون"
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr "متابع"
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr "طرد"
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr "رجاء إدخال رقم بين 0 و100"
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 #, fuzzy
 msgid "AI (bot)\n"
 msgstr "إضافة بوت"
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 msgid "Human\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 #, fuzzy
 msgid "Spectator\n"
 msgstr "متابع"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 #, fuzzy
 msgid "Player\n"
 msgstr "لاعب:"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 #, fuzzy
 msgid "Host\n"
 msgstr "مستضيف"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 #, fuzzy
 msgid "Client\n"
 msgstr "العميل"
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 #, fuzzy
 msgid "Ready\n"
 msgstr "دائماً"
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 #, fuzzy
 msgid "Not ready\n"
 msgstr "غير جاهز"
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 msgid "In sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 msgid "Set name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr "تحميل..."
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 msgid "Load a saved set of options."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 #, fuzzy
 msgid "Save..."
 msgstr "حفظ..."
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 msgid "Save a set of options."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 #, fuzzy
 msgid "Delete..."
 msgstr "إنتقاء..."
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 msgid "Delete a set of options."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 #, fuzzy
 msgid "Set default..."
 msgstr "المبدئي"
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 #, fuzzy
 msgid "Mod Options"
 msgstr "خيارات الخارطة"
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr "خيارات الخارطة"
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 msgid "no options available"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 msgid "Delete preset"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 #, fuzzy
 msgid "Set mod default preset"
 msgstr "المبدئي"
@@ -829,7 +829,7 @@ msgid ""
 "set) starting boxes."
 msgstr ""
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr "مغادرة"
 
@@ -837,7 +837,7 @@ msgstr "مغادرة"
 msgid "Leave the battle and return to the battle list"
 msgstr ""
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr "بدء"
 
@@ -1018,7 +1018,7 @@ msgstr ""
 msgid "Save"
 msgstr "حفظ..."
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 msgid "Delete"
 msgstr ""
 
@@ -1094,7 +1094,7 @@ msgstr ""
 msgid "Find channel:"
 msgstr "قناة"
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 msgid "Choose channels to join"
 msgstr ""
 
@@ -1153,67 +1153,64 @@ msgid ""
 "Be sure that there isn't a write protection.\n"
 msgstr ""
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr ""
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr ""
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr ""
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr "خلفيَّة"
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr "اجراء"
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr ""
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr ""
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr "راسالتي"
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr "الخادوم"
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr "العميل"
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr "خطأ"
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr ""
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr "اشعار"
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
 "[22:30] <Dude> hi everyone\n"
@@ -1223,586 +1220,249 @@ msgid ""
 "[22:46] <Dude2> But could be better, should tweak them some more...\n"
 msgstr ""
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr "الخطّ:"
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr "المبدئي"
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr "إنتقاء..."
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr "سلوك"
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr ""
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr "سجلّات الدردشة"
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr "حفظ سجلّات الدردشة"
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr ""
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr ""
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr ""
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr ""
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr ""
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr ""
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, c-format
 msgid "%d users"
 msgstr ""
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr ""
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr "إرسال"
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr ""
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr "نسخ"
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-msgid "Clear"
-msgstr "مسح"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr ""
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr ""
-
-#: src/chatpanel.cpp:433
-msgid "Show mute list"
-msgstr ""
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr "معلومات القناة"
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr "تعيين الموضوع..."
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr "رسالة القناة..."
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr "قفل..."
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr "إلغاء القفل"
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr "تسجيل..."
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr "إلغاء التسجيل"
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr ""
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr ""
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr ""
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr ""
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr ""
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr ""
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr "إعادة الاتصال"
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr ""
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr "تغيير كلمة السرّ"
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr ""
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr "حسابات"
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr "إذاعة..."
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr "الإداري"
-
-#: src/chatpanel.cpp:510
-#, fuzzy
-msgid "User"
-msgstr "خادوم"
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr "فتح الدردشة"
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr ""
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr ""
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr ""
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr ""
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr ""
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr ""
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr ""
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr ""
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr ""
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr ""
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr ""
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr "طرد..."
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr "منع..."
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr "رفع المنع"
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr "صفع!"
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr ""
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr ""
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr " !! أمر: \""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr ""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr "قناة"
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr "معركة"
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr "خادوم"
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr ""
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr ""
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 #, fuzzy
 msgid " ** Channel topic:"
 msgstr "معلومات القناة"
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 msgid " ** Set by "
 msgstr ""
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr "قد أغلقت الدردشة."
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr ""
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr ""
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr ""
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr ""
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
 "commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr ""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr ""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr ""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr ""
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr ""
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr ""
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr ""
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr ""
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr ""
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr ""
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr ""
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr ""
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr ""
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr ""
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr ""
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr ""
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr ""
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr ""
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr ""
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr ""
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr ""
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr ""
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr ""
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr ""
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr ""
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr ""
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr ""
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr ""
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr ""
-
-#: src/chatpanel.cpp:1797
-msgid "couldn't add user"
-msgstr ""
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr ""
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
 msgstr ""
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr ""
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr ""
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr ""
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
 msgstr ""
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr ""
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr ""
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr ""
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr ""
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr ""
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
 "It must be an integer between 1 and 65535"
 msgstr ""
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr ""
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 #, fuzzy
 msgid "Invalid nickname"
 msgstr "رقم غير صالح"
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 msgid ""
 "Registration failed, the reason was:\n"
 "Password / confirmation mismatch (or empty passwort)"
 msgstr ""
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr ""
 
@@ -2795,9 +2455,8 @@ msgid "Last generated spring launching script"
 msgstr ""
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 #, fuzzy
 msgid "Name"
 msgstr "الكنية"
@@ -2888,8 +2547,8 @@ msgstr ""
 msgid "Notify when users of this group hosts a battle"
 msgstr ""
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr ""
 
@@ -2980,9 +2639,8 @@ msgstr "اختار في اللعبة"
 msgid "File successfully saved"
 msgstr ""
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 msgid "Success"
 msgstr ""
 
@@ -2990,7 +2648,7 @@ msgstr ""
 msgid "Couldn't save file"
 msgstr ""
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 #, fuzzy
 msgid "Default"
 msgstr "المبدئي"
@@ -3023,203 +2681,203 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr ""
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr ""
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "وصف"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr ""
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr ""
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr ""
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr ""
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Randomly picks an available one"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr ""
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr ""
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr ""
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr ""
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 msgid "NAT traversal to use."
 msgstr ""
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr ""
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr ""
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr ""
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 msgid ""
 "\n"
 "successfully unzipped in:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 msgid "Path"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 msgid "Use a file dialog to find the editor binary"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 #, fuzzy
 msgid "Autoconnect"
 msgstr "إعادة الاتصال"
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 msgid "Autoconnect on lobby start"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3228,73 +2886,73 @@ msgid ""
 "Uncheck to disable."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 msgid "Tooltips"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 msgid "Show Tooltips?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
 "distance"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 msgid "Match exact"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 #, fuzzy
 msgid "Start tab"
 msgstr "بدء"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3306,7 +2964,7 @@ msgstr ""
 msgid "Choose a editor browser executable"
 msgstr ""
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 msgid "Disconnected from server, chat closed."
 msgstr ""
 
@@ -3314,126 +2972,110 @@ msgstr ""
 msgid "Battle list"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr "خيارات"
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 msgid "Unit Restrictions"
 msgstr ""
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr ""
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr ""
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr ""
 
-#: src/mainoptionstab.cpp:75
-msgid "General"
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
+msgid "Restore"
 msgstr ""
 
-#: src/mainoptionstab.cpp:78
-msgid "Groups"
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
+msgid "Apply"
 msgstr ""
 
-#: src/mainoptionstab.cpp:80
-msgid "Restore"
+#: src/mainoptionstab.cpp:87
+msgid "General"
 msgstr ""
 
-#: src/mainoptionstab.cpp:81
-msgid "Apply"
+#: src/mainoptionstab.cpp:90
+msgid "Groups"
 msgstr ""
 
-#: src/mainsingleplayertab.cpp:41
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr ""
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr ""
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 #, fuzzy
 msgid "Download Lua widgets"
 msgstr "تنزيل ال&خارطة"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr ""
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr ""
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr ""
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr ""
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr ""
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr ""
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr ""
@@ -3442,288 +3084,301 @@ msgstr ""
 msgid "SpringLobby"
 msgstr ""
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr ""
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr ""
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 #, fuzzy
 msgid "&Save options"
 msgstr "خيارات الخارطة"
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr ""
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+#, fuzzy
+msgid "&Save Layout"
+msgstr "خيارات الخارطة"
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr ""
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 #, fuzzy
 msgid "Channel &list"
 msgstr "معلومات القناة"
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr ""
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr ""
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr ""
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr ""
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr ""
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr ""
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 #, fuzzy
 msgid "&Change language"
 msgstr "معلومات القناة"
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr ""
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr ""
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr ""
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+msgid "&View"
+msgstr ""
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr ""
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 #, fuzzy
 msgid "Not connected"
 msgstr "إعادة الاتصال"
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr ""
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr ""
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr ""
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr ""
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 #, fuzzy
 msgid "No files found"
 msgstr "لم يتم العثور على أي خريطة"
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr ""
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr ""
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr ""
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr ""
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 msgid "Which profile do you want to be default?"
 msgstr ""
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr ""
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr ""
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 #, fuzzy
 msgid "Savegames"
 msgstr "حفظ..."
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 #, fuzzy
 msgid "Replays"
 msgstr "دائماً"
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 #, fuzzy
 msgid "Downloads"
 msgstr "تنزيل ال&خارطة"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr ""
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr ""
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr ""
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr ""
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr ""
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr ""
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 msgid "Show"
 msgstr ""
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 #, fuzzy
 msgid "Filter"
 msgstr "معتدل"
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 #, fuzzy
 msgid "Map details"
 msgstr "خيارات الخارطة"
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 #, fuzzy
 msgid "Start positions"
 msgstr "مواقع البدء"
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 msgid "Minimum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 msgid "Average wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 #, fuzzy
 msgid "Aspect ratio"
 msgstr "متابع"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 #, fuzzy
 msgid "Number of start positions"
 msgstr "مواقع البدء"
@@ -3759,20 +3414,20 @@ msgstr ""
 msgid "Map name"
 msgstr ""
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 #, fuzzy
 msgid "Change option"
 msgstr "خيارات الخارطة"
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr ""
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr ""
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr ""
 
@@ -3837,55 +3492,55 @@ msgstr ""
 msgid "Filesize in kilobyte"
 msgstr ""
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "تحميل..."
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "دائماً"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "savegame"
 msgstr "حفظ..."
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr ""
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
 "version: %s\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -3894,18 +3549,18 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 #, fuzzy
 msgid "Invalid replay"
 msgstr "رقم غير صالح"
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr ""
 
@@ -3922,92 +3577,92 @@ msgstr ""
 msgid "Select Users"
 msgstr "إنتقاء الكل"
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 msgid " is online"
 msgstr ""
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr ""
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr ""
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 msgid " just went offline"
 msgstr ""
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 msgid " opened battle "
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr ""
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr ""
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr ""
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, c-format
 msgid "%s mutelist"
 msgstr ""
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr ""
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr ""
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy
 msgid "Download update"
 msgstr "تنزيل ال&خارطة"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -4018,67 +3673,67 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 #, fuzzy
 msgid "Negotiation error"
 msgstr "اشعار"
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 #, fuzzy
 msgid "Invalid Value"
 msgstr "رقم غير صالح"
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 #, fuzzy
 msgid "No Handler"
 msgstr "هذا ليس رقم"
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 msgid "File doesn't exit"
 msgstr ""
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "بدئت"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 #, fuzzy
 msgid "Reconnection Error"
 msgstr "إعادة الاتصال"
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 msgid "Unknown Error"
 msgstr ""
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 msgid "Download complete, location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 #, fuzzy
 msgid "Download complete."
 msgstr "تنزيل ال&خارطة"
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer. File location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer."
 msgstr ""
 
@@ -4743,74 +4398,74 @@ msgid "Save Spring settings before exiting?"
 msgstr ""
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr ""
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr ""
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr ""
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr ""
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr ""
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr ""
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr ""
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr ""
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr ""
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr ""
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr ""
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr ""
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr ""
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr ""
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr ""
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr ""
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr ""
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr ""
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -4833,7 +4488,7 @@ msgstr ""
 msgid "everyone reporting bugs/suggestions"
 msgstr ""
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -4841,27 +4496,32 @@ msgid ""
 "please enable wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr ""
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -4900,8 +4560,8 @@ msgstr ""
 msgid "Choose an unitsync library"
 msgstr ""
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr ""
 
@@ -4937,23 +4597,23 @@ msgstr ""
 msgid "can't launch default browser"
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr ""
 
@@ -4961,41 +4621,41 @@ msgstr ""
 msgid "Audio Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr ""
 
@@ -5081,92 +4741,68 @@ msgstr ""
 msgid "Zoom"
 msgstr ""
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
 msgstr ""
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr ""
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 #, fuzzy
 msgid "Spectate only"
 msgstr "متابع"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 #, fuzzy
 msgid "Random start positions"
 msgstr "مواقع البدء"
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr ""
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr ""
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr ""
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
 " "
 msgstr ""
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr ""
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
+#: src/springlobbyapp.cpp:183
 msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
 "\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
+#: src/springlobbyapp.cpp:183
+msgid "Fatal error"
 msgstr ""
 
-#: src/springlobbyapp.cpp:172
-msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
-msgstr ""
-
-#: src/springlobbyapp.cpp:172
-#, fuzzy
-msgid "Notice"
-msgstr "لا شيء"
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
-msgstr ""
-
-#: src/springlobbyapp.cpp:188
-msgid "Import settings?"
-msgstr ""
-
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5174,68 +4810,76 @@ msgid ""
 "please get a wxWidgets library that supports wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 #, fuzzy
 msgid "Ignore chat"
 msgstr "فتح الدردشة"
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 msgid "Battle Autokick"
 msgstr ""
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 #, fuzzy
 msgid "Friends"
 msgstr "ثابت"
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr ""
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr ""
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr ""
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr ""
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5262,7 +4906,7 @@ msgid ""
 "Please create manually the following folders:"
 msgstr ""
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr ""
 
@@ -5284,42 +4928,43 @@ msgstr ""
 msgid " , column "
 msgstr ""
 
-#: src/torrentlistctrl.cpp:44
-msgid "Numcopies"
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:48
-msgid "MB downloaded"
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
+#, fuzzy
+msgid "Cancel torrent"
+msgstr "إلغاء"
+
+#: src/torrentlistctrl.cpp:173
+msgid "Retry torrent"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:56
+#: src/torrentlistctrl.cpp:264
 #, fuzzy
-msgid "Status"
-msgstr "الحالة:"
-
-#: src/torrentlistctrl.cpp:60
-#, c-format
-msgid "% complete"
-msgstr ""
+msgid "not found"
+msgstr "لم يتم العثور على أي خريطة"
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
-msgstr ""
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "تنزيل ال&خارطة"
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
 msgstr ""
 
 #: src/torrentoptionspanel.cpp:37
@@ -5388,213 +5033,207 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr ""
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr ""
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
 msgstr ""
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr ""
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr ""
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr ""
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr ""
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr ""
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr ""
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr ""
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr ""
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
 msgstr ""
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr ""
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
 msgstr ""
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
 msgstr ""
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr ""
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr ""
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
 "username."
 msgstr ""
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 msgid "  \"/part\" - Leaves current channel."
 msgstr ""
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 msgid "  \"/p\" - Alias to /part."
 msgstr ""
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr ""
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr ""
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr ""
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr ""
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr ""
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr ""
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
 msgstr ""
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr ""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr ""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr ""
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
 "\n"
 "Online play is currently disabled."
 msgstr ""
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 msgstr ""
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 msgid "Online play is currently disabled."
 msgstr ""
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 msgid "Disconnected from server."
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid "Connection failure"
 msgstr ""
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr ""
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr ""
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr ""
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr ""
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr ""
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
 "to play online."
 msgstr ""
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5602,32 +5241,70 @@ msgid ""
 "download finished"
 msgstr ""
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr ""
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr ""
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr ""
+
+#: src/ui.cpp:1242
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid "Notice"
+msgstr "لا شيء"
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+msgid "Import settings?"
+msgstr ""
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr ""
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr ""
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid ""
 "\n"
 "\n"
@@ -5635,52 +5312,48 @@ msgid ""
 "effect next you launch the lobby again."
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid "Not up to date"
 msgstr ""
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr ""
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
 msgstr ""
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 msgid ""
 "There was an error downloading for the latest version.\n"
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
+#: src/updater/updater.cpp:92
 #, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr ""
 
@@ -5803,16 +5476,16 @@ msgstr ""
 msgid "Unknown"
 msgstr ""
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr ""
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 #, fuzzy
 msgid "Add to group..."
 msgstr "إضافة بوت..."
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 msgid "Remove from group"
 msgstr ""
 
@@ -5887,6 +5560,64 @@ msgstr ""
 #~ msgid "ally"
 #~ msgstr "حليف"
 
+#~ msgid "Copy"
+#~ msgstr "نسخ"
+
+#~ msgid "Clear"
+#~ msgstr "مسح"
+
+#~ msgid "Channel info"
+#~ msgstr "معلومات القناة"
+
+#~ msgid "Set topic..."
+#~ msgstr "تعيين الموضوع..."
+
+#~ msgid "Channel message..."
+#~ msgstr "رسالة القناة..."
+
+#~ msgid "Lock..."
+#~ msgstr "قفل..."
+
+#~ msgid "Unlock"
+#~ msgstr "إلغاء القفل"
+
+#~ msgid "Register..."
+#~ msgstr "تسجيل..."
+
+#~ msgid "Unregister"
+#~ msgstr "إلغاء التسجيل"
+
+#~ msgid "Change password..."
+#~ msgstr "تغيير كلمة السرّ"
+
+#~ msgid "Accounts"
+#~ msgstr "حسابات"
+
+#~ msgid "Broadcast..."
+#~ msgstr "إذاعة..."
+
+#~ msgid "Admin"
+#~ msgstr "الإداري"
+
+#, fuzzy
+#~ msgid "User"
+#~ msgstr "خادوم"
+
+#~ msgid "Open Chat"
+#~ msgstr "فتح الدردشة"
+
+#~ msgid "Kick..."
+#~ msgstr "طرد..."
+
+#~ msgid "Ban..."
+#~ msgstr "منع..."
+
+#~ msgid "Unban"
+#~ msgstr "رفع المنع"
+
+#~ msgid "Slap!"
+#~ msgstr "صفع!"
+
 #, fuzzy
 #~ msgid "Game is closed."
 #~ msgstr "قد أغلقت الدردشة."
diff --git a/po/cs.gmo b/po/cs.gmo
index 764e8d2..a86a6f1 100644
Binary files a/po/cs.gmo and b/po/cs.gmo differ
diff --git a/po/cs.po b/po/cs.po
index 4e8f1c7..825c838 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the springlobby package.
 # FIRST AUTHOR <EMAIL at ADDRESS>, 2008.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: springlobby\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2008-09-06 12:50+0000\n"
 "Last-Translator: vejha_cz <vejha1 at gmail.com>\n"
 "Language-Team: Czech <cs at li.org>\n"
@@ -50,8 +50,8 @@ msgid "value"
 msgstr "Hodnota"
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "Zrušit"
 
@@ -105,7 +105,7 @@ msgstr "Náhodný"
 msgid "Clans"
 msgstr "Klany"
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "Žádný"
 
@@ -143,46 +143,46 @@ msgstr "Počet hráčů"
 msgid "Auto select"
 msgstr "Znovu se připojit"
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "Ok"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "Popis"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "Mapa"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr "Mod"
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "Host"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "Pozorovatelé:"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 #, fuzzy
 msgid "Players"
 msgstr "Hráči:"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "Mapa"
@@ -195,11 +195,11 @@ msgstr "Stáhnout &mapu"
 msgid "Download m&od"
 msgstr "Stáhnout mod"
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "Pozorovatelé:"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 #, fuzzy
 msgid "Active Players:"
 msgstr "Hráči:"
@@ -254,8 +254,8 @@ msgid "All"
 msgstr "VÅ¡echny"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "Mapa:"
 
@@ -268,8 +268,8 @@ msgid "Max.Player:"
 msgstr "Max. Hráčů:"
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr "Mod:"
 
@@ -281,15 +281,15 @@ msgstr "Mody, které mám"
 msgid "    Spectator:"
 msgstr "    Pozorovatel:"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr "%d"
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "Hráči:"
 
@@ -320,34 +320,34 @@ msgstr "Založit novou..."
 msgid "Join"
 msgstr "Připojit"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, c-format
 msgid "%d battles displayed"
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 "Nemůžete zakládat hru, když jste offline. Prosím připojte se k lobby serveru."
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr "Není připojený."
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr "Nemůžete zakládat hru, protože máte nekompatibilní verzi"
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr "Spring error"
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
@@ -355,18 +355,18 @@ msgstr ""
 "Již máte jednu spuštěnu instanci Spring, nejdříve ji vypněte, aby jste mohli "
 "založit novou hru"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr ""
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
 "Do you want to leave current battle to start a new?"
 msgstr ""
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
@@ -376,7 +376,7 @@ msgstr ""
 " testování portů není podporováno\n"
 " Zakládání bitev nemusí fungovat."
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
@@ -385,7 +385,7 @@ msgstr ""
 "Server použil pro testování váš port %d je nedostupný. \n"
 "Zakládání her s tímto nastavením nemusí fungovat."
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -401,16 +401,16 @@ msgstr ""
 " zkontrolujte znovu vaši konfiguraci routeru & firewallu a změňte port v "
 "dialogu."
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr ""
 "Bitva nemohla být zahájena, protože vámi vybraný mod nemůže být nalezen. "
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr "Error při startování bitvy."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
@@ -418,11 +418,11 @@ msgstr ""
 "Ve vaší instalaci Springu nebyly nalezeny žádné mapy. Může to být způsobeno "
 "špatným nastavením Springu."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "Mapy nenalezeny"
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
@@ -430,11 +430,11 @@ msgstr ""
 "Připojování k bitvám je zakázáno, ptotože používáte nekopmatibilní verzi "
 "springu."
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 msgid "Already in this battle"
 msgstr ""
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid ""
 "You are already in this battle.\n"
@@ -445,12 +445,12 @@ msgstr ""
 "\n"
 "Chcete opustit současnou bitvu a připojit se k této?"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid "Already in another battle"
 msgstr "Založit bitvu"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid ""
 "You are already in a battle.\n"
@@ -461,7 +461,7 @@ msgstr ""
 "\n"
 "Chcete opustit současnou bitvu a připojit se k této?"
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
@@ -469,11 +469,11 @@ msgstr ""
 "Již máte spuštěnu jedno instanci Springu, nejprve ji zavřete, aby jste se "
 "mohli přidat k další bitvě."
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr "Chcete se přemístit na stránku stahování?"
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 #, fuzzy
 msgid ""
 "Should i try to download it for you?\n"
@@ -482,7 +482,7 @@ msgstr ""
 "Mám se pokusit to stáhnout?\n"
 "Průběh můžete vidět v  záložce \"Správce Stahování\"."
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
@@ -490,11 +490,11 @@ msgstr ""
 "Než se připojíte k této hře, musíte stáhnout mod.\n"
 "\n"
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr "Mod není dostupný"
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
@@ -502,15 +502,15 @@ msgstr ""
 "Musíte nejprve stáhnout mapu, aby jste mohli hrát tuto hru.\n"
 "\n"
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr "Mapa není dostupná"
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr "Heslo bitvy"
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr "Zadejte heslo"
 
@@ -520,45 +520,45 @@ msgid "Select"
 msgstr "Vyber..."
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr "Možnost"
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr "Hodnota"
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr "Velikost"
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr "Rychlost větru"
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr "Síla přílivu"
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr "Gravitace"
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr "Dosah extraktoru"
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr "Max kov"
 
@@ -580,265 +580,265 @@ msgstr "Nastavit ve hře"
 msgid "Startpositions"
 msgstr "Startovní pozice"
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr "Omezení jednotky"
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr "Povolené jednotky"
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr "jednotky v tomto seznamu budou ve hře povoleny."
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 #, fuzzy
 msgid "Disable selected units."
 msgstr "Povolit všechny jednotky."
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 #, fuzzy
 msgid "Re-enable selected units."
 msgstr "Povolit všechny jednotky."
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr ""
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr "Povolit všechny jednotky."
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr "Zakázané jednotky"
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr "jednotky v tomto seznamu nebudou ve hře povoleny."
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 #, fuzzy
 msgid "Unit restriction"
 msgstr "Omezení jednotky"
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr "Přezdívka"
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr "Tým"
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr "Spojenec"
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr "Bonus Surovin"
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr "Frakce"
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr "Nastavit barvu"
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr "Nastavit bonus surovit"
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr "Pozorovatel"
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr "Vykopnout"
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr "Zazvonit"
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr "Prosím vložte hodnotu mezi 0 a 100"
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 msgid "AI (bot)\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 #, fuzzy
 msgid "Human\n"
 msgstr "Omán"
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 #, fuzzy
 msgid "Spectator\n"
 msgstr "Pozorovatel"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 #, fuzzy
 msgid "Player\n"
 msgstr "Hráč:"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 #, fuzzy
 msgid "Host\n"
 msgstr "Host"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 #, fuzzy
 msgid "Client\n"
 msgstr "Klient"
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 #, fuzzy
 msgid "Ready\n"
 msgstr "Vždy"
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 #, fuzzy
 msgid "Not ready\n"
 msgstr "Nepřipraven"
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 #, fuzzy
 msgid "In sync"
 msgstr "Zapnout v-sync"
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 #, fuzzy
 msgid "Set name."
 msgstr "Nastavit přistup..."
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr "Načítání..."
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 #, fuzzy
 msgid "Load a saved set of options."
 msgstr "Náčíst uložený seznam omezení."
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 #, fuzzy
 msgid "Save..."
 msgstr "Uložit..."
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 #, fuzzy
 msgid "Save a set of options."
 msgstr "Uložit seznam omezení."
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 #, fuzzy
 msgid "Delete..."
 msgstr "Vyber..."
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 #, fuzzy
 msgid "Delete a set of options."
 msgstr "Uložit seznam omezení."
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 #, fuzzy
 msgid "Set default..."
 msgstr "výchozí"
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 msgid "Mod Options"
 msgstr "Nastavení Modu"
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr "Nastavení Mapy"
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 #, fuzzy
 msgid "no options available"
 msgstr "nepoužitelné"
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr "chyba"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 msgid "Delete preset"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 #, fuzzy
 msgid "Set mod default preset"
 msgstr "výchozí"
@@ -885,7 +885,7 @@ msgstr ""
 "Náhled zvolené mapy. Můžete vidět startovní pozice nebo (pokud nastaveno) "
 "startovní boxy."
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr "Odejít"
 
@@ -893,7 +893,7 @@ msgstr "Odejít"
 msgid "Leave the battle and return to the battle list"
 msgstr ""
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr "Start"
 
@@ -1081,7 +1081,7 @@ msgstr ""
 msgid "Save"
 msgstr "Uložit..."
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 msgid "Delete"
 msgstr ""
 
@@ -1161,7 +1161,7 @@ msgstr ""
 msgid "Find channel:"
 msgstr "Vstoupit do místnosti..."
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 #, fuzzy
 msgid "Choose channels to join"
 msgstr "Jméno místnosti k připojení"
@@ -1231,67 +1231,64 @@ msgstr ""
 "Nemohu otevřít soubor záznamu. \n"
 "Ujistěte se, že je povoleno zapisování.\n"
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr "Barvy a font"
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr "Požívat systémové barvy"
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr "Normální"
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr "Pozadí"
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr "Akce"
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr "Zvýraznění"
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr "Přpojit/Odpojit se"
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr "Mé zprávy"
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr "Server"
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr "Klient"
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr "Chyba"
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr "Časová značka"
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr "Upozornění"
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 #, fuzzy
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
@@ -1308,329 +1305,139 @@ msgstr ""
 "[22:45] <Typan> Lama: fakt?\n"
 "[22:46] <Lama> jeste bych to mel nejak vic prohazet...\n"
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr "Písmo:"
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr "výchozí"
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr "Vyber..."
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr "Chování"
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr "Přehrávat zvuky upozornění"
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr "Záznamy chatů"
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr "Ukládat záznamy chatů"
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr "Zvýraznit slova"
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr "Slova k zvýraznění v chatu:"
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr "vložte ; rozdělený list"
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr ""
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr "místnost_"
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr "#"
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, fuzzy, c-format
 msgid "%d users"
 msgstr "(%d uživatelé)"
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr "klikněte pravým tlačítkem pro možnosti (jako automatické připojení)"
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr "Odeslat"
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr ""
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr "Kopírovat"
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-msgid "Clear"
-msgstr "Vymazat"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr "Automaticky se připojit do této místnosti"
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr "Zobrazovat Zprávy Připojení/Odpojení"
-
-#: src/chatpanel.cpp:433
-#, fuzzy
-msgid "Show mute list"
-msgstr "Zobrazit tipy"
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr "Informace o místnosti"
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr "Nastavit téma..."
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr "Zpráva místnost..."
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr "Uzamknout..."
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr "Odemknout"
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr "Registrovat se..."
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr "Zrušit registraci"
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr "Zapnout"
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr "Vypnout"
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr "Je zapnuto?"
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr "Ochrana před spamem"
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr "ChanServ"
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr "Odpojit"
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr "Znovu se připojit"
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr "Odstranit..."
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr "Změnit heslo..."
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr "Nastavit přistup..."
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr "Účty"
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr "Vysílání"
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr "Administrátor"
-
-#: src/chatpanel.cpp:510
-#, fuzzy
-msgid "User"
-msgstr "Vykopnout uživatele"
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr "Otevřít Chat"
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr "Přidat se ke stejné bitvě"
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr "Čas ve hře"
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr ""
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr "Utlumit..."
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr "Utlumit na 5 minut"
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr "Utlumit na 10 minut"
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr "Utlumit na 30 minut"
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr "Utlumit na 2 hodiny"
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr "Utlumit na 1 den"
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr "Zrušit utlumení"
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr "Utlumit"
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr "Vykopnout..."
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr "Ban..."
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr "Unban"
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr "Slap!"
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr "Op"
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr "DeOp"
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr " !! Příkaz: \""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr "\" parametry: \""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr "místnost"
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr "Bitva"
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr "server"
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr " se připojil k "
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr " odešel z "
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 #, fuzzy
 msgid " ** Channel topic:"
 msgstr "Informace o místnosti"
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 #, fuzzy
 msgid " ** Set by "
 msgstr ""
 "\n"
 " * Nastaven od "
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr "Chat zavřen."
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr "Opravdu chcete vložit %d řádků?"
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr ""
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr " Vaše verze SpringLobby je"
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr " Nejste v místnosti nebo místnost neexistuje."
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
@@ -1638,7 +1445,7 @@ msgid ""
 msgstr ""
 " Chyba: Příkaz (%s) neexistuje, použijte /help pro seznam možných příkazů."
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
@@ -1646,171 +1453,23 @@ msgstr ""
 " Nejste v bitvě, nebo bitva neexistuje, použijte /help pro seznam dostupných "
 "příkazů."
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr " Uživatel není připojen."
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr " Odesláno: \""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr "\""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr "ChanServ error"
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr "ChanServ není v této místnosti."
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr "Jaké by mělo být nové téma?"
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr "Zpráva:"
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr "Ukamknout místnost"
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr "Jaké by mělo nové heslo?"
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr "Odemknout Místnost"
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr "Opravdu chctete odemknout tuto místnost?"
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr "ChanServ není na tomto serveru."
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr "Registrovat Místnost"
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr "Odhlásit Místnost"
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr "Opravdu chcete odhlásit tuto místnost?"
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr "Odstranit Uživatelský Účet"
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr "Který uživatelský účet si přejete odstranit?"
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr "Odstranit účet"
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr "Opravdu si přejete odstranit účet? "
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr "Změnit Heslo Uživatelského Účtu"
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr "Pro jaký uživatelský účet si přejete změnit heslo?"
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr "Jaké bude nové heslo?"
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr "Neimplementováno"
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr ""
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr ""
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr "Nemáte tento mod "
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr ""
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr "Tato bitva je chráněna heslem,zadejte heslo."
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr ""
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr ""
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr "Vykopnout uživatele"
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr "Důvod:"
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr "Vykopnout uživatele"
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr ""
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr "Doba trvání:"
-
-#: src/chatpanel.cpp:1797
-msgid "couldn't add user"
-msgstr ""
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr "Připojit se k lobby serveru"
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
@@ -1818,20 +1477,20 @@ msgstr ""
 "Server k připojení. Můžete se připojit k jakémukoli serveru, napsáním textu "
 "ve formátu hostaddress:port."
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr "Heslo"
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr "Zapamtovat si heslo"
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr ""
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
@@ -1839,37 +1498,38 @@ msgstr ""
 "pamatovat si detaily připojení a automaticky se připojit k serveru při "
 "dalším startu lobby"
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
+#, fuzzy
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 "Poznámka: pokud nemáte účet, můžete\n"
 "si ho zdarma registrovat pod\n"
 "záložkou \"Registrovat\"."
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr "Přihlášení"
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr "Registrace"
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr "Přezdívka"
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr "Neplatný port."
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr "Neplatný port"
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
@@ -1879,32 +1539,32 @@ msgstr ""
 "\n"
 "Musí být celočíselnou hodnotou mezi 1 a 65535"
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr ""
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 #, fuzzy
 msgid "Invalid nickname"
 msgstr "Neplatné číslo"
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 msgid ""
 "Registration failed, the reason was:\n"
 "Password / confirmation mismatch (or empty passwort)"
 msgstr ""
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr "Registrace selhala."
 
@@ -2897,9 +2557,8 @@ msgid "Last generated spring launching script"
 msgstr "Naposledy vytvořený skript spouštící spring"
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 #, fuzzy
 msgid "Name"
 msgstr "Hra"
@@ -2994,8 +2653,8 @@ msgstr ""
 msgid "Notify when users of this group hosts a battle"
 msgstr ""
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr ""
 
@@ -3092,9 +2751,8 @@ msgstr ""
 "\n"
 "úspěšně uloženo do:\n"
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 #, fuzzy
 msgid "Success"
 msgstr "Nastavit přistup..."
@@ -3104,7 +2762,7 @@ msgstr "Nastavit přistup..."
 msgid "Couldn't save file"
 msgstr "Nemohl uložit\n"
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 #, fuzzy
 msgid "Default"
 msgstr "výchozí"
@@ -3137,110 +2795,110 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr ""
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr ""
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "Popis"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr "Vyberte mod, který chcete hrát."
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr "Pro vstup do hry je nutné heslo. Ponechte prázdné pro žádné heslo"
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr "Port"
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr ""
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 #, fuzzy
 msgid "Randomly picks an available one"
 msgstr "nepoužitelné"
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr "Počet hráčů"
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr ""
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr ""
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr ""
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 msgid "NAT traversal to use."
 msgstr ""
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr "Minimální potřebná hodnost"
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr "Založit bitvu"
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr "Musíte nejdřív vybrat mód."
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr "Nebyl vybrán žádný mod."
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
@@ -3248,7 +2906,7 @@ msgstr ""
 "\n"
 "úspěšně uloženo do:\n"
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 #, fuzzy
 msgid ""
 "\n"
@@ -3257,17 +2915,17 @@ msgstr ""
 "\n"
 "úspěšně uloženo do:\n"
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr "Nemohl uložit\n"
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
@@ -3275,74 +2933,74 @@ msgstr ""
 "\n"
 "do:\n"
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr "Webový prohlížeč"
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr "Standardní prohlížeč."
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr "Specifikovat:"
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr "Určete webový prohlížeč,který chcete používat"
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr "Procházet"
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 msgid "Path"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 msgid "Use a file dialog to find the editor binary"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 #, fuzzy
 msgid "Autoconnect"
 msgstr "Znovu se připojit"
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 #, fuzzy
 msgid "Autoconnect on lobby start"
 msgstr "Připojit se k lobby serveru"
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3351,75 +3009,75 @@ msgid ""
 "Uncheck to disable."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 #, fuzzy
 msgid "Tooltips"
 msgstr "&Nástroje"
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 #, fuzzy
 msgid "Show Tooltips?"
 msgstr "Zobrazit tipy"
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
 "distance"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 msgid "Match exact"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 #, fuzzy
 msgid "Start tab"
 msgstr "Počáteční kov"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3431,7 +3089,7 @@ msgstr ""
 msgid "Choose a editor browser executable"
 msgstr ""
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 #, fuzzy
 msgid "Disconnected from server, chat closed."
 msgstr "Neznámá zpravá ze serveru"
@@ -3440,128 +3098,112 @@ msgstr "Neznámá zpravá ze serveru"
 msgid "Battle list"
 msgstr "Seznam bitev"
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr "Místnost hry"
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr "Nastavení"
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 #, fuzzy
 msgid "Unit Restrictions"
 msgstr "Omezení jednotky"
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr "Spring"
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr "P2P"
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr "Chat"
 
-#: src/mainoptionstab.cpp:75
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
+msgid "Restore"
+msgstr "Vrátit"
+
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
+msgid "Apply"
+msgstr "Použít"
+
+#: src/mainoptionstab.cpp:87
 #, fuzzy
 msgid "General"
 msgstr "Senegal"
 
-#: src/mainoptionstab.cpp:78
+#: src/mainoptionstab.cpp:90
 msgid "Groups"
 msgstr ""
 
-#: src/mainoptionstab.cpp:80
-msgid "Restore"
-msgstr "Vrátit"
-
-#: src/mainoptionstab.cpp:81
-msgid "Apply"
-msgstr "Použít"
-
-#: src/mainsingleplayertab.cpp:41
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr "Hra"
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr "neznámý"
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr "Zrušit stahování"
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr "Uveřejnit  nový soubor"
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr "Hledat soubor"
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 #, fuzzy
 msgid "Download Lua widgets"
 msgstr "Stahování selhalo"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr "nepoužitelné"
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr ""
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr ""
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr ""
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr "Stav: nepřipojený"
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr "Stav: připojen"
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr ""
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr "Stav: neznámý"
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr "Celkový výstup: %.2f KB/s"
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr "Celkový vstup: %.2f KB/s"
@@ -3570,291 +3212,305 @@ msgstr "Celkový vstup: %.2f KB/s"
 msgid "SpringLobby"
 msgstr "SpringLobby"
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr ""
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr ""
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 #, fuzzy
 msgid "&Save options"
 msgstr "nastavení UI"
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr "&Konec"
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+#, fuzzy
+msgid "&Save Layout"
+msgstr "nastavení UI"
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr ""
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 #, fuzzy
 msgid "Channel &list"
 msgstr "Informace o místnosti"
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr ""
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr "&Autotomaticky vstoupit do místností..."
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr "&Znovu zavést  mapy/módy"
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr ""
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr "SpringNastavení"
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr "&O programu"
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 #, fuzzy
 msgid "&Change language"
 msgstr "Informace o místnosti"
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr "&Nahlásit bug..."
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr "&Dokumentace"
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr "&Soubor"
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+#, fuzzy
+msgid "&View"
+msgstr "&Soubor"
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr "&Nástroje"
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr "&Nápověda"
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 #, fuzzy
 msgid "Not connected"
 msgstr "Stav: připojen"
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr "Vstoupit do místnosti..."
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr "Jméno místnosti k připojení"
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr ""
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr "Jméno uživatele"
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 #, fuzzy
 msgid "No files found"
 msgstr "Mapy nenalezeny"
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr "Ručně &Spustit Torrent Systém"
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr "Ručně &Zastavit Torrent Systém"
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr ""
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr ""
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr ""
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr ""
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 #, fuzzy
 msgid "Which profile do you want to be default?"
 msgstr "Který uživatelský účet si přejete odstranit?"
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr ""
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr ""
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 #, fuzzy
 msgid "Savegames"
 msgstr "Uložit..."
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 #, fuzzy
 msgid "Replays"
 msgstr "Vždy"
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 #, fuzzy
 msgid "Downloads"
 msgstr "Stáhnout"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr ""
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr "Aktualizovat"
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr "Stáhnout"
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr "frakce:"
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr ""
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr "bonus: %d%%"
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 msgid "Show"
 msgstr ""
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 #, fuzzy
 msgid "Filter"
 msgstr "Soubor"
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 #, fuzzy
 msgid "Map details"
 msgstr "Max kov"
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 #, fuzzy
 msgid "Start positions"
 msgstr "Startovní pozice"
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 #, fuzzy
 msgid "Minimum wind"
 msgstr "Minimální potřebná hodnost"
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 #, fuzzy
 msgid "Average wind"
 msgstr "Průměrný"
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 #, fuzzy
 msgid "Aspect ratio"
 msgstr "Pozorovatel"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 #, fuzzy
 msgid "Number of start positions"
 msgstr "Náhodné startovní pozice"
@@ -3897,20 +3553,20 @@ msgstr "Zakázané jednotky"
 msgid "Map name"
 msgstr ""
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 #, fuzzy
 msgid "Change option"
 msgstr "nastavení UI"
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr "s"
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr "c"
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr "r"
 
@@ -3980,49 +3636,49 @@ msgstr "Velikost souboru (MB)"
 msgid "Filesize in kilobyte"
 msgstr "Velikost souboru (MB)"
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr "Soubor"
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "Načítání..."
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "Vždy"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "savegame"
 msgstr "Uložit..."
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr ""
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
 "version: %s\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 #, fuzzy
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
@@ -4031,7 +3687,7 @@ msgstr ""
 "Než se připojíte k této hře, musíte stáhnout mod.\n"
 "\n"
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -4040,18 +3696,18 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 #, fuzzy
 msgid "Invalid replay"
 msgstr "Neplatný port"
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr ""
 
@@ -4068,95 +3724,95 @@ msgstr ""
 msgid "Select Users"
 msgstr "Vybrat vše"
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 #, fuzzy
 msgid " is online"
 msgstr " Uživatel není připojen."
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr ""
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr ""
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 #, fuzzy
 msgid " just went offline"
 msgstr " Uživatel není připojen."
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 #, fuzzy
 msgid " opened battle "
 msgstr " se připojil k "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr "Nepodařilo se připojit do místnosti"
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr "Nemohu se připojit k místnosti "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr " protože: "
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr ""
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr " má ip=%s"
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, fuzzy, c-format
 msgid "%s mutelist"
 msgstr "Seznam bitev"
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr ""
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr ""
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy
 msgid "Download update"
 msgstr "Stahování selhalo"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -4167,7 +3823,7 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 #, fuzzy
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
@@ -4176,65 +3832,65 @@ msgstr ""
 "Pokud problém přetrvává, použijte Nápověda->Nahlásit Bug, aby jste na chybu "
 "upozornili."
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 #, fuzzy
 msgid "Negotiation error"
 msgstr "Upozornění"
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 #, fuzzy
 msgid "Invalid Value"
 msgstr "Neplatné číslo"
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 #, fuzzy
 msgid "No Handler"
 msgstr "Není čislo"
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 #, fuzzy
 msgid "File doesn't exit"
 msgstr "Mapa neexistuje."
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "Spuštěno"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 #, fuzzy
 msgid "Reconnection Error"
 msgstr "Znovu se připojit"
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 #, fuzzy
 msgid "Unknown Error"
 msgstr "neznámý"
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 msgid "Download complete, location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 #, fuzzy
 msgid "Download complete."
 msgstr "Stahování selhalo"
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer. File location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer."
 msgstr ""
 
@@ -4914,74 +4570,74 @@ msgid "Save Spring settings before exiting?"
 msgstr "Uložit nastavení Springu před ukončením?"
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr ""
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr "Nastavení Springu (expertní mód)"
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr "Nastavení Springu (jednoduchý mód)"
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr "Uložit nastavení"
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr "Restartovat nastavení na standardní hodnoty"
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr ""
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr "Konec"
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr ""
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr ""
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr ""
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr "Kontakt"
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr ""
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr "Nahlásit chybu"
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr "Mód"
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr "Info/Nápověda"
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr "Restartovat všechna nastavení na standardní hodnoty?"
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr ""
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr "Nastavení Springu (expertní mód)"
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -5004,7 +4660,7 @@ msgstr ""
 msgid "everyone reporting bugs/suggestions"
 msgstr ""
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5012,27 +4668,32 @@ msgid ""
 "please enable wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr "Kritická chyba"
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -5071,8 +4732,8 @@ msgstr ""
 msgid "Choose an unitsync library"
 msgstr ""
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr "Libovolný soubor"
 
@@ -5108,23 +4769,23 @@ msgstr ""
 msgid "can't launch default browser"
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr ""
 
@@ -5132,41 +4793,41 @@ msgstr ""
 msgid "Audio Options"
 msgstr "Audio volby"
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr "Rozlišení obrazovky"
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr "Kvalita vody"
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr "Rozlišení v bitech"
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr "Nastavení kvality vykreslování"
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr "Nastavení zobrazovacího módu"
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr "Nastavení vyhlazování"
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr ""
 
@@ -5252,93 +4913,69 @@ msgstr ""
 msgid "Zoom"
 msgstr "Zvětšit"
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
 msgstr ""
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr "Přidat počítač..."
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 #, fuzzy
 msgid "Spectate only"
 msgstr "Pozorovatel"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 #, fuzzy
 msgid "Random start positions"
 msgstr "Náhodné startovní pozice"
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr ""
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr "Chyba herního nastavení"
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr "Nejprve musíte vybrat mapu"
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
 " "
 msgstr ""
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr ""
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
-msgstr "Ahoj "
-
-#: src/springlobbyapp.cpp:168
-msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
-"\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
-msgstr "Vítejte"
-
-#: src/springlobbyapp.cpp:172
+#: src/springlobbyapp.cpp:183
 msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
-msgstr ""
-
-#: src/springlobbyapp.cpp:172
-#, fuzzy
-msgid "Notice"
-msgstr "Žádný"
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
+"\n"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:188
+#: src/springlobbyapp.cpp:183
 #, fuzzy
-msgid "Import settings?"
-msgstr "Uložit nastavení"
+msgid "Fatal error"
+msgstr "Kritická chyba"
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5346,69 +4983,77 @@ msgid ""
 "please get a wxWidgets library that supports wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 #, fuzzy
 msgid "Ignore chat"
 msgstr "Otevřít Chat"
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 #, fuzzy
 msgid "Battle Autokick"
 msgstr "Seznam bitev"
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 #, fuzzy
 msgid "Friends"
 msgstr "Najdi"
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr "Umístění"
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr "Najdi"
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr "UnitSync knihovna"
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr "Automatické nastavení"
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr "Knihovna"
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5435,7 +5080,7 @@ msgid ""
 "Please create manually the following folders:"
 msgstr ""
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr "Čas spojení vypršel"
 
@@ -5457,46 +5102,46 @@ msgstr ""
 msgid " , column "
 msgstr ""
 
-#: src/torrentlistctrl.cpp:44
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
+msgstr ""
+
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
 #, fuzzy
-msgid "Numcopies"
-msgstr "Čísla"
+msgid "Cancel torrent"
+msgstr "Pozastavit všechny torrenty"
 
-#: src/torrentlistctrl.cpp:48
+#: src/torrentlistctrl.cpp:173
 #, fuzzy
-msgid "MB downloaded"
-msgstr "Stáhnout"
+msgid "Retry torrent"
+msgstr "Vrátit"
 
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:56
+#: src/torrentlistctrl.cpp:264
 #, fuzzy
-msgid "Status"
-msgstr "Stav:"
+msgid "not found"
+msgstr "Mapy nenalezeny"
 
-#: src/torrentlistctrl.cpp:60
-#, c-format
-msgid "% complete"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
-msgstr "KB/s up"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
+msgstr ""
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
-msgstr "KB/s down"
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "Stahování selhalo"
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
-msgstr "Velikost souboru (MB)"
-
 #: src/torrentoptionspanel.cpp:37
 msgid "Torrent system autostart"
 msgstr "Automatický start torrentového systému"
@@ -5564,216 +5209,210 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr "Automatický start torrentového systému"
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr "Serverové heslo"
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
 msgstr ""
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr ""
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr ""
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr ""
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr ""
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr ""
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr "Globální příkazy:"
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr ""
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr ""
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
 msgstr ""
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr ""
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
 msgstr ""
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
 msgstr ""
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr ""
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr ""
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
 "username."
 msgstr ""
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 msgid "  \"/part\" - Leaves current channel."
 msgstr ""
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 msgid "  \"/p\" - Alias to /part."
 msgstr ""
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr ""
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr ""
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr ""
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr ""
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr ""
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr ""
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
 msgstr ""
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr ""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr "Předmět \""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr ""
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
 "\n"
 "Online play is currently disabled."
 msgstr ""
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 msgstr ""
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 #, fuzzy
 msgid "Online play is currently disabled."
 msgstr "Online hraní bude zakázáno."
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 #, fuzzy
 msgid "Disconnected from server."
 msgstr "Neznámá zpravá ze serveru"
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 #, fuzzy
 msgid "Connection failure"
 msgstr "Čas spojení vypršel"
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr ""
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr "(%d uživatelé)"
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr "Serverová zpráva"
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr "Aktuální bitva byla uzavřena hostem."
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr "Uzavřená bitva"
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
 "to play online."
 msgstr ""
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr "Chyba v nastavení Springu"
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5781,11 +5420,50 @@ msgid ""
 "download finished"
 msgstr ""
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr ""
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr "Ahoj "
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr "Vítejte"
+
+#: src/ui.cpp:1242
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid "Notice"
+msgstr "Žádný"
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+#, fuzzy
+msgid "Import settings?"
+msgstr "Uložit nastavení"
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
@@ -5796,15 +5474,15 @@ msgstr ""
 "Pokud problém přetrvává, použijte Nápověda->Nahlásit Bug, aby jste na chybu "
 "upozornili."
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr "Vaše verze: "
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr "Poslední verze: "
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
@@ -5812,7 +5490,7 @@ msgstr ""
 "Vaše SpringLobby verze není aktuální.\n"
 "\n"
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid ""
 "\n"
 "\n"
@@ -5820,26 +5498,22 @@ msgid ""
 "effect next you launch the lobby again."
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 #, fuzzy
 msgid "Not up to date"
 msgstr "Není aktuální"
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr "Není aktuální"
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
 msgstr ""
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 #, fuzzy
 msgid ""
 "There was an error downloading for the latest version.\n"
@@ -5851,11 +5525,11 @@ msgstr ""
 "Pokud problém přetrvává, použijte Nápověda->Nahlásit Bug, aby jste na chybu "
 "upozornili."
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
+#: src/updater/updater.cpp:92
 #, fuzzy, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
@@ -5864,18 +5538,18 @@ msgstr ""
 "Pokud problém přetrvává, použijte Nápověda->Nahlásit Bug, aby jste na chybu "
 "upozornili."
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr ""
 
@@ -6001,16 +5675,16 @@ msgstr "Veterán"
 msgid "Unknown"
 msgstr "neznámý"
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr ""
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 #, fuzzy
 msgid "Add to group..."
 msgstr "Přidat počítač..."
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 #, fuzzy
 msgid "Remove from group"
 msgstr "Odstranit Uživatelský Účet"
@@ -6092,6 +5766,212 @@ msgstr ""
 #~ msgid "cpu"
 #~ msgstr "procesor"
 
+#~ msgid "Copy"
+#~ msgstr "Kopírovat"
+
+#~ msgid "Clear"
+#~ msgstr "Vymazat"
+
+#~ msgid "Auto join this channel"
+#~ msgstr "Automaticky se připojit do této místnosti"
+
+#~ msgid "Display Join/Leave Messages"
+#~ msgstr "Zobrazovat Zprávy Připojení/Odpojení"
+
+#, fuzzy
+#~ msgid "Show mute list"
+#~ msgstr "Zobrazit tipy"
+
+#~ msgid "Channel info"
+#~ msgstr "Informace o místnosti"
+
+#~ msgid "Set topic..."
+#~ msgstr "Nastavit téma..."
+
+#~ msgid "Channel message..."
+#~ msgstr "Zpráva místnost..."
+
+#~ msgid "Lock..."
+#~ msgstr "Uzamknout..."
+
+#~ msgid "Unlock"
+#~ msgstr "Odemknout"
+
+#~ msgid "Register..."
+#~ msgstr "Registrovat se..."
+
+#~ msgid "Unregister"
+#~ msgstr "Zrušit registraci"
+
+#~ msgid "On"
+#~ msgstr "Zapnout"
+
+#~ msgid "Off"
+#~ msgstr "Vypnout"
+
+#~ msgid "Is on?"
+#~ msgstr "Je zapnuto?"
+
+#~ msgid "Spam protection"
+#~ msgstr "Ochrana před spamem"
+
+#~ msgid "ChanServ"
+#~ msgstr "ChanServ"
+
+#~ msgid "Disconnect"
+#~ msgstr "Odpojit"
+
+#~ msgid "Remove..."
+#~ msgstr "Odstranit..."
+
+#~ msgid "Change password..."
+#~ msgstr "Změnit heslo..."
+
+#~ msgid "Set access..."
+#~ msgstr "Nastavit přistup..."
+
+#~ msgid "Accounts"
+#~ msgstr "Účty"
+
+#~ msgid "Broadcast..."
+#~ msgstr "Vysílání"
+
+#~ msgid "Admin"
+#~ msgstr "Administrátor"
+
+#, fuzzy
+#~ msgid "User"
+#~ msgstr "Vykopnout uživatele"
+
+#~ msgid "Open Chat"
+#~ msgstr "Otevřít Chat"
+
+#~ msgid "Join same battle"
+#~ msgstr "Přidat se ke stejné bitvě"
+
+#~ msgid "Ingame time"
+#~ msgstr "Čas ve hře"
+
+#~ msgid "Mute..."
+#~ msgstr "Utlumit..."
+
+#~ msgid "Mute for 5 minutes"
+#~ msgstr "Utlumit na 5 minut"
+
+#~ msgid "Mute for 10 minutes"
+#~ msgstr "Utlumit na 10 minut"
+
+#~ msgid "Mute for 30 minutes"
+#~ msgstr "Utlumit na 30 minut"
+
+#~ msgid "Mute for 2 hours"
+#~ msgstr "Utlumit na 2 hodiny"
+
+#~ msgid "Mute for 1 day"
+#~ msgstr "Utlumit na 1 den"
+
+#~ msgid "Unmute"
+#~ msgstr "Zrušit utlumení"
+
+#~ msgid "Mute"
+#~ msgstr "Utlumit"
+
+#~ msgid "Kick..."
+#~ msgstr "Vykopnout..."
+
+#~ msgid "Ban..."
+#~ msgstr "Ban..."
+
+#~ msgid "Unban"
+#~ msgstr "Unban"
+
+#~ msgid "Slap!"
+#~ msgstr "Slap!"
+
+#~ msgid "Op"
+#~ msgstr "Op"
+
+#~ msgid "DeOp"
+#~ msgstr "DeOp"
+
+#~ msgid "ChanServ error"
+#~ msgstr "ChanServ error"
+
+#~ msgid "ChanServ is not in this channel."
+#~ msgstr "ChanServ není v této místnosti."
+
+#~ msgid "What should be the new topic?"
+#~ msgstr "Jaké by mělo být nové téma?"
+
+#~ msgid "Message:"
+#~ msgstr "Zpráva:"
+
+#~ msgid "Lock channel..."
+#~ msgstr "Ukamknout místnost"
+
+#~ msgid "What should the new password be?"
+#~ msgstr "Jaké by mělo nové heslo?"
+
+#~ msgid "Unlock Channel"
+#~ msgstr "Odemknout Místnost"
+
+#~ msgid "Are you sure you want to unlock this channel?"
+#~ msgstr "Opravdu chctete odemknout tuto místnost?"
+
+#~ msgid "ChanServ is not on this server."
+#~ msgstr "ChanServ není na tomto serveru."
+
+#~ msgid "Register Channel"
+#~ msgstr "Registrovat Místnost"
+
+#~ msgid "Unregister Channel"
+#~ msgstr "Odhlásit Místnost"
+
+#~ msgid "Are you sure you want to unregister this channel?"
+#~ msgstr "Opravdu chcete odhlásit tuto místnost?"
+
+#~ msgid "Remove User Acount"
+#~ msgstr "Odstranit Uživatelský Účet"
+
+#~ msgid "What user account do you want to remove today?"
+#~ msgstr "Který uživatelský účet si přejete odstranit?"
+
+#~ msgid "Remove Account"
+#~ msgstr "Odstranit účet"
+
+#~ msgid "Are you sure you want to remove the account "
+#~ msgstr "Opravdu si přejete odstranit účet? "
+
+#~ msgid "Change User Acount Password"
+#~ msgstr "Změnit Heslo Uživatelského Účtu"
+
+#~ msgid "What user account do you want to change the password for?"
+#~ msgstr "Pro jaký uživatelský účet si přejete změnit heslo?"
+
+#~ msgid "What would be the new password?"
+#~ msgstr "Jaké bude nové heslo?"
+
+#~ msgid "Not Implemented"
+#~ msgstr "Neimplementováno"
+
+#~ msgid "You don't have the mod "
+#~ msgstr "Nemáte tento mod "
+
+#~ msgid "This battle is password protected, enter the password."
+#~ msgstr "Tato bitva je chráněna heslem,zadejte heslo."
+
+#~ msgid "Kick User"
+#~ msgstr "Vykopnout uživatele"
+
+#~ msgid "Reason:"
+#~ msgstr "Důvod:"
+
+#~ msgid "Kick user"
+#~ msgstr "Vykopnout uživatele"
+
+#~ msgid "Duration:"
+#~ msgstr "Doba trvání:"
+
 #~ msgid "Test firewall"
 #~ msgstr "Test firewallu"
 
@@ -6103,6 +5983,9 @@ msgstr ""
 #~ msgid "Tab icons"
 #~ msgstr "Nastavení Mapy"
 
+#~ msgid "not available"
+#~ msgstr "nepoužitelné"
+
 #, fuzzy
 #~ msgid "Chose in game"
 #~ msgstr "Nastavit ve hře"
@@ -6122,9 +6005,22 @@ msgstr ""
 #~ msgid "Player"
 #~ msgstr "Hráč:"
 
+#, fuzzy
+#~ msgid "MB downloaded"
+#~ msgstr "Stáhnout"
+
 #~ msgid "status"
 #~ msgstr "stav"
 
+#~ msgid "KB/s up"
+#~ msgstr "KB/s up"
+
+#~ msgid "KB/s down"
+#~ msgstr "KB/s down"
+
+#~ msgid "Filesize (MB)"
+#~ msgstr "Velikost souboru (MB)"
+
 #, fuzzy
 #~ msgid "Choose color"
 #~ msgstr "Zvolte složku"
diff --git a/po/da.gmo b/po/da.gmo
index 6ac78c4..35ab012 100644
Binary files a/po/da.gmo and b/po/da.gmo differ
diff --git a/po/da.po b/po/da.po
index e0050ed..8990c69 100644
--- a/po/da.po
+++ b/po/da.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the springlobby package.
 # FIRST AUTHOR <EMAIL at ADDRESS>, 2008.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: springlobby\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2008-08-02 17:25+0000\n"
 "Last-Translator: nanker <Unknown>\n"
 "Language-Team: Danish <da at li.org>\n"
@@ -50,8 +50,8 @@ msgid "value"
 msgstr "Værdi"
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "Fortryd"
 
@@ -104,7 +104,7 @@ msgstr "Tilfældig"
 msgid "Clans"
 msgstr ""
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "Ingen"
 
@@ -136,46 +136,46 @@ msgstr "Antal spillere"
 msgid "Auto select"
 msgstr "Opret forbindelse"
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "OK"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "Beskrivelse"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "Kort"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr ""
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "Vært"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "Tilskuere:"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 #, fuzzy
 msgid "Players"
 msgstr "Spillere:"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "Kort"
@@ -188,11 +188,11 @@ msgstr "Download &kort"
 msgid "Download m&od"
 msgstr ""
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "Tilskuere:"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 #, fuzzy
 msgid "Active Players:"
 msgstr "Spillere:"
@@ -247,8 +247,8 @@ msgid "All"
 msgstr "Alt"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "Kort:"
 
@@ -261,8 +261,8 @@ msgid "Max.Player:"
 msgstr "Maks.spiller:"
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr ""
 
@@ -274,15 +274,15 @@ msgstr ""
 msgid "    Spectator:"
 msgstr "    Tilskuer:"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr "%d"
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "Spillere:"
 
@@ -313,45 +313,45 @@ msgstr "Vært ny..."
 msgid "Join"
 msgstr "Tilslut"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, c-format
 msgid "%d battles displayed"
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 "Du kan ikke være vært for et spil når du er offline. Forbind venligst til en "
 "lobby server."
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr "Ikke online."
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr ""
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr "Spring fejl"
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
 msgstr ""
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr "Er allerede i et slag"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
@@ -361,21 +361,21 @@ msgstr ""
 "\n"
 "Vil du forlade det nuværende og starte et nyt?"
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
 " Hosting may or may not work."
 msgstr ""
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
 "Hosting may or may not work with this setting."
 msgstr ""
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -387,36 +387,36 @@ msgid ""
 " option in the hosting settings."
 msgstr ""
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr ""
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr "Fejl ved start af slag."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
 msgstr ""
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "Fandt ingen kort"
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
 msgstr ""
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid "Already in this battle"
 msgstr "Er allerede i et slag"
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid ""
 "You are already in this battle.\n"
@@ -427,12 +427,12 @@ msgstr ""
 "\n"
 "Vil du forlade det nuværende og starte et nyt?"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid "Already in another battle"
 msgstr "Er allerede i et slag"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid ""
 "You are already in a battle.\n"
@@ -443,47 +443,47 @@ msgstr ""
 "\n"
 "Vil du forlade det nuværende og deltage i dette?"
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
 msgstr ""
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr "Ønsker du at jeg tager dig til download siden?"
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 msgid ""
 "Should i try to download it for you?\n"
 "You can see the progress in the \"Download Manager\" tab."
 msgstr ""
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr ""
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr "Kort ikke tilgængeligt"
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr "Adgangskode til slag"
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr "Indtast adgangskode"
 
@@ -493,45 +493,45 @@ msgid "Select"
 msgstr "Vælg..."
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr "Mulighed"
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr "Værdi"
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr "Størrelse"
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr "Vindhastighed"
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr ""
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr "Tyngdekraft"
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr ""
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr ""
 
@@ -553,266 +553,266 @@ msgstr "Vælg i spil"
 msgid "Startpositions"
 msgstr "Start position"
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr "Enheds begrænsninger"
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr "Tilladte enheder"
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr "Enheder på denne liste vil være tilgængelige i spillet."
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 #, fuzzy
 msgid "Disable selected units."
 msgstr "Tillad alle enheder."
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 #, fuzzy
 msgid "Re-enable selected units."
 msgstr "Tillad alle enheder."
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr ""
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr "Tillad alle enheder."
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr "Begrænsede enheder"
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr "Enheder på denne liste vil ikke være tilgængelige i spillet."
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 #, fuzzy
 msgid "Unit restriction"
 msgstr "Enheds begrænsninger"
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr "Kaldenavn"
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr "Hold"
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr "Vælg farve"
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr "Sæt ressourcebonus"
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr "Tilskuer"
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr "Spark"
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr "Ring"
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr "Indtast venligst en værdi mellem 0 og 100"
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 msgid "AI (bot)\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 #, fuzzy
 msgid "Human\n"
 msgstr "Oman"
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 #, fuzzy
 msgid "Spectator\n"
 msgstr "Tilskuer"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 #, fuzzy
 msgid "Player\n"
 msgstr "Spiller:"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 #, fuzzy
 msgid "Host\n"
 msgstr "Vært"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 #, fuzzy
 msgid "Client\n"
 msgstr "Klient"
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 #, fuzzy
 msgid "Ready\n"
 msgstr "Altid"
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 #, fuzzy
 msgid "Not ready\n"
 msgstr "Ikke parat"
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 msgid "In sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 #, fuzzy
 msgid "Set name."
 msgstr "Sæt adgang..."
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr "Indlæs..."
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 #, fuzzy
 msgid "Load a saved set of options."
 msgstr "Indlæs et gemt sæt af begrænsninger."
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 #, fuzzy
 msgid "Save..."
 msgstr "Gem..."
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 #, fuzzy
 msgid "Save a set of options."
 msgstr "Gen et sæt af begrænsninger."
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 #, fuzzy
 msgid "Delete..."
 msgstr "Vælg..."
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 #, fuzzy
 msgid "Delete a set of options."
 msgstr "Gen et sæt af begrænsninger."
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 #, fuzzy
 msgid "Set default..."
 msgstr "standard"
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 #, fuzzy
 msgid "Mod Options"
 msgstr "Kort indstillinger"
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr "Kort indstillinger"
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 #, fuzzy
 msgid "no options available"
 msgstr "Kort ikke tilgængeligt"
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr "fejl"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 #, fuzzy
 msgid "Delete preset"
 msgstr "Vælg"
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 #, fuzzy
 msgid "Set mod default preset"
 msgstr "standard"
@@ -855,7 +855,7 @@ msgid ""
 "set) starting boxes."
 msgstr ""
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr "Forlad"
 
@@ -863,7 +863,7 @@ msgstr "Forlad"
 msgid "Leave the battle and return to the battle list"
 msgstr "Forlad slaget og returner til slagsiden"
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr "Start"
 
@@ -1045,7 +1045,7 @@ msgstr ""
 msgid "Save"
 msgstr "Gem..."
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 #, fuzzy
 msgid "Delete"
 msgstr "Vælg"
@@ -1125,7 +1125,7 @@ msgstr ""
 msgid "Find channel:"
 msgstr "kanal"
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 msgid "Choose channels to join"
 msgstr ""
 
@@ -1185,67 +1185,64 @@ msgid ""
 "Be sure that there isn't a write protection.\n"
 msgstr ""
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr "Farver og skrifttyper"
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr "Brug systemets farver"
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr "Normal"
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr "Baggrund"
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr "Handling"
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr "Fremhæv"
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr "Deltag/forlad"
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr "Min meddelelse"
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr "Server"
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr "Klient"
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr "Fejl"
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr "Tidsstempel"
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr "PÃ¥mindelse"
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
 "[22:30] <Dude> hi everyone\n"
@@ -1255,586 +1252,249 @@ msgid ""
 "[22:46] <Dude2> But could be better, should tweak them some more...\n"
 msgstr ""
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr "Skrifttype:"
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr "standard"
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr "Vælg..."
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr "Opførsel"
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr ""
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr "Chat log"
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr "Gem chat log"
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr ""
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr ""
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr ""
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr ""
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr ""
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr "nr."
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, fuzzy, c-format
 msgid "%d users"
 msgstr "(%d brugere)"
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr ""
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr "Send"
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr ""
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr "Kopiér"
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-msgid "Clear"
-msgstr "Ryd"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr ""
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr ""
-
-#: src/chatpanel.cpp:433
-msgid "Show mute list"
-msgstr ""
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr "Kanal info"
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr "Sæt emne..."
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr "Kanal meddelelse..."
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr "LÃ¥s..."
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr "LÃ¥s op"
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr "Tilmeld..."
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr "Frameld..."
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr "Til"
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr "Fra"
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr "Er på?"
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr "Span beskyttelse"
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr ""
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr "Afbryd forbindelse"
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr "Opret forbindelse"
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr "Slet..."
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr "Skift adgangskode..."
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr "Sæt adgang..."
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr "Konti"
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr ""
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr "Admin"
-
-#: src/chatpanel.cpp:510
-#, fuzzy
-msgid "User"
-msgstr "Spark bruger"
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr "Ã…ben chat"
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr "Deltag i samme slag"
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr ""
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr ""
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr "Uden lyd..."
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr "Uden lyd i 5 minutter"
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr "Uden lyd i 10 minutter"
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr "Uden lyd i 30 minutter"
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr "Uden lyd i 2 timer"
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr "Uden lyd i 1 dag"
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr "Aktiver lyd"
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr "Uden lyd"
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr "Spark..."
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr ""
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr ""
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr "Slå!"
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr "Op"
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr ""
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr ""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr ""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr "kanal"
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr "slag"
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr "server"
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr ""
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr ""
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 #, fuzzy
 msgid " ** Channel topic:"
 msgstr "Kanal info"
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 msgid " ** Set by "
 msgstr ""
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr "Chat lukket."
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr ""
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr ""
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr ""
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr ""
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
 "commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr " Bruger er offline."
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr ""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr "\""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr ""
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr ""
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr "Hvad skal være det nye emne?"
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr "Meddelelse:"
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr "LÃ¥s kanal..."
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr "Hvad skal den nye adgangskode være?"
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr "LÃ¥s kanal op"
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr "Er du sikker på at du vil låse denne kanal op?"
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr ""
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr "Fjern brugerkonto"
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr "Hvilken brugerkonto vil du fjerne idag?"
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr "Fjern konto"
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr "Er du sikker på at du vil fjerne kontoen "
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr "Ændre brugerens adgangskode til konto"
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr "Hvilken brugerkonto vil du ændre adgangskode for?"
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr "Hvad skal den nye adgangskode være?"
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr "Ikke implementeret"
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr ""
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr ""
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr ""
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr "Slaget er beskyttet af en adgangskode, angiv denne."
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr ""
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr ""
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr "Spark bruger"
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr "Grund:"
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr "Spark bruger"
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr ""
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr "Varighed:"
-
-#: src/chatpanel.cpp:1797
-msgid "couldn't add user"
-msgstr ""
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr "Forbind til lobby server"
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
 msgstr ""
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr "Adgangskode"
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr ""
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr ""
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
 msgstr ""
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr "Logind"
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr "Registrér"
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr "Alias"
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr "Ugyldig port."
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr "Ugyldig port"
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
 "It must be an integer between 1 and 65535"
 msgstr ""
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr "Ugyldig vært/port"
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr "Ugyldig vært"
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 #, fuzzy
 msgid "Invalid nickname"
 msgstr "Ugyldigt tal."
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 msgid ""
 "Registration failed, the reason was:\n"
 "Password / confirmation mismatch (or empty passwort)"
 msgstr ""
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr "Registrering mislykkedes."
 
@@ -2827,9 +2487,8 @@ msgid "Last generated spring launching script"
 msgstr ""
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 #, fuzzy
 msgid "Name"
 msgstr "Spil"
@@ -2922,8 +2581,8 @@ msgstr "Vær vært for nyt slag"
 msgid "Notify when users of this group hosts a battle"
 msgstr ""
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr ""
 
@@ -3016,9 +2675,8 @@ msgstr "Vælg i spil"
 msgid "File successfully saved"
 msgstr ""
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 #, fuzzy
 msgid "Success"
 msgstr "Sæt adgang..."
@@ -3027,7 +2685,7 @@ msgstr "Sæt adgang..."
 msgid "Couldn't save file"
 msgstr ""
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 #, fuzzy
 msgid "Default"
 msgstr "standard"
@@ -3060,205 +2718,205 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr "Vær vært for nyt slag"
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr "En kort beskrivelse af slaget, som vil blive vist på slaglisten."
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "Beskrivelse"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr ""
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr ""
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr "Port"
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr ""
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 #, fuzzy
 msgid "Randomly picks an available one"
 msgstr "Kort ikke tilgængeligt"
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr "Antal spillere"
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr "Det maksimale antal spillere tilladt i slaget."
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr ""
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr ""
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 msgid "NAT traversal to use."
 msgstr ""
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr ""
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr "Start som vært for slaget."
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr ""
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 msgid ""
 "\n"
 "successfully unzipped in:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr "Webbrowser"
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr "Gennemse"
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 msgid "Path"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 msgid "Use a file dialog to find the editor binary"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 #, fuzzy
 msgid "Autoconnect"
 msgstr "Opret forbindelse"
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 #, fuzzy
 msgid "Autoconnect on lobby start"
 msgstr "Forbind til lobby server"
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3267,74 +2925,74 @@ msgid ""
 "Uncheck to disable."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 #, fuzzy
 msgid "Tooltips"
 msgstr "Værk&tøjer"
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 msgid "Show Tooltips?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
 "distance"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 msgid "Match exact"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 #, fuzzy
 msgid "Start tab"
 msgstr "Start metal"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3346,7 +3004,7 @@ msgstr ""
 msgid "Choose a editor browser executable"
 msgstr ""
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 #, fuzzy
 msgid "Disconnected from server, chat closed."
 msgstr "Ukendt svar fra server"
@@ -3355,128 +3013,112 @@ msgstr "Ukendt svar fra server"
 msgid "Battle list"
 msgstr "Slagliste"
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr "Valgmuligheder"
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 #, fuzzy
 msgid "Unit Restrictions"
 msgstr "Enheds begrænsninger"
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr "Spring"
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr ""
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr "Chat"
 
-#: src/mainoptionstab.cpp:75
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
+msgid "Restore"
+msgstr "Gendan"
+
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
+msgid "Apply"
+msgstr "Anvend"
+
+#: src/mainoptionstab.cpp:87
 #, fuzzy
 msgid "General"
 msgstr "Senegal"
 
-#: src/mainoptionstab.cpp:78
+#: src/mainoptionstab.cpp:90
 msgid "Groups"
 msgstr ""
 
-#: src/mainoptionstab.cpp:80
-msgid "Restore"
-msgstr "Gendan"
-
-#: src/mainoptionstab.cpp:81
-msgid "Apply"
-msgstr "Anvend"
-
-#: src/mainsingleplayertab.cpp:41
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr "Spil"
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr ""
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 #, fuzzy
 msgid "Download Lua widgets"
 msgstr "Download"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr ""
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr ""
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr ""
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr ""
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr ""
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr ""
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr ""
@@ -3485,290 +3127,304 @@ msgstr ""
 msgid "SpringLobby"
 msgstr "SpringLobby"
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr "&Forbind..."
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr "&Afbryd forbindelse"
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 #, fuzzy
 msgid "&Save options"
 msgstr "Gem indstillinger"
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr "&Afslut"
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+#, fuzzy
+msgid "&Save Layout"
+msgstr "Gem indstillinger"
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr ""
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 #, fuzzy
 msgid "Channel &list"
 msgstr "Kanal info"
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr "Ã…ben prival &chat..."
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr ""
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr ""
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr "Tjek for nye versioner"
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr "Spring opsætning"
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr "&Om"
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 #, fuzzy
 msgid "&Change language"
 msgstr "Kanal info"
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr ""
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr "&Dokumentation"
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr "&Fil"
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+#, fuzzy
+msgid "&View"
+msgstr "&Fil"
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr "Værk&tøjer"
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr "&Hjælp"
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 #, fuzzy
 msgid "Not connected"
 msgstr "Opret forbindelse"
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr ""
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr ""
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr "Ã…ben privat chat..."
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr "Brugernavn"
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 #, fuzzy
 msgid "No files found"
 msgstr "Fandt ingen kort"
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr ""
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr ""
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr ""
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr ""
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 #, fuzzy
 msgid "Which profile do you want to be default?"
 msgstr "Hvilken brugerkonto vil du fjerne idag?"
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr ""
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr ""
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 #, fuzzy
 msgid "Savegames"
 msgstr "Gem..."
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 #, fuzzy
 msgid "Replays"
 msgstr "Altid"
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 #, fuzzy
 msgid "Downloads"
 msgstr "Download"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr ""
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr "Genopfrisk"
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr "Download"
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr ""
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr ""
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr "bonus: %d%%"
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 #, fuzzy
 msgid "Show"
 msgstr "Vis alt"
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 #, fuzzy
 msgid "Filter"
 msgstr "Fil"
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 #, fuzzy
 msgid "Map details"
 msgstr "Grafiske deltaljer"
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 #, fuzzy
 msgid "Start positions"
 msgstr "Start position"
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 msgid "Minimum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 msgid "Average wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 #, fuzzy
 msgid "Aspect ratio"
 msgstr "Tilskuer"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 #, fuzzy
 msgid "Number of start positions"
 msgstr "Start position"
@@ -3805,20 +3461,20 @@ msgstr "Begrænsede enheder"
 msgid "Map name"
 msgstr ""
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 #, fuzzy
 msgid "Change option"
 msgstr "Gem indstillinger"
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr ""
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr "c"
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr "r"
 
@@ -3886,55 +3542,55 @@ msgstr "Fil"
 msgid "Filesize in kilobyte"
 msgstr ""
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr "Fil"
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "Indlæs..."
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "Altid"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "savegame"
 msgstr "Gem..."
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr ""
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
 "version: %s\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -3943,18 +3599,18 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 #, fuzzy
 msgid "Invalid replay"
 msgstr "Ugyldig port"
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr ""
 
@@ -3971,95 +3627,95 @@ msgstr ""
 msgid "Select Users"
 msgstr "Vælg"
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 #, fuzzy
 msgid " is online"
 msgstr " Bruger er offline."
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr ""
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr ""
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 #, fuzzy
 msgid " just went offline"
 msgstr " Bruger er offline."
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 #, fuzzy
 msgid " opened battle "
 msgstr "Vær vært for nyt slag"
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr " fordi: "
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr "Server meddelelse"
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr ""
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr "Du blev sparket ud af slaget!"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr "Sparket ud af vært"
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, fuzzy, c-format
 msgid "%s mutelist"
 msgstr "Slagliste"
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr ""
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr ""
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy
 msgid "Download update"
 msgstr "Download &kort"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -4070,68 +3726,68 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 #, fuzzy
 msgid "Negotiation error"
 msgstr "PÃ¥mindelse"
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 #, fuzzy
 msgid "Invalid Value"
 msgstr "Ugyldigt tal."
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 #, fuzzy
 msgid "No Handler"
 msgstr "Ikke et tal"
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 msgid "File doesn't exit"
 msgstr ""
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "Startet"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 #, fuzzy
 msgid "Reconnection Error"
 msgstr "Opret forbindelse"
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 #, fuzzy
 msgid "Unknown Error"
 msgstr "Ukendt svar fra server"
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 msgid "Download complete, location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 #, fuzzy
 msgid "Download complete."
 msgstr "Download"
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer. File location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer."
 msgstr ""
 
@@ -4802,74 +4458,74 @@ msgid "Save Spring settings before exiting?"
 msgstr "Gem Spring opsætning før det forlades?"
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr "Bekræftelse nødvendig"
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr ""
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr ""
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr "Gem indstillinger"
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr ""
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr ""
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr "Afslut"
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr "Simpel (få muligheder)"
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr "Ekspert (alle muligheder)"
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr "Om"
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr "Kontakt"
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr ""
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr "Rapportér en Fejl (Bug)"
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr "Tilstand"
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr "Info/hjælp"
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr ""
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr "Tip"
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr ""
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -4892,7 +4548,7 @@ msgstr ""
 msgid "everyone reporting bugs/suggestions"
 msgstr ""
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -4900,27 +4556,32 @@ msgid ""
 "please enable wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr "Kritisk fejl"
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -4959,8 +4620,8 @@ msgstr "Sti opsætning"
 msgid "Choose an unitsync library"
 msgstr ""
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr ""
 
@@ -4996,23 +4657,23 @@ msgstr "meget høj"
 msgid "can't launch default browser"
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr "Spring opsætningsfejl"
 
@@ -5020,41 +4681,41 @@ msgstr "Spring opsætningsfejl"
 msgid "Audio Options"
 msgstr "Lydindstillinger"
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr "Skærmopløsning"
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr "Vand kvalitet"
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr ""
 
@@ -5140,99 +4801,69 @@ msgstr ""
 msgid "Zoom"
 msgstr "Zoom"
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
 msgstr ""
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr ""
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 #, fuzzy
 msgid "Spectate only"
 msgstr "Tilskuer"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 #, fuzzy
 msgid "Random start positions"
 msgstr "Start position"
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr "- Vælg en -"
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr ""
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr "Du skal vælge et kort først"
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
 " "
 msgstr ""
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr ""
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
-msgstr "Hej "
-
-#: src/springlobbyapp.cpp:168
-msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
-"\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
-",\n"
-"Det ser ud som om det er første gang du bruger SpringLobby. Jeg har gættet "
-"på en opsætning, som jeg tror vil virke for dig, men du bør tjekke den, "
-"særligt Spring opsætningen. \n"
-"Når du er færdig kan du gå til filmenuen, tilslutte dig til en server og "
-"nyde et godt spil Spring :)"
 
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
-msgstr "Welcome"
-
-#: src/springlobbyapp.cpp:172
+#: src/springlobbyapp.cpp:183
 msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
-msgstr ""
-
-#: src/springlobbyapp.cpp:172
-#, fuzzy
-msgid "Notice"
-msgstr "Ingen"
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
+"\n"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:188
+#: src/springlobbyapp.cpp:183
 #, fuzzy
-msgid "Import settings?"
-msgstr "Sti opsætning"
+msgid "Fatal error"
+msgstr "Kritisk fejl"
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5240,69 +4871,77 @@ msgid ""
 "please get a wxWidgets library that supports wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 #, fuzzy
 msgid "Ignore chat"
 msgstr "Ã…ben chat"
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 #, fuzzy
 msgid "Battle Autokick"
 msgstr "Slagliste"
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 #, fuzzy
 msgid "Friends"
 msgstr "Søg"
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr "Placering"
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr "Søg"
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr "Konfigurer automatisk"
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr "Bibliotek"
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5329,7 +4968,7 @@ msgid ""
 "Please create manually the following folders:"
 msgstr ""
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr "Tidsudløb på forbindelsen"
 
@@ -5351,43 +4990,44 @@ msgstr ""
 msgid " , column "
 msgstr ""
 
-#: src/torrentlistctrl.cpp:44
-msgid "Numcopies"
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:48
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
 #, fuzzy
-msgid "MB downloaded"
-msgstr "Download"
-
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
-msgstr ""
+msgid "Cancel torrent"
+msgstr "Fortryd"
 
-#: src/torrentlistctrl.cpp:56
+#: src/torrentlistctrl.cpp:173
 #, fuzzy
-msgid "Status"
-msgstr "Status:"
+msgid "Retry torrent"
+msgstr "Gendan"
 
-#: src/torrentlistctrl.cpp:60
-#, c-format
-msgid "% complete"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
-msgstr ""
+#: src/torrentlistctrl.cpp:264
+#, fuzzy
+msgid "not found"
+msgstr "Fandt ingen kort"
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "Download"
+
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
 msgstr ""
 
 #: src/torrentoptionspanel.cpp:37
@@ -5456,11 +5096,11 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr ""
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr "Adgangskode til server"
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
@@ -5468,206 +5108,200 @@ msgstr ""
 "Registrering lykkedes,\n"
 "du skulle nu kunne logge ind."
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr "Registrering lykkedes"
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr ""
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr ""
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr ""
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr ""
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr ""
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr ""
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr ""
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
 msgstr ""
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr ""
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
 msgstr ""
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
 msgstr ""
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr ""
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr ""
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
 "username."
 msgstr ""
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 msgid "  \"/part\" - Leaves current channel."
 msgstr ""
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 msgid "  \"/p\" - Alias to /part."
 msgstr ""
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr ""
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr ""
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr ""
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr ""
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr ""
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr ""
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
 msgstr ""
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr "Ingen emner skrevet endnu."
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr "Emnet \""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr ""
 "\" blev ikke fundet. Skriv \"/hjælp emner\" kun for tilgængelige emner."
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
 "\n"
 "Online play is currently disabled."
 msgstr ""
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 msgstr ""
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 msgid "Online play is currently disabled."
 msgstr ""
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 #, fuzzy
 msgid "Disconnected from server."
 msgstr "Ukendt svar fra server"
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 #, fuzzy
 msgid "Connection failure"
 msgstr "Tidsudløb på forbindelsen"
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr ""
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr "(%d brugere)"
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr "Server meddelelse"
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr "Det aktuelle slag blev lukket af værten."
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr "Slag lukket"
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
 "to play online."
 msgstr ""
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr "Spring opsætningsfejl"
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5675,26 +5309,71 @@ msgid ""
 "download finished"
 msgstr ""
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr ""
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr "Hej "
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+",\n"
+"Det ser ud som om det er første gang du bruger SpringLobby. Jeg har gættet "
+"på en opsætning, som jeg tror vil virke for dig, men du bør tjekke den, "
+"særligt Spring opsætningen. \n"
+"Når du er færdig kan du gå til filmenuen, tilslutte dig til en server og "
+"nyde et godt spil Spring :)"
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr "Welcome"
+
+#: src/ui.cpp:1242
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid "Notice"
+msgstr "Ingen"
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+#, fuzzy
+msgid "Import settings?"
+msgstr "Sti opsætning"
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr "Din version: "
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr "Sidste version: "
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
@@ -5702,7 +5381,7 @@ msgstr ""
 "Din SpringLobby version er ikke opdateret!\n"
 "\n"
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid ""
 "\n"
 "\n"
@@ -5710,53 +5389,49 @@ msgid ""
 "effect next you launch the lobby again."
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 #, fuzzy
 msgid "Not up to date"
 msgstr "Ikke opdateret"
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr "Ikke opdateret"
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
 msgstr ""
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 msgid ""
 "There was an error downloading for the latest version.\n"
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
+#: src/updater/updater.cpp:92
 #, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr ""
 
@@ -5881,15 +5556,15 @@ msgstr ""
 msgid "Unknown"
 msgstr ""
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr ""
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 msgid "Add to group..."
 msgstr ""
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 #, fuzzy
 msgid "Remove from group"
 msgstr "Fjern brugerkonto"
@@ -5970,6 +5645,163 @@ msgstr ""
 #~ msgid "cpu"
 #~ msgstr "cpu"
 
+#~ msgid "Copy"
+#~ msgstr "Kopiér"
+
+#~ msgid "Clear"
+#~ msgstr "Ryd"
+
+#~ msgid "Channel info"
+#~ msgstr "Kanal info"
+
+#~ msgid "Set topic..."
+#~ msgstr "Sæt emne..."
+
+#~ msgid "Channel message..."
+#~ msgstr "Kanal meddelelse..."
+
+#~ msgid "Lock..."
+#~ msgstr "LÃ¥s..."
+
+#~ msgid "Unlock"
+#~ msgstr "LÃ¥s op"
+
+#~ msgid "Register..."
+#~ msgstr "Tilmeld..."
+
+#~ msgid "Unregister"
+#~ msgstr "Frameld..."
+
+#~ msgid "On"
+#~ msgstr "Til"
+
+#~ msgid "Off"
+#~ msgstr "Fra"
+
+#~ msgid "Is on?"
+#~ msgstr "Er på?"
+
+#~ msgid "Spam protection"
+#~ msgstr "Span beskyttelse"
+
+#~ msgid "Disconnect"
+#~ msgstr "Afbryd forbindelse"
+
+#~ msgid "Remove..."
+#~ msgstr "Slet..."
+
+#~ msgid "Change password..."
+#~ msgstr "Skift adgangskode..."
+
+#~ msgid "Set access..."
+#~ msgstr "Sæt adgang..."
+
+#~ msgid "Accounts"
+#~ msgstr "Konti"
+
+#~ msgid "Admin"
+#~ msgstr "Admin"
+
+#, fuzzy
+#~ msgid "User"
+#~ msgstr "Spark bruger"
+
+#~ msgid "Open Chat"
+#~ msgstr "Ã…ben chat"
+
+#~ msgid "Join same battle"
+#~ msgstr "Deltag i samme slag"
+
+#~ msgid "Mute..."
+#~ msgstr "Uden lyd..."
+
+#~ msgid "Mute for 5 minutes"
+#~ msgstr "Uden lyd i 5 minutter"
+
+#~ msgid "Mute for 10 minutes"
+#~ msgstr "Uden lyd i 10 minutter"
+
+#~ msgid "Mute for 30 minutes"
+#~ msgstr "Uden lyd i 30 minutter"
+
+#~ msgid "Mute for 2 hours"
+#~ msgstr "Uden lyd i 2 timer"
+
+#~ msgid "Mute for 1 day"
+#~ msgstr "Uden lyd i 1 dag"
+
+#~ msgid "Unmute"
+#~ msgstr "Aktiver lyd"
+
+#~ msgid "Mute"
+#~ msgstr "Uden lyd"
+
+#~ msgid "Kick..."
+#~ msgstr "Spark..."
+
+#~ msgid "Slap!"
+#~ msgstr "Slå!"
+
+#~ msgid "Op"
+#~ msgstr "Op"
+
+#~ msgid "What should be the new topic?"
+#~ msgstr "Hvad skal være det nye emne?"
+
+#~ msgid "Message:"
+#~ msgstr "Meddelelse:"
+
+#~ msgid "Lock channel..."
+#~ msgstr "LÃ¥s kanal..."
+
+#~ msgid "What should the new password be?"
+#~ msgstr "Hvad skal den nye adgangskode være?"
+
+#~ msgid "Unlock Channel"
+#~ msgstr "LÃ¥s kanal op"
+
+#~ msgid "Are you sure you want to unlock this channel?"
+#~ msgstr "Er du sikker på at du vil låse denne kanal op?"
+
+#~ msgid "Remove User Acount"
+#~ msgstr "Fjern brugerkonto"
+
+#~ msgid "What user account do you want to remove today?"
+#~ msgstr "Hvilken brugerkonto vil du fjerne idag?"
+
+#~ msgid "Remove Account"
+#~ msgstr "Fjern konto"
+
+#~ msgid "Are you sure you want to remove the account "
+#~ msgstr "Er du sikker på at du vil fjerne kontoen "
+
+#~ msgid "Change User Acount Password"
+#~ msgstr "Ændre brugerens adgangskode til konto"
+
+#~ msgid "What user account do you want to change the password for?"
+#~ msgstr "Hvilken brugerkonto vil du ændre adgangskode for?"
+
+#~ msgid "What would be the new password?"
+#~ msgstr "Hvad skal den nye adgangskode være?"
+
+#~ msgid "Not Implemented"
+#~ msgstr "Ikke implementeret"
+
+#~ msgid "This battle is password protected, enter the password."
+#~ msgstr "Slaget er beskyttet af en adgangskode, angiv denne."
+
+#~ msgid "Kick User"
+#~ msgstr "Spark bruger"
+
+#~ msgid "Reason:"
+#~ msgstr "Grund:"
+
+#~ msgid "Kick user"
+#~ msgstr "Spark bruger"
+
+#~ msgid "Duration:"
+#~ msgstr "Varighed:"
+
 #~ msgid "Test firewall"
 #~ msgstr "Test firewall"
 
@@ -6001,6 +5833,10 @@ msgstr ""
 #~ msgstr "Spiller:"
 
 #, fuzzy
+#~ msgid "MB downloaded"
+#~ msgstr "Download"
+
+#, fuzzy
 #~ msgid "Choose color"
 #~ msgstr "Vælg farve"
 
diff --git a/po/de.gmo b/po/de.gmo
index 902f88a..0983a81 100644
Binary files a/po/de.gmo and b/po/de.gmo differ
diff --git a/po/de.po b/po/de.po
index 494ad5c..487fa6a 100644
--- a/po/de.po
+++ b/po/de.po
@@ -4,7 +4,7 @@
 # This file is distributed under the same license as the SpringLobby package.
 # root <marenz at supradigital.org>, 2008.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -15,7 +15,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: SpringLobby 0.0.1.10128\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2008-08-26 18:16+0000\n"
 "Last-Translator: derDaimon <Unknown>\n"
 "Language-Team: German\n"
@@ -51,8 +51,8 @@ msgid "value"
 msgstr "Wert"
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "Abbrechen"
 
@@ -105,7 +105,7 @@ msgstr "Zuf
 msgid "Clans"
 msgstr "Clans"
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "Keine"
 
@@ -137,46 +137,46 @@ msgstr "Anzahl der Spieler"
 msgid "Auto select"
 msgstr "Neu Verbinden"
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "Ok"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "Beschreibung"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "Karte"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr "Modifikation"
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "Host"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "Zuschauer:"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 #, fuzzy
 msgid "Players"
 msgstr "Spieler:"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "Karte"
@@ -189,11 +189,11 @@ msgstr "Karte &herunterladen"
 msgid "Download m&od"
 msgstr "M&odifikation herunterladen"
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "Zuschauer:"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 #, fuzzy
 msgid "Active Players:"
 msgstr "Aktive Spieler:"
@@ -248,8 +248,8 @@ msgid "All"
 msgstr "Alle"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "Karte:"
 
@@ -262,8 +262,8 @@ msgid "Max.Player:"
 msgstr "Max. Spieler:"
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr "Mod:"
 
@@ -275,15 +275,15 @@ msgstr "Nur bereits heruntergeladene Mods"
 msgid "    Spectator:"
 msgstr "    Zuschauer:"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr "%d"
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "Spieler:"
 
@@ -314,36 +314,36 @@ msgstr "Host er
 msgid "Join"
 msgstr "Teilnehmen"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, c-format
 msgid "%d battles displayed"
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 "Du kannst kein Spiel eröffnen, solange du nicht mit einem Lobby-Server "
 "verbunden bist"
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr "Offline"
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr ""
 "Da deine Version des Spiels inkomatibel ist, kannst du kein Spiel eröffnen"
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr "Spring Fehler"
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
@@ -351,11 +351,11 @@ msgstr ""
 "Ein Spring Prozess läuft bereits.Schliesse diesen erst bevor du ein neues "
 "Spiel aufmachst"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr "Spiel läuft bereits"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
@@ -365,21 +365,21 @@ msgstr ""
 "\n"
 "Möchtest du das aktuelle Spiel verlassen um ein neues zu starten?"
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
 " Hosting may or may not work."
 msgstr ""
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
 "Hosting may or may not work with this setting."
 msgstr ""
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -391,17 +391,17 @@ msgid ""
 " option in the hosting settings."
 msgstr ""
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr ""
 "Die Schlacht wurde nicht gestartet, weil der gewählte Mod nicht gefunden "
 "wurde. "
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr "Fehler beim Starten des Spiels"
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
@@ -409,11 +409,11 @@ msgstr ""
 "Es wurden keine Karten in ihrer Spring Installation gefunden. Die kann "
 "passieren, wenn ihre Spring einstellungen falsch gesetzt wurden."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "Keine Karten gefunden"
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
@@ -421,12 +421,12 @@ msgstr ""
 "Aufgrund inkompatibler Spring Versionen kannst du keinen Schlachten "
 "beitreten."
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid "Already in this battle"
 msgstr "Spiel läuft bereits"
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid ""
 "You are already in this battle.\n"
@@ -437,12 +437,12 @@ msgstr ""
 "\n"
 "Möchtest du das aktuelle Spiel verlassen um ein neues zu starten?"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid "Already in another battle"
 msgstr "Spiel läuft bereits"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid ""
 "You are already in a battle.\n"
@@ -453,7 +453,7 @@ msgstr ""
 "\n"
 "Möchtest du die aktive verlassen und dieser beitreten?"
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
@@ -461,41 +461,41 @@ msgstr ""
 "Du hast bereits eine Instanz von Spring offen. Schliesse diese zuerst, um "
 "einer anderen Schlacht beizutreten."
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr ""
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 msgid ""
 "Should i try to download it for you?\n"
 "You can see the progress in the \"Download Manager\" tab."
 msgstr ""
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr "Mod nicht verfügbar"
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr "Karte nicht verfügbar"
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr "Passwort der Schlacht"
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr "Passwort eingeben"
 
@@ -505,45 +505,45 @@ msgid "Select"
 msgstr "Auswählen..."
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr "Option"
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr "Wert"
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr "Größe"
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr "Windgeschwindigkeit"
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr "Gezeitenstärke"
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr "Schwerkraft"
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr "Extraktorradius"
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr "Max Metall"
 
@@ -565,268 +565,268 @@ msgstr "Im Spiel w
 msgid "Startpositions"
 msgstr "Startpositionen"
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr "Einheitenbeschränkungen"
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr "Erlaubte Einheiten"
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr "Einheiten in dieser Liste werden im Spiel verfügbar sein."
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 #, fuzzy
 msgid "Disable selected units."
 msgstr "Erlaube alle Einheiten"
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 #, fuzzy
 msgid "Re-enable selected units."
 msgstr "Erlaube alle Einheiten"
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 #, fuzzy
 msgid "<<"
 msgstr "<"
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr "Erlaube alle Einheiten"
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr "Verbotene Einheiten"
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr "Einheiten in dieser Liste werden im Spiel nicht verfügbar sein."
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 #, fuzzy
 msgid "Unit restriction"
 msgstr "Einheitenbeschränkungen"
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr "Spitzname"
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr "Team"
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr "Bündnis"
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr "Rohstoff-Bonus"
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr "Seite"
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr "Farbe setzen"
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr "Rohstoff-Bonus setzen"
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr "Zuschauer"
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr "Rauswerfen"
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr "Klingeln"
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr "Bitte einen Wert zwischen 0 und 100 eingeben"
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 #, fuzzy
 msgid "AI (bot)\n"
 msgstr "Bot hinzufügen"
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 #, fuzzy
 msgid "Human\n"
 msgstr "Oman"
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 #, fuzzy
 msgid "Spectator\n"
 msgstr "Zuschauer"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 #, fuzzy
 msgid "Player\n"
 msgstr "Spieler:"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 #, fuzzy
 msgid "Host\n"
 msgstr "Host"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 #, fuzzy
 msgid "Client\n"
 msgstr "Client"
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 #, fuzzy
 msgid "Ready\n"
 msgstr "Aufzeichnungen der Spiele"
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 #, fuzzy
 msgid "Not ready\n"
 msgstr "Nicht Bereit"
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 #, fuzzy
 msgid "In sync"
 msgstr "Aktiviere V-Sync"
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr "Namen eingeben"
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 #, fuzzy
 msgid "Set name."
 msgstr "Setzte Zugriff..."
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr "Laden..."
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 #, fuzzy
 msgid "Load a saved set of options."
 msgstr "Lade eine gespeicherte Zusammenstellung von Beschränkungen."
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 #, fuzzy
 msgid "Save..."
 msgstr "Speichern..."
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 #, fuzzy
 msgid "Save a set of options."
 msgstr "Speichere eine Zusammenstellung von Beschränkungen"
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 #, fuzzy
 msgid "Delete..."
 msgstr "Auswählen..."
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 #, fuzzy
 msgid "Delete a set of options."
 msgstr "Speichere eine Zusammenstellung von Beschränkungen"
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 #, fuzzy
 msgid "Set default..."
 msgstr "Standart"
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 msgid "Mod Options"
 msgstr "Mod Optionen"
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr "Karten Optionen"
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 #, fuzzy
 msgid "no options available"
 msgstr "Mod nicht verfügbar"
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr "Fehler"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 #, fuzzy
 msgid "Delete preset"
 msgstr "Auswählen"
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 #, fuzzy
 msgid "Set mod default preset"
 msgstr "Standart"
@@ -874,7 +874,7 @@ msgstr ""
 "Eine Vorschau der Map. Du kannst die Startpositionen oder die Startboxen "
 "sehen."
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr "Verlassen"
 
@@ -882,7 +882,7 @@ msgstr "Verlassen"
 msgid "Leave the battle and return to the battle list"
 msgstr "Verlasse das Spiel und gehe zurück zur Spiele-Liste."
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr "Start"
 
@@ -1067,7 +1067,7 @@ msgstr ""
 msgid "Save"
 msgstr "Speichern..."
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 #, fuzzy
 msgid "Delete"
 msgstr "Auswählen"
@@ -1148,7 +1148,7 @@ msgstr ""
 msgid "Find channel:"
 msgstr "Channel beitreten..."
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 #, fuzzy
 msgid "Choose channels to join"
 msgstr "Name des Channels dem beigetreten wird"
@@ -1216,67 +1216,64 @@ msgid ""
 "Be sure that there isn't a write protection.\n"
 msgstr "Konnte Log Datei nicht öffnen.\n"
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr "Schrift und Farben"
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr "Benutze Systemfarben"
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr "Normal"
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr "Hintergrund"
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr "Aktion"
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr "Hervorheben"
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr "Betreten/Verlassen"
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr "Meine Nachrichten"
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr "Server"
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr "Client"
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr "Fehler"
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr "Zeitstempel"
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr "Benachrichtigung"
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 #, fuzzy
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
@@ -1294,329 +1291,139 @@ msgstr ""
 "[22:46] <Dude2> Naja, könnte besser sein.. werd noch ein wenig dran "
 "arbeiten...\n"
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr "Schrift:"
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr "Standart"
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr "Auswählen..."
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr "Verhalten"
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr ""
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr "Chat Logs"
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr "Speichere Chat Logs"
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr "Hervorzuhebende Wörter"
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr "Wörter die im Chat hervorgehoben werden sollen:"
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr "gib eine Liste mit ; als Trennzeichen ein"
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr "zusätzlich Ton abspielen/ Titelzeile blinken "
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr ""
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr "#"
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, fuzzy, c-format
 msgid "%d users"
 msgstr "(%d Benutzer)"
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr "Rechtsklick für Optionen (wie Autojoin)"
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr "Senden"
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr ""
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr "Kopieren"
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-msgid "Clear"
-msgstr "Reset"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr "Automatisch diesen Channel betreten"
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr "Zeige Betreten/Verlassen Meldungen"
-
-#: src/chatpanel.cpp:433
-#, fuzzy
-msgid "Show mute list"
-msgstr "Zeige Tooltips"
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr "Raum Info"
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr "Setze Thema..."
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr "Raum Nachricht..."
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr "Sperren..."
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr "Entsperren"
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr "Registrieren..."
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr "Entregistrieren"
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr "An"
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr "Aus"
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr "Ist an?"
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr "Spamschutz"
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr "ChanServ"
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr "Trennen"
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr "Neu Verbinden"
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr "Entfernen..."
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr "Passwort ändern..."
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr "Setzte Zugriff..."
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr "Konten"
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr "Broadcast..."
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr "Admin"
-
-#: src/chatpanel.cpp:510
-#, fuzzy
-msgid "User"
-msgstr "Benutzer muten"
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr "Öffne Chat"
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr "Betrete gleiche Schlacht"
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr "Spielinterne Zeit"
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr "IP Adressen und Smurfs anzeigen"
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr "Muten..."
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr "Für 5 Minuten muten"
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr "Für 10 Minuten muten"
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr "Für 30 Minuten muten"
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr "Für 2 Stunden muten"
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr "Für einen Tag muten"
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr "Entmuten"
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr "Mute"
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr "Kicken..."
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr "Bannen..."
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr "Entbannen..."
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr "Slap!"
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr "OP"
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr "EntOPen"
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr " !! Befehl: \""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr "\" Parameter: \""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr "Raum"
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr "Kampf"
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr "Server"
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr " hat die "
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr " verliess die "
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 #, fuzzy
 msgid " ** Channel topic:"
 msgstr "Raum Info"
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 #, fuzzy
 msgid " ** Set by "
 msgstr ""
 "\n"
 " * Gesetzt von "
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr "Chat geschlossen"
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr "Bist du sicher das du %d Zeilen einfügen willst?"
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr "Flutwarnung"
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr " Du hast SpringLobby v"
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr " Du bist nicht im Kanal oder der Kanal existiert nicht"
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
@@ -1625,178 +1432,29 @@ msgstr ""
 " Fehler: Der Befehl (%s) existiert nicht, benutze '/help' um alle "
 "verfügbaren Befehle zu sehen."
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr " Benutzer ist offline"
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr " Gesendet: \""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr "\""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr "ChanServ Fehler"
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr "ChanServ ist nicht in diesem Raum."
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr "Wie soll das neue Thema lauten?"
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr "Nachricht:"
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr "Raum sperren..."
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr "Wie soll das neue Passwort sein?"
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr "Raum entsprerren"
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr "Bist du sicher, dass du diesen Raum entsperren willst?"
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr "ChanServ existiert nicht auf diesem Server."
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr "Raum registrieren"
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr "Wer soll der eingetragene Besitzer für diesen Raum sein?"
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr "Raum deregistrieren"
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr "Bist du dir sicher, dass du diesen Raum deregistrieren willst?"
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr "Benutzer entfernen"
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr "Welchen Benutzer willst du entfernen?"
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr "Benutzer entfernen"
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr "Bist du dir sicher, dass du diesen Benutzer entfernen willst? "
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr "Ändere Benutzerpasswort"
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr "Wessen Benutzerpasswort willst du ändern?"
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr "Wie soll das neue Passwort lauten?"
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr "Nicht Implementiert"
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr "Broadcast Nachricht"
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr "Nachricht die gebroadcasted werden soll:"
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr "Du hast nicht den benötigten Mod "
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr " . Bitte downloade ihn zuerst"
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr ""
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr "Diese Schlacht ist mit passwortgeschützt. Gib das Passwort ein."
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr "Benutzer muten"
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr "Für wieviele Minuten soll der Benutzer gemutet werden?"
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr "Benutzer rauswerfen"
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr "Grund:"
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr "Benutzer kicken"
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr "Benutzer stummschalten"
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr "Dauer:"
-
-#: src/chatpanel.cpp:1797
-#, fuzzy
-msgid "couldn't add user"
-msgstr "Der Browser konnte nicht geladen werden."
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr "Verbinde zu Lobbyserver"
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
@@ -1804,20 +1462,20 @@ msgstr ""
 "Server zu dem verbunden wird. Du kannst zu jedem beliebigen Server "
 "verbinden, indem du das serveradresse:port Format benutzt."
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr "Kennwort"
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr "Kennwort merken"
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr "Beim nächsten Start automatisch verbinden"
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
@@ -1825,37 +1483,38 @@ msgstr ""
 "Merke die Verbindungsdaten und verbinde beim nächsten Start der Lobby "
 "automatisch."
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
+#, fuzzy
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 "Hinweis: Falls du keinen Benutzernamen hast,\n"
 " kannst du einen kostenlos unter der \"Registrieren\"\n"
 " Registerkarte registrieren."
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr "Anmelden"
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr "Registrieren"
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr "Nick"
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr "Ungültiger Port."
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr "Ungültiger Port"
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
@@ -1865,26 +1524,26 @@ msgstr ""
 "\n"
 "Sie muss eine ganze Zahl zwischen 1 und 65536 sein"
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr "Ungültiger Host/Port."
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr "Ungültiger Host"
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 #, fuzzy
 msgid "Invalid nickname"
 msgstr "Ungültige Zahl"
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 #, fuzzy
 msgid ""
 "Registration failed, the reason was:\n"
@@ -1893,7 +1552,7 @@ msgstr ""
 "Registrierung fehlgeschlagen. Grund:\n"
 "Passwort und Bestätigung stimmen nicht überein"
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr "Registrierung fehlgeschlagen."
 
@@ -2886,9 +2545,8 @@ msgid "Last generated spring launching script"
 msgstr "Zuletzt erstelltes Spring Startskript"
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 #, fuzzy
 msgid "Name"
 msgstr "Spiel"
@@ -2986,8 +2644,8 @@ msgstr "Neue Schlacht er
 msgid "Notify when users of this group hosts a battle"
 msgstr "Melde, wenn Benutzer dieser Grupper Schlachten eröffnen"
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr "Ignoriere Privatnachrichten (PM)"
 
@@ -3089,9 +2747,8 @@ msgstr ""
 "\n"
 "Erfolgreich gespeichert in:\n"
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 #, fuzzy
 msgid "Success"
 msgstr "Setzte Zugriff..."
@@ -3101,7 +2758,7 @@ msgstr "Setzte Zugriff..."
 msgid "Couldn't save file"
 msgstr "Der Browser konnte nicht geladen werden."
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 #, fuzzy
 msgid "Default"
 msgstr "Standart"
@@ -3134,115 +2791,115 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr "Neue Schlacht eröffnen"
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr ""
 "Eine kurze Beschreibung des Spiels, welche in der Liste der Schlachten "
 "auftauchen wird."
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "Beschreibung"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr "Wähle den Mod aus mit dem du spielen willst."
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr ""
 "Welches Passwort benötigt wird um der Schlacht beizutreten. Leerlassen für "
 "kein Passwort"
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr "Port"
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr "UDP Port auf dem das Spiel laufen wird. Standart ist 8452."
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 #, fuzzy
 msgid "Randomly picks an available one"
 msgstr "Mod nicht verfügbar"
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr "Anzahl der Spieler"
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr "Maximale Anzahl an Spielern die in dieser Schlacht erlaubt sind."
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr "Hole Punching"
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr "NAT traversal"
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 #, fuzzy
 msgid "NAT traversal to use."
 msgstr "NAT traversal"
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr "Mindestrang benötigt"
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr "Starte Host für eine Schlacht."
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr "Sie müssen erst einen Mod auswählen."
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr "Kein Mod ausgewählt."
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
@@ -3250,7 +2907,7 @@ msgstr ""
 "\n"
 "Erfolgreich gespeichert in:\n"
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 #, fuzzy
 msgid ""
 "\n"
@@ -3259,17 +2916,17 @@ msgstr ""
 "\n"
 "Erfolgreich gespeichert in:\n"
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
@@ -3277,74 +2934,74 @@ msgstr ""
 "\n"
 "nach:\n"
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr "Web Browser"
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr "Standard Brwoser"
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr "Angeben:"
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr "Durchsuchen"
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 msgid "Path"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 msgid "Use a file dialog to find the editor binary"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 #, fuzzy
 msgid "Autoconnect"
 msgstr "Neu Verbinden"
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 #, fuzzy
 msgid "Autoconnect on lobby start"
 msgstr "Verbinde zu Lobbyserver"
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3353,76 +3010,76 @@ msgid ""
 "Uncheck to disable."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 #, fuzzy
 msgid "Tooltips"
 msgstr "&Werkzeuge"
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 #, fuzzy
 msgid "Show Tooltips?"
 msgstr "Zeige Tooltips"
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
 "distance"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 #, fuzzy
 msgid "Match exact"
 msgstr "Exakte Übereinstimmung"
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr "Dichteste Übereinstimmung"
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 #, fuzzy
 msgid "Start tab"
 msgstr "Start Metall"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3435,7 +3092,7 @@ msgstr "Einen Browser (ausf
 msgid "Choose a editor browser executable"
 msgstr "Einen Browser (ausführbare Datei) auswählen."
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 #, fuzzy
 msgid "Disconnected from server, chat closed."
 msgstr "Unbekannte Antwort vom Server"
@@ -3444,128 +3101,112 @@ msgstr "Unbekannte Antwort vom Server"
 msgid "Battle list"
 msgstr "Schlachtenliste"
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr "Schlachtraum"
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr "Optionen"
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 #, fuzzy
 msgid "Unit Restrictions"
 msgstr "Einheitenbeschränkungen"
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr "Spring"
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr "P2P"
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr "Chat"
 
-#: src/mainoptionstab.cpp:75
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
+msgid "Restore"
+msgstr "Wiederherstellen"
+
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
+msgid "Apply"
+msgstr "Übernehmen"
+
+#: src/mainoptionstab.cpp:87
 #, fuzzy
 msgid "General"
 msgstr "Senegal"
 
-#: src/mainoptionstab.cpp:78
+#: src/mainoptionstab.cpp:90
 msgid "Groups"
 msgstr "Gruppen"
 
-#: src/mainoptionstab.cpp:80
-msgid "Restore"
-msgstr "Wiederherstellen"
-
-#: src/mainoptionstab.cpp:81
-msgid "Apply"
-msgstr "Übernehmen"
-
-#: src/mainsingleplayertab.cpp:41
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr "Spiel"
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr "Aktive Übertragungen: "
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr "Gesamt ausgehend: "
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr "Gesamt eingehend: "
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr "Unbekannt"
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr "Breche Download ab"
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr "Veröffentliche neue Datei:"
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr "Suche eine Datei"
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 #, fuzzy
 msgid "Download Lua widgets"
 msgstr "LuaUi Widgets einschalten"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr "nicht verfügbar"
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr "sende"
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr "sauge"
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr "in Warteschlange"
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr "Status: nicht verbunden"
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr "Status: verbunden"
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr "Status: gebremst oder angehalten (im Spiel)"
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr "Status: unbekannt"
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr "Gesamt ausgehend: %.2f KB/s"
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr "Gesamt eingehend: %.2f KB/s"
@@ -3574,293 +3215,307 @@ msgstr "Gesamt eingehend: %.2f KB/s"
 msgid "SpringLobby"
 msgstr "SpringLobby"
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr "&Verbinden..."
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr "&Trennen"
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 #, fuzzy
 msgid "&Save options"
 msgstr "UI Optionen"
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr "&Beenden"
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+#, fuzzy
+msgid "&Save Layout"
+msgstr "UI Optionen"
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr "&Channel beitreten..."
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 #, fuzzy
 msgid "Channel &list"
 msgstr "Rauminfo"
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr "Öffne privaten &Chat..."
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr ""
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr "&Maps/Mods neu laden"
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr "Auf neue Version prüfen"
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr "Spring Einstellungen"
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr "&Über uns"
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 #, fuzzy
 msgid "&Change language"
 msgstr "Raum Info"
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr "&Bug melden"
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr "&Dokumentation"
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr "&Datei"
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+#, fuzzy
+msgid "&View"
+msgstr "&Datei"
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr "&Werkzeuge"
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr "&Hilfe"
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 #, fuzzy
 msgid "Not connected"
 msgstr "Status: verbunden"
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr "Channel beitreten..."
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr "Name des Channels dem beigetreten wird"
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr "Öffne privaten Chat"
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr "Name des Benutzers"
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 "Die SpringLobby ist ein Cross-Plattform Lobby-Client für die RTS-Spring "
 "Spiele-Engine"
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 #, fuzzy
 msgid "No files found"
 msgstr "Keine Karten gefunden"
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr "Torrentsystem manuell %starten"
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr "Torrentsystem manuell %stoppen"
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr "Neustart erforderlich"
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr "Andordnungsverwalter"
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr "Gibt ein Profilname an"
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr "Welches Profil soll geladen werden?"
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 #, fuzzy
 msgid "Which profile do you want to be default?"
 msgstr "Welchen Benutzer willst du entfernen?"
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr "Mehrspieler"
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr "Einzelspieler"
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 #, fuzzy
 msgid "Savegames"
 msgstr "Speichern..."
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 msgid "Replays"
 msgstr "Aufzeichnungen der Spiele"
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 #, fuzzy
 msgid "Downloads"
 msgstr "Herunterladen"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr "Metall: %.1f%%"
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr "Aktualisieren"
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr "Herunterladen"
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr "Seite:"
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr "Bündnis: %d"
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr "Bonus: %d%%"
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 #, fuzzy
 msgid "Show"
 msgstr "Alle anzeigen"
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 #, fuzzy
 msgid "Filter"
 msgstr "Datei"
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 #, fuzzy
 msgid "Map details"
 msgstr "Max Metall"
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 #, fuzzy
 msgid "Start positions"
 msgstr "Startpositionen"
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 #, fuzzy
 msgid "Minimum wind"
 msgstr "Mindestrang benötigt"
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 #, fuzzy
 msgid "Average wind"
 msgstr "Durchschnittlich"
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 #, fuzzy
 msgid "Aspect ratio"
 msgstr "Zuschauer"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 #, fuzzy
 msgid "Number of start positions"
 msgstr "Startpositionen"
@@ -3903,20 +3558,20 @@ msgstr "Verbotene Einheiten"
 msgid "Map name"
 msgstr "Kartenname"
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 #, fuzzy
 msgid "Change option"
 msgstr "UI Optionen"
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr "s"
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr "l"
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr "r"
 
@@ -3986,34 +3641,34 @@ msgstr "Dateigr
 msgid "Filesize in kilobyte"
 msgstr "Dateigrösse (MB)"
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr "Datei"
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "Laden..."
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "Aufzeichnungen der Spiele"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "savegame"
 msgstr "Speichern..."
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 #, fuzzy
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr ""
@@ -4021,24 +3676,24 @@ msgstr ""
 " \n"
 " Online spielen wird deaktiviert."
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
 "version: %s\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -4047,18 +3702,18 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 #, fuzzy
 msgid "Invalid replay"
 msgstr "Ungültiger Port"
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr ""
 
@@ -4075,95 +3730,95 @@ msgstr ""
 msgid "Select Users"
 msgstr "Wähle Benutzer"
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 #, fuzzy
 msgid " is online"
 msgstr " Benutzer ist offline"
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr ""
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr "OnUserStatus() fehlgeschlagen ! (Ausnahme)"
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 #, fuzzy
 msgid " just went offline"
 msgstr " Benutzer ist offline"
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 #, fuzzy
 msgid " opened battle "
 msgstr " hat die "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr "Betreten des Channels fehlgeschlagen"
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr "Konnte dem Channel nicht beitreten "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr " weil: "
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr "Server Nachricht"
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr " hat die ip=%s"
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr " unterstützt kein NAT-Translation"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr "SIe wurden aus der Schlacht gekickt!"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr "Vom Host rausgeworfen"
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, fuzzy, c-format
 msgid "%s mutelist"
 msgstr "Schlachten Liste"
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr ""
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr "%d Minuten ausstehend"
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy
 msgid "Download update"
 msgstr "Download komplett"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -4174,71 +3829,71 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 #, fuzzy
 msgid "Negotiation error"
 msgstr "Benachrichtigung"
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 #, fuzzy
 msgid "Invalid Value"
 msgstr "Ungültige Zahl"
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 #, fuzzy
 msgid "No Handler"
 msgstr "Das ist doch keine Zahl.."
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 #, fuzzy
 msgid "File doesn't exit"
 msgstr "Die Map ist nicht verfügbar."
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "Gestartet"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 #, fuzzy
 msgid "Reconnection Error"
 msgstr "Neu Verbinden"
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 #, fuzzy
 msgid "Unknown Error"
 msgstr "Unbekannt"
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 #, fuzzy
 msgid "Download complete, location is: "
 msgstr "Download komplett"
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 #, fuzzy
 msgid "Download complete."
 msgstr "Download komplett"
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer. File location is: "
 msgstr "Konnte den Browser nicht laden. Die URL ist: "
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer."
 msgstr "Der Browser konnte nicht geladen werden."
@@ -4945,74 +4600,74 @@ msgid "Save Spring settings before exiting?"
 msgstr "Speichere Einstellungen vor dem Speichern?"
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr "Bestätigung benötigt"
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr "Spring Einstellungen (Experten-Modus)"
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr "Spring Einstellungen (Einfacher Modus)"
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr "Speichere Einstellungen"
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr "Resette die Einstellungen auf die Standard-Optionen"
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr "Deaktiviere Experten-Modus Warnung"
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr "Beenden"
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr "Einfach (wenig Optionen)"
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr "Experte (alle optionen)"
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr "Über"
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr "Kontakt"
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr "Mitwirkende"
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr "Einen Fehler melden"
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr "Modus"
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr "Information / Hilfe"
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr "Setze ALLE Optionen zurück?"
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr "Tipp"
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr "Spring Einstellungen (Experten-Modus)"
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -5037,7 +4692,7 @@ msgstr ""
 msgid "everyone reporting bugs/suggestions"
 msgstr ""
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5045,27 +4700,32 @@ msgid ""
 "please enable wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr "Kritischer Fehler"
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -5104,8 +4764,8 @@ msgstr "Pfad-Einstellungen"
 msgid "Choose an unitsync library"
 msgstr "Wähle eine unitsync-Library"
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr ""
 
@@ -5141,23 +4801,23 @@ msgstr "Sehr hoch"
 msgid "can't launch default browser"
 msgstr "Der Standard-Browser kann nicht gestartet werden"
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr "Konnte den Browser nicht laden. Die URL ist: "
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr "Der Browser konnte nicht geladen werden."
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr "Es konnte nicht auf die Einstellungen zugegriffen werden\n"
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr "Konnte nicht speichern, unitsync wurde nicht korrekt geladen"
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr "SpringSettings Fehler"
 
@@ -5165,11 +4825,11 @@ msgstr "SpringSettings Fehler"
 msgid "Audio Options"
 msgstr "Audio-Einstellungen"
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr "Bildschirmauflösung"
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
@@ -5177,31 +4837,31 @@ msgstr ""
 "Wenn eine option spezielle hardware braucht um zu funkionieren\n"
 "wird sie im Tooltip aufgeführt sein."
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr "Wasserqualität"
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr "Auflösung in Bit"
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr "Renderer Qualitätseinstellungen"
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr "Video-Modus Optionen"
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr "Anti-Aliasing Optionen"
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr ""
 
@@ -5291,95 +4951,71 @@ msgstr "Verschiedene UI-Optionen"
 msgid "Zoom"
 msgstr "Zoom"
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
 msgstr ""
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr "Bot hinzufügen..."
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 #, fuzzy
 msgid "Spectate only"
 msgstr "Zuschauer"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 #, fuzzy
 msgid "Random start positions"
 msgstr "Startpositionen"
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr "-- Wähle einen aus --"
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr ""
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr "Sie müssen zuerst eine Karte auswählen"
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
 " "
 msgstr ""
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr "Kein Bot hinzugefügt"
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr ""
 "Sie können kein Spring starten, während ein anderer Spring Prozess schon "
 "läuft."
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
-msgstr "Hi "
-
-#: src/springlobbyapp.cpp:168
-msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
-"\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
-msgstr "Willkommen"
-
-#: src/springlobbyapp.cpp:172
+#: src/springlobbyapp.cpp:183
 msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
-msgstr ""
-
-#: src/springlobbyapp.cpp:172
-#, fuzzy
-msgid "Notice"
-msgstr "Keine"
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
+"\n"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:188
+#: src/springlobbyapp.cpp:183
 #, fuzzy
-msgid "Import settings?"
-msgstr "Pfad-Einstellungen"
+msgid "Fatal error"
+msgstr "Kritischer Fehler"
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5387,69 +5023,77 @@ msgid ""
 "please get a wxWidgets library that supports wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 #, fuzzy
 msgid "Ignore chat"
 msgstr "Öffne Chat"
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 #, fuzzy
 msgid "Battle Autokick"
 msgstr "/kick"
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 #, fuzzy
 msgid "Friends"
 msgstr "Finde"
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr "Ort"
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr "Finde"
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr "UnitSync Bibliothek"
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr "Automatisch konfigurieren"
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr "Die Spring Anwendung auswählen"
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr "Bibliothek"
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5479,7 +5123,7 @@ msgstr ""
 "Beim erstellen eines Ordners trat ein Fehler auf\n"
 "Bitte erstellen sie Manuell folgenden Ordner:"
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr "Verbindung wegen Zeitüberschreitung geschlossen"
 
@@ -5501,44 +5145,45 @@ msgstr ""
 msgid " , column "
 msgstr ""
 
-#: src/torrentlistctrl.cpp:44
-msgid "Numcopies"
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:48
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
 #, fuzzy
-msgid "MB downloaded"
-msgstr "MB hochgeladen"
-
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
-msgstr "MB hochgeladen"
+msgid "Cancel torrent"
+msgstr "Pausiere alle Torrents"
 
-#: src/torrentlistctrl.cpp:56
+#: src/torrentlistctrl.cpp:173
 #, fuzzy
-msgid "Status"
-msgstr "Status:"
+msgid "Retry torrent"
+msgstr "Wiederherstellen"
 
-#: src/torrentlistctrl.cpp:60
-#, c-format
-msgid "% complete"
-msgstr "% complete"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
+msgstr ""
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
-msgstr "KB/s up"
+#: src/torrentlistctrl.cpp:264
+#, fuzzy
+msgid "not found"
+msgstr "Keine Karten gefunden"
+
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
+msgstr "in Warteschlange"
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
-msgstr "KB/s down"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
+msgstr "sauge"
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
-msgstr "ETA (s)"
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "% complete"
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
-msgstr "Dateigrösse (MB)"
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
+msgstr "sende"
 
 #: src/torrentoptionspanel.cpp:37
 msgid "Torrent system autostart"
@@ -5606,11 +5251,11 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr ""
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr "Server Passwort"
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
@@ -5618,47 +5263,39 @@ msgstr ""
 "Registrierung war erfolgreich,\n"
 "du solltest dich jetzt einloggen können."
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr "Registrierung erfolgreich"
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr "Registrierung fehlgeschlafen. Grund:\n"
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-"\n"
-"Browser Pfad ist: "
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr "Hilfe Fehler"
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr "Tippe /help in einem Chatraum."
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr "SpringLobby Kommando Hilfe."
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr "Globale Kommandos:"
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr "  \"/away\" - Setzt deine Status auf abwesend."
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr "  \"/back\" - Setzt deinen Abwesenheits Status zurück."
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
@@ -5666,17 +5303,17 @@ msgstr ""
 "  \"/changepassword altespasswort neuespasswort\" - Ändert das Passwort des "
 "momentan aktiven Accounts."
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr "  \"/channels\" - Zeigt momentan aktive Chaträume an."
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
 msgstr "  \"/help [topic]\" - Zeigt Informationen zum Thema \"topic\" an.."
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 #, fuzzy
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
@@ -5684,17 +5321,17 @@ msgstr ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Einem Chatraum "
 "beitreten."
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr "  \"/j\" - Alias für /join."
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 #, fuzzy
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr ""
 "  \"/ingame\" - Zeigt an wieviel zeit du schon im Spiel verbracht hast."
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 #, fuzzy
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
@@ -5703,48 +5340,48 @@ msgstr ""
 "  \"/msg benurtzername [text]\" - sendet eine private Nachricht mit text als "
 "Inhalt an benutzername."
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 #, fuzzy
 msgid "  \"/part\" - Leaves current channel."
 msgstr "  \"/channels\" - Zeigt momentan aktive Chaträume an."
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 #, fuzzy
 msgid "  \"/p\" - Alias to /part."
 msgstr "  \"/j\" - Alias für /join."
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr "  \"/rename newalias\" - Ändert deinen Benutzernamen zu newalias."
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 #, fuzzy
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr "  \"/sayver\" - Meldet deine SpringLobby Version im Chatraum."
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr ""
 "  \"/testmd5 text\" - Gibt einen md5-b64 Hash des gegeben Textes zurück."
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 #, fuzzy
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr "  \"/ver\" - Zeigt dir deine Springlobby Version an."
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr "Chat Kommandos:"
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr "  \"/me action\" - Gibt Aktionsnachricht im IRC Stil aus.."
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
@@ -5752,19 +5389,19 @@ msgstr ""
 "Wenn du irgendein Kommando vermisst, versuche es in #springlobby "
 "einzutippen :)"
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr "Keine Themen bisher."
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr "Das Thema \""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr "\" nicht gefunden. Tippe \"/help topics\" nur für vorhandene Themen."
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 #, fuzzy
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
@@ -5775,57 +5412,57 @@ msgstr ""
 " \n"
 " Online spielen wird deaktiviert."
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 msgstr ""
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 #, fuzzy
 msgid "Online play is currently disabled."
 msgstr "Online spielen wird deaktiviert."
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 #, fuzzy
 msgid "Disconnected from server."
 msgstr "Unbekannte Antwort vom Server"
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 #, fuzzy
 msgid "Connection failure"
 msgstr "Verbindung wegen Zeitüberschreitung geschlossen"
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr ""
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr "(%d Benutzer)"
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr "Server Nachricht"
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr "Die aktuelle Schlacht wurde vom Host geschlossen."
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr "Schlacht geschlossen"
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
@@ -5835,15 +5472,15 @@ msgstr ""
 " du solltest sie nochmal überprüfen,\n"
 " bevor du versuchst online zu spielen."
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr "Spring settings Fehler"
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5851,26 +5488,65 @@ msgid ""
 "download finished"
 msgstr ""
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr ""
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr "Hi "
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr "Willkommen"
+
+#: src/ui.cpp:1242
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid "Notice"
+msgstr "Keine"
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+#, fuzzy
+msgid "Import settings?"
+msgstr "Pfad-Einstellungen"
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr "Ihre Version: "
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr "Neuste Version: "
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
@@ -5878,7 +5554,7 @@ msgstr ""
 "Ihre SpringLobby Version ist nicht auf dem neusten Stand.\n"
 "\n"
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid ""
 "\n"
 "\n"
@@ -5886,53 +5562,49 @@ msgid ""
 "effect next you launch the lobby again."
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 #, fuzzy
 msgid "Not up to date"
 msgstr "Nicht auf dem neusten Stand"
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr "Nicht auf dem neusten Stand"
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
 msgstr ""
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 msgid ""
 "There was an error downloading for the latest version.\n"
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
+#: src/updater/updater.cpp:92
 #, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr ""
 
@@ -6059,16 +5731,16 @@ msgstr "Veteran"
 msgid "Unknown"
 msgstr "Unbekannt"
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr ""
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 #, fuzzy
 msgid "Add to group..."
 msgstr "Bot hinzufügen..."
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 #, fuzzy
 msgid "Remove from group"
 msgstr "Benutzer entfernen"
@@ -6150,6 +5822,240 @@ msgstr ""
 #~ msgid "cpu"
 #~ msgstr "CPU"
 
+#~ msgid "Copy"
+#~ msgstr "Kopieren"
+
+#~ msgid "Clear"
+#~ msgstr "Reset"
+
+#~ msgid "Auto join this channel"
+#~ msgstr "Automatisch diesen Channel betreten"
+
+#~ msgid "Display Join/Leave Messages"
+#~ msgstr "Zeige Betreten/Verlassen Meldungen"
+
+#, fuzzy
+#~ msgid "Show mute list"
+#~ msgstr "Zeige Tooltips"
+
+#~ msgid "Channel info"
+#~ msgstr "Raum Info"
+
+#~ msgid "Set topic..."
+#~ msgstr "Setze Thema..."
+
+#~ msgid "Channel message..."
+#~ msgstr "Raum Nachricht..."
+
+#~ msgid "Lock..."
+#~ msgstr "Sperren..."
+
+#~ msgid "Unlock"
+#~ msgstr "Entsperren"
+
+#~ msgid "Register..."
+#~ msgstr "Registrieren..."
+
+#~ msgid "Unregister"
+#~ msgstr "Entregistrieren"
+
+#~ msgid "On"
+#~ msgstr "An"
+
+#~ msgid "Off"
+#~ msgstr "Aus"
+
+#~ msgid "Is on?"
+#~ msgstr "Ist an?"
+
+#~ msgid "Spam protection"
+#~ msgstr "Spamschutz"
+
+#~ msgid "ChanServ"
+#~ msgstr "ChanServ"
+
+#~ msgid "Disconnect"
+#~ msgstr "Trennen"
+
+#~ msgid "Remove..."
+#~ msgstr "Entfernen..."
+
+#~ msgid "Change password..."
+#~ msgstr "Passwort ändern..."
+
+#~ msgid "Set access..."
+#~ msgstr "Setzte Zugriff..."
+
+#~ msgid "Accounts"
+#~ msgstr "Konten"
+
+#~ msgid "Broadcast..."
+#~ msgstr "Broadcast..."
+
+#~ msgid "Admin"
+#~ msgstr "Admin"
+
+#, fuzzy
+#~ msgid "User"
+#~ msgstr "Benutzer muten"
+
+#~ msgid "Open Chat"
+#~ msgstr "Öffne Chat"
+
+#~ msgid "Join same battle"
+#~ msgstr "Betrete gleiche Schlacht"
+
+#~ msgid "Ingame time"
+#~ msgstr "Spielinterne Zeit"
+
+#~ msgid "Retrieve IP and Smurfs"
+#~ msgstr "IP Adressen und Smurfs anzeigen"
+
+#~ msgid "Mute..."
+#~ msgstr "Muten..."
+
+#~ msgid "Mute for 5 minutes"
+#~ msgstr "Für 5 Minuten muten"
+
+#~ msgid "Mute for 10 minutes"
+#~ msgstr "Für 10 Minuten muten"
+
+#~ msgid "Mute for 30 minutes"
+#~ msgstr "Für 30 Minuten muten"
+
+#~ msgid "Mute for 2 hours"
+#~ msgstr "Für 2 Stunden muten"
+
+#~ msgid "Mute for 1 day"
+#~ msgstr "Für einen Tag muten"
+
+#~ msgid "Unmute"
+#~ msgstr "Entmuten"
+
+#~ msgid "Mute"
+#~ msgstr "Mute"
+
+#~ msgid "Kick..."
+#~ msgstr "Kicken..."
+
+#~ msgid "Ban..."
+#~ msgstr "Bannen..."
+
+#~ msgid "Unban"
+#~ msgstr "Entbannen..."
+
+#~ msgid "Slap!"
+#~ msgstr "Slap!"
+
+#~ msgid "Op"
+#~ msgstr "OP"
+
+#~ msgid "DeOp"
+#~ msgstr "EntOPen"
+
+#~ msgid "ChanServ error"
+#~ msgstr "ChanServ Fehler"
+
+#~ msgid "ChanServ is not in this channel."
+#~ msgstr "ChanServ ist nicht in diesem Raum."
+
+#~ msgid "What should be the new topic?"
+#~ msgstr "Wie soll das neue Thema lauten?"
+
+#~ msgid "Message:"
+#~ msgstr "Nachricht:"
+
+#~ msgid "Lock channel..."
+#~ msgstr "Raum sperren..."
+
+#~ msgid "What should the new password be?"
+#~ msgstr "Wie soll das neue Passwort sein?"
+
+#~ msgid "Unlock Channel"
+#~ msgstr "Raum entsprerren"
+
+#~ msgid "Are you sure you want to unlock this channel?"
+#~ msgstr "Bist du sicher, dass du diesen Raum entsperren willst?"
+
+#~ msgid "ChanServ is not on this server."
+#~ msgstr "ChanServ existiert nicht auf diesem Server."
+
+#~ msgid "Register Channel"
+#~ msgstr "Raum registrieren"
+
+#~ msgid "Who should be appointed founder of this channel?"
+#~ msgstr "Wer soll der eingetragene Besitzer für diesen Raum sein?"
+
+#~ msgid "Unregister Channel"
+#~ msgstr "Raum deregistrieren"
+
+#~ msgid "Are you sure you want to unregister this channel?"
+#~ msgstr "Bist du dir sicher, dass du diesen Raum deregistrieren willst?"
+
+#~ msgid "Remove User Acount"
+#~ msgstr "Benutzer entfernen"
+
+#~ msgid "What user account do you want to remove today?"
+#~ msgstr "Welchen Benutzer willst du entfernen?"
+
+#~ msgid "Remove Account"
+#~ msgstr "Benutzer entfernen"
+
+#~ msgid "Are you sure you want to remove the account "
+#~ msgstr "Bist du dir sicher, dass du diesen Benutzer entfernen willst? "
+
+#~ msgid "Change User Acount Password"
+#~ msgstr "Ändere Benutzerpasswort"
+
+#~ msgid "What user account do you want to change the password for?"
+#~ msgstr "Wessen Benutzerpasswort willst du ändern?"
+
+#~ msgid "What would be the new password?"
+#~ msgstr "Wie soll das neue Passwort lauten?"
+
+#~ msgid "Not Implemented"
+#~ msgstr "Nicht Implementiert"
+
+#~ msgid "Broadcast Message"
+#~ msgstr "Broadcast Nachricht"
+
+#~ msgid "Message to be broadcasted:"
+#~ msgstr "Nachricht die gebroadcasted werden soll:"
+
+#~ msgid "You don't have the mod "
+#~ msgstr "Du hast nicht den benötigten Mod "
+
+#~ msgid " . Please download it first"
+#~ msgstr " . Bitte downloade ihn zuerst"
+
+#~ msgid "This battle is password protected, enter the password."
+#~ msgstr "Diese Schlacht ist mit passwortgeschützt. Gib das Passwort ein."
+
+#~ msgid "Mute User"
+#~ msgstr "Benutzer muten"
+
+#~ msgid "For how many minutes should the user be muted?"
+#~ msgstr "Für wieviele Minuten soll der Benutzer gemutet werden?"
+
+#~ msgid "Kick User"
+#~ msgstr "Benutzer rauswerfen"
+
+#~ msgid "Reason:"
+#~ msgstr "Grund:"
+
+#~ msgid "Kick user"
+#~ msgstr "Benutzer kicken"
+
+#~ msgid "Mute user"
+#~ msgstr "Benutzer stummschalten"
+
+#~ msgid "Duration:"
+#~ msgstr "Dauer:"
+
+#, fuzzy
+#~ msgid "couldn't add user"
+#~ msgstr "Der Browser konnte nicht geladen werden."
+
 #~ msgid "Test firewall"
 #~ msgstr "Port testen"
 
@@ -6169,6 +6075,9 @@ msgstr ""
 #~ msgid "Tab icons"
 #~ msgstr "Karten Optionen"
 
+#~ msgid "not available"
+#~ msgstr "nicht verfügbar"
+
 #, fuzzy
 #~ msgid "Chose in game"
 #~ msgstr "Im Spiel wählbar"
@@ -6192,6 +6101,32 @@ msgstr ""
 #~ msgstr "Spieler:"
 
 #, fuzzy
+#~ msgid "MB downloaded"
+#~ msgstr "MB hochgeladen"
+
+#~ msgid "MB uploaded"
+#~ msgstr "MB hochgeladen"
+
+#~ msgid "KB/s up"
+#~ msgstr "KB/s up"
+
+#~ msgid "KB/s down"
+#~ msgstr "KB/s down"
+
+#~ msgid "ETA (s)"
+#~ msgstr "ETA (s)"
+
+#~ msgid "Filesize (MB)"
+#~ msgstr "Dateigrösse (MB)"
+
+#~ msgid ""
+#~ "\n"
+#~ "Broser path is: "
+#~ msgstr ""
+#~ "\n"
+#~ "Browser Pfad ist: "
+
+#, fuzzy
 #~ msgid "Choose color"
 #~ msgstr "Farbe setzen"
 
diff --git a/po/el.gmo b/po/el.gmo
index 03b6a3d..6f28026 100644
Binary files a/po/el.gmo and b/po/el.gmo differ
diff --git a/po/el.po b/po/el.po
index 249a3f2..b156d53 100644
--- a/po/el.po
+++ b/po/el.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the springlobby package.
 # Antonis Kanouras <antonis at metadosis.gr>, 2008.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: springlobby\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2008-08-31 17:39+0000\n"
 "Last-Translator: Antonis Kanouras <antonis at metadosis.gr>\n"
 "Language-Team: Greek <el at li.org>\n"
@@ -51,8 +51,8 @@ msgid "value"
 msgstr "Τιμή"
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "Ακύρωση"
 
@@ -105,7 +105,7 @@ msgstr "Τυχαίο"
 msgid "Clans"
 msgstr "Ομάδες"
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "Καθόλου"
 
@@ -144,46 +144,46 @@ msgstr "Αριθμός παικτών"
 msgid "Auto select"
 msgstr "Επανασύνδεση"
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "Εντάξει"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "Περιγραφή"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "Χάρτης"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr "Mod"
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "Οικοδεσπότης"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "Θεατές:"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 #, fuzzy
 msgid "Players"
 msgstr "Παίκτες:"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "Χάρτης"
@@ -196,11 +196,11 @@ msgstr "Κατέβασμα χάρτη"
 msgid "Download m&od"
 msgstr "Κατέβασμα mod"
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "Θεατές:"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 #, fuzzy
 msgid "Active Players:"
 msgstr "Παίκτες:"
@@ -255,8 +255,8 @@ msgid "All"
 msgstr "Όλα"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "Χάρτης:"
 
@@ -269,8 +269,8 @@ msgid "Max.Player:"
 msgstr "Μεγ. Παίκτες:"
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr "Mod:"
 
@@ -282,15 +282,15 @@ msgstr "Μόνο mod που έχω"
 msgid "    Spectator:"
 msgstr "    Θεατές:"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr "%d"
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "Παίκτες:"
 
@@ -321,53 +321,53 @@ msgstr "Φιλοξενία νέου..."
 msgid "Join"
 msgstr "Συμμετοχή"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, c-format
 msgid "%d battles displayed"
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 "Δεν μπορείτε να φιλοξενήσετε παιχνίδι εκτός σύνδεσης. Παρακαλώ συνδεθείτε "
 "στο lobby."
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr "Εκτός Σύνδεσης."
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr "Η φιλοξενία έχει απενεργοποιηθεί λόγω ασυμβατότητας έκδοσης"
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr "Πρόβλημα του Spring"
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
 msgstr ""
 "Το Spring τρέχει ήδη, παρακαλώ κλείστε το για να φιλοξενήσετε νέο παιχνίδι"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr "Ήδη σε μάχη"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
 "Do you want to leave current battle to start a new?"
 msgstr "Είστε ήδη σε μάχη."
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
@@ -377,7 +377,7 @@ msgstr ""
 " Ο έλεγχος τείχους προστασίας δεν υποστηρίζεται.\n"
 " Η φιλοξενία παιχνιδιών μπορεί να μην δουλεύει."
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
@@ -387,7 +387,7 @@ msgstr ""
 "προσπελάσιμος.\n"
 "Η φιλοξενία παιχνιδιών μπορεί να μην δουλεύει με αυτή την ρύθμιση."
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -405,15 +405,15 @@ msgstr ""
 "\n"
 "Αν αποτύχουν όλα, ενεργοποιήστε τη Διάτρηση NAT στις ρυθμίσεις φιλοξενίας."
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr "Η μάχη δεν ξεκίνησε επειδή το mod που επιλέξατε δεν βρέθηκε. "
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr "Πρόβλημα στην εκκίνηση μάχης."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
@@ -421,11 +421,11 @@ msgstr ""
 "Δεν βρέθηκαν χάρτες στην εγκατάστασή σας. Αυτό μπορεί να συμβεί όταν είναι "
 "λάθος οι ρυθμίσεις του Spring."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "Δεν βρέθηκαν χάρτες"
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
@@ -433,12 +433,12 @@ msgstr ""
 "Η συμμετοχή σε μάχες έχει απενεργοποιηθεί επειδή χρησιμοποιείτε ασύμβατη "
 "έκδοση του Spring."
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid "Already in this battle"
 msgstr "Ήδη σε μάχη"
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid ""
 "You are already in this battle.\n"
@@ -446,12 +446,12 @@ msgid ""
 "Do you want to leave it?"
 msgstr "Είστε ήδη σε μάχη."
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid "Already in another battle"
 msgstr "Ήδη σε μάχη"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid ""
 "You are already in a battle.\n"
@@ -462,18 +462,18 @@ msgstr ""
 "\n"
 "Θέλετε να εγκαταλείψετε την τρέχουσα μάχη και να συμμετάσχετε στην νέα;"
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
 msgstr ""
 "Το Spring τρέχει ήδη, παρακαλώ κλείστε το για να συμμετάσχετε σε άλλη μάχη."
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr "Θέλετε να ανοίξω την σελίδα λήψεων;"
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 #, fuzzy
 msgid ""
 "Should i try to download it for you?\n"
@@ -482,7 +482,7 @@ msgstr ""
 "Θέλετε να δοκιμάσω να το κατεβάσω για εσάς;\n"
 "Μπορείτε να δείτε την εξέλιξη στην καρτέλα \"Διαχειριστής Λήψεων.\""
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
@@ -490,11 +490,11 @@ msgstr ""
 "Πρέπει να κατεβάσετε το mod πριν να συμμετάσχετε σε αυτό το παιχνίδι.\n"
 "\n"
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr "Το mod δεν είναι διαθέσιμο"
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
@@ -502,15 +502,15 @@ msgstr ""
 "Πρέπει να κατεβάσετε τον χάρτη πριν να συμμετάσχετε σε αυτό το παιχνίδι.\n"
 "\n"
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr "Ο χάρτης δεν είναι διαθέσιμος"
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr "Κωδικός μάχης"
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr "Εισάγετε κωδικό"
 
@@ -520,45 +520,45 @@ msgid "Select"
 msgstr "Επιλογή..."
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr "Επιλογή"
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr "Τιμή"
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr "Μέγεθος"
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr "Ταχύτητα ανέμου"
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr "Δύναμη κυμάτων"
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr "Βαρύτητα"
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr "Ακτίνα εξαγωγέων"
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr "Μεγ. μέταλλο"
 
@@ -580,267 +580,267 @@ msgstr "Επιλ. στο παιχνίδι"
 msgid "Startpositions"
 msgstr "Αρχικές θέσεις"
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr "Περιορισμοί μονάδων"
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr "Επιτρεπτές μονάδες"
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr "Οι μονάδες αυτής της λίστας θα είναι διαθέσιμες στο παιχνίδι."
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 #, fuzzy
 msgid "Disable selected units."
 msgstr "Ενεργοποίηση όλων των μονάδων."
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 #, fuzzy
 msgid "Re-enable selected units."
 msgstr "Ενεργοποίηση όλων των μονάδων."
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr ""
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr "Ενεργοποίηση όλων των μονάδων."
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr "Περιορισμένες μονάδες"
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr "Οι μονάδες αυτής της λίστας δεν θα είναι διαθέσιμες στο παιχνίδι."
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 #, fuzzy
 msgid "Unit restriction"
 msgstr "Περιορισμοί μονάδων"
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr "Ψευδώνυμο"
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr "Ομάδα"
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr "Συμμαχία"
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr "Επίδομα Πόρων"
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr "Πλευρά"
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr "Ορισμός χρώματος"
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr "Ορισμός Επιδόματος Πόρων"
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr "Θεατής"
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr "Αποπομπή"
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr "Κλήση"
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr "Παρακαλώ εισάγετε μια τιμή από 0 εώς 100"
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 #, fuzzy
 msgid "AI (bot)\n"
 msgstr "Προσθήκη bot"
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 #, fuzzy
 msgid "Human\n"
 msgstr "Ομάν"
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 #, fuzzy
 msgid "Spectator\n"
 msgstr "Θεατής"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 #, fuzzy
 msgid "Player\n"
 msgstr "Παίκτες:"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 #, fuzzy
 msgid "Host\n"
 msgstr "Οικοδεσπότης"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 #, fuzzy
 msgid "Client\n"
 msgstr "Πελάτης"
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 #, fuzzy
 msgid "Ready\n"
 msgstr "Πάντα"
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 #, fuzzy
 msgid "Not ready\n"
 msgstr "Δεν είναι έτοιμο"
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 #, fuzzy
 msgid "In sync"
 msgstr "Ενεργοποίηση κάθετου συγχρονισμού"
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 #, fuzzy
 msgid "Set name."
 msgstr "Ορισμός πρόσβασης..."
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr "Φόρτωση..."
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 #, fuzzy
 msgid "Load a saved set of options."
 msgstr "Φόρτωση αποθηκευμένης λίστας περιορισμών"
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 #, fuzzy
 msgid "Save..."
 msgstr "Αποθήκευση..."
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 #, fuzzy
 msgid "Save a set of options."
 msgstr "Αποθήκευση λίστας περιορισμών."
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 #, fuzzy
 msgid "Delete..."
 msgstr "Επιλογή..."
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 #, fuzzy
 msgid "Delete a set of options."
 msgstr "Αποθήκευση λίστας περιορισμών."
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 #, fuzzy
 msgid "Set default..."
 msgstr "προεπιλογή"
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 msgid "Mod Options"
 msgstr "Επιλογές Mod"
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr "Επιλογές Χάρτη"
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 #, fuzzy
 msgid "no options available"
 msgstr "μη διαθέσιμο"
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr "σφάλμα"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 #, fuzzy
 msgid "Delete preset"
 msgstr "Με ανάκλαση"
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 #, fuzzy
 msgid "Set mod default preset"
 msgstr "προεπιλογή"
@@ -888,7 +888,7 @@ msgstr ""
 "Προεπισκόπηση του επιλεγμένου χάρτη. Διακρίνετε τις αρχικές θέσεις ή (αν "
 "έχουν ρυθμιστεί) τις αρχικές περιοχές."
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr "Αποχώρηση"
 
@@ -896,7 +896,7 @@ msgstr "Αποχώρηση"
 msgid "Leave the battle and return to the battle list"
 msgstr "Αποχώρηση από τη μάχη και επιστροφή στη λίστα μαχών"
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr "Έναρξη"
 
@@ -1084,7 +1084,7 @@ msgstr ""
 msgid "Save"
 msgstr "Αποθήκευση..."
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 #, fuzzy
 msgid "Delete"
 msgstr "Με ανάκλαση"
@@ -1165,7 +1165,7 @@ msgstr ""
 msgid "Find channel:"
 msgstr "Είσοδος σε κανάλι..."
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 #, fuzzy
 msgid "Choose channels to join"
 msgstr "Όνομα καναλιού"
@@ -1237,67 +1237,64 @@ msgstr ""
 "Αδύνατο το άνοιγμα του αρχείου καταγραφής. \n"
 "Βεβαιωθείτε ότι δεν υπάρχει προστασία εγγραφής.\n"
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr "Χρώματα και γραμματοσειρά"
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr "Χρήση χρωμάτων συστήματος"
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr "Κανονικό"
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr "Φόντο"
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr "Ενέργεια"
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr "Επισήμανση"
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr "Είσοδος/Έξοδος"
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr "Τα μηνύματά μου"
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr "Εξυπηρετητής"
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr "Πελάτης"
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr "Σφάλμα"
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr "Χρονόσημο"
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr "Ειδοποίηση"
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 #, fuzzy
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
@@ -1315,329 +1312,139 @@ msgstr ""
 "[22:46] <Dude2> Θα μπορούσαν να είναι καλύτερα, πρέπει να τα πειράξω λίγο "
 "ακόμα...\n"
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr "Γραμματοσειρά:"
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr "προεπιλογή"
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr "Επιλογή..."
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr "Συμπεριφορά"
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr "Χρήση ήχων ειδοποίησης"
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr "Καταγραφές συνομιλιών"
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr "Αποθήκευση καταγραφών συνομιλιών"
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr "Επισήμανση λέξεων"
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr "Λέξεις προς επισήμανση σε συνομιλίες:"
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr "Εισάγετε λίστα χωρισμένη με \";\""
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr "Επιπλέον χρήση ήχων/αναβόσβημα τίτλου παραθύρου "
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr "κανάλι_"
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr "#"
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, fuzzy, c-format
 msgid "%d users"
 msgstr "(%d χρήστες)"
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr "κάνετε δεξί κλικ για επιλογές (όπως αυτόματη είσοδος)"
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr "Αποστολή"
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr ""
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr "Αντιγραφή"
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-msgid "Clear"
-msgstr "Εκκαθάριση"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr "Αυτόματη είσοδος σε αυτό το κανάλι"
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr "Εμφάνιση μηνυμάτων Εισόδου/Εξόδου"
-
-#: src/chatpanel.cpp:433
-#, fuzzy
-msgid "Show mute list"
-msgstr "Εμφάνιση συμβουλών"
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr "Πληροφορίες καναλιού"
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr "Ορισμός θέματος..."
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr "Μήνυμα καναλιού..."
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr "Κλείδωμα..."
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr "Ξεκλείδωμα"
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr "Εγγραφή..."
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr "Διαγραφή"
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr "Ανοιχτό"
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr "Κλειστό"
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr "Είναι ανοιχτό;"
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr "Προστασία από ανεπιθύμητα μηνύματα"
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr "ChanServ"
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr "Αποσύνδεση"
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr "Επανασύνδεση"
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr "Αφαίρεση..."
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr "Αλλαγή κωδικού..."
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr "Ορισμός πρόσβασης..."
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr "Λογαριασμοί"
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr "Μετάδοση..."
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr "Διαχειριστής"
-
-#: src/chatpanel.cpp:510
-#, fuzzy
-msgid "User"
-msgstr "Αποσιώπηση Χρήστη"
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr "Ανοιχτή Συνομιλία"
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr "Σύνδεση στην ίδια μάχη"
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr "Χρόνος παιχνιδιού"
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr "Εύρεση διεύθυνσης IP και Smurf"
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr "Αποσιώπηση..."
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr "Αποσιώπηση για 5 λεπτά"
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr "Αποσιώπηση για 10 λεπτά"
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr "Αποσιώπηση για 30 λεπτά"
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr "Αποσιώπηση για 2 ώρες"
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr "Αποσιώπηση για 1 ημέρα"
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr "Αναίρεση αποσιώπησης"
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr "Αποσιώπηση"
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr "Αποπομπή..."
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr "Αποκλεισμός..."
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr "Άρση αποκλεισμού"
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr "Δώσε μπάτσα!"
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr "Κάνε διαχειριστή"
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr "Άρση δικαιώματος διαχείρησης"
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr " !! Εντολή: \""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr "\" παράμετροι: \""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr "κανάλι"
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr "μάχη"
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr "εξυπηρετητής"
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr " εισήλθε στο "
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr " εξήλθε από το "
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 #, fuzzy
 msgid " ** Channel topic:"
 msgstr "Πληροφορίες καναλιού"
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 #, fuzzy
 msgid " ** Set by "
 msgstr ""
 "\n"
 " * Ορίστηκε από "
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr "Η συνομιλία έκλεισε."
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr "Είστε βέβαιος ότι θέλετε να κάνετε επικόλληση %d γραμμών;"
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr "Προειδοποίηση πλημμύρας"
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr " Χρησιμοποιείτε το SpringLobby v"
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr " Δεν είστε σε κανάλι ή το κανάλι δεν υπάρχει."
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
@@ -1646,7 +1453,7 @@ msgstr ""
 " Σφάλμα: Η εντολή (%s) δεν υπάρχει. Πληκτρολογήστε /help για μια λίστα των "
 "διαθέσιμων εντολών."
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
@@ -1654,173 +1461,23 @@ msgstr ""
 " Δεν είστε σε μάχη ή η μάχη δεν υπάρχει. Πληκρτολογήστε /help για μια λίστα "
 "των διαθέσιμων εντολών."
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr " Ο χρήστης είναι εκτός σύνδεσης."
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr " Στάλθηκε: \""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr "\""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr "Σφάλμα ChanServ"
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr "Το ChanServ δεν είναι σε αυτό το κανάλι"
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr "Ποιο πρέπει να είναι το νέο θέμα;"
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr "Μήνυμα:"
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr "Κλείδωμα καναλιού..."
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr "Ποιος πρέπει να είναι ο νέος κωδικός;"
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr "Ξεκλείδωμα Καναλιού"
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr "Επιβεβαίωση ξεκλειδώματος του καναλιού;"
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr "Το ChanServ δεν είναι σε αυτό τον εξυπηρετητή."
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr "Δήλωση Καναλιού"
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr "Ποιος πρέπει να δηλωθεί ως δημιουργός του καναλιού;"
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr "Διαγραφή Καναλιού"
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr "Επιβεβαίωση διαγραφής του καναλιού;"
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr "Διαγραφή Λογαριασμού Χρήστη"
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr "Ποιον λογαριασμό χρήστη θέλετε να διαγράψετε σήμερα;"
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr "Διαγραφή λογαριασμού"
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr "Επιβεβαίωση διαγραφής λογαριασμού "
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr "Αλλαγή Κωδικού Λογαριασμού Χρήστη"
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr "Για ποιον λογαριασμό θέλετε να αλλάξετε τον κωδικό;"
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr "Ποιος θα είναι ο νέος κωδικός;"
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr "Δεν έχει υλοποιηθεί"
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr "Μετάδοση Μηνύματος"
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr "Μήνυμα προς μετάδοση:"
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr "Δεν έχετε το mod "
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr " . Παρακαλώ κατεβάστε το πρώτα"
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr "Mod μη διαθέσιμο"
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr ""
-"Αυτή η μάχη είναι προστατευμένη με κωδικό, παρακαλώ εισάγετε τον κωδικό:"
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr "Αποσιώπηση Χρήστη"
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr "Πόσα λεπτά να διαρκέσει η αποσιώπηση του χρήστη;"
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr "Αποπομπή Χρήστη"
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr "Αιτία:"
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr "Αποπομπή χρήστη"
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr "Αποσιώπηση χρήστη"
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr "Διάρκεια:"
-
-#: src/chatpanel.cpp:1797
-#, fuzzy
-msgid "couldn't add user"
-msgstr "Αδυναμία εκκίνησης περιηγητή."
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr "Σύνδεση στον εξυπηρετητή lobby"
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
@@ -1828,20 +1485,20 @@ msgstr ""
 "Εξυπηρετητής στον οποίο θα γίνει σύνδεση. Μπορείτε να συνδεθείτε σε όποιον "
 "εξυπηρετητή θέλετε δηλώνοντας τον στη μορφή \"εξυπηρετητής:θύρα\""
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr "Κωδικός πρόσβασης"
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr "Αποθήκευση κωδικού πρόσβασης"
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr "Αυτόματη σύνδεση την επόμενη φορά"
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
@@ -1849,37 +1506,38 @@ msgstr ""
 "Αποθήκευση των στοιχείων σύνδεσης και αυτόματη σύνδεση στον εξυπηρετητή κατά "
 "την επόμενη εκκίνηση του lobby"
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
+#, fuzzy
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 "Σημείωση: Αν δεν έχετε λογαριασμό,\n"
 "μπορείτε να εγγραφείτε δωρεάν στην\n"
 "καρτέλα \"Εγγραφή\""
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr "Είσοδος"
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr "Εγγραφή"
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr "Ψευδώνυμο"
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr "Μη έγκυρη θύρα."
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr "Μη έγκυρη θύρα"
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
@@ -1889,26 +1547,26 @@ msgstr ""
 "\n"
 "Πρέπει να είναι ακέραιος από 1 εως 65535"
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr "Μη έγκυρος εξυπηρετητής/θύρα"
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr "Μη έγκυρος εξυπηρετητής"
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 #, fuzzy
 msgid "Invalid nickname"
 msgstr "Μη έγκυρος αριθμός"
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 #, fuzzy
 msgid ""
 "Registration failed, the reason was:\n"
@@ -1917,7 +1575,7 @@ msgstr ""
 "Η εγγραφή απέτυχε, ο λόγος ήταν:\n"
 "Ασυμφωνία κωδικού και επιβεβαίωσής του"
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr "Αποτυχία εγγραφής."
 
@@ -2910,9 +2568,8 @@ msgid "Last generated spring launching script"
 msgstr "Τελευταία δημιουργημένο script εκτέλεσης"
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 #, fuzzy
 msgid "Name"
 msgstr "Παιχνίδι"
@@ -3008,8 +2665,8 @@ msgstr "Φιλοξενία νέας μάχης"
 msgid "Notify when users of this group hosts a battle"
 msgstr ""
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr ""
 
@@ -3106,9 +2763,8 @@ msgstr ""
 "\n"
 "αποθηκεύτηκε επιτυχώς στο:\n"
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 #, fuzzy
 msgid "Success"
 msgstr "Ορισμός πρόσβασης..."
@@ -3118,7 +2774,7 @@ msgstr "Ορισμός πρόσβασης..."
 msgid "Couldn't save file"
 msgstr "Αδύνατη η αποθήκευση\n"
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 #, fuzzy
 msgid "Default"
 msgstr "προεπιλογή"
@@ -3152,112 +2808,112 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr "Φιλοξενία νέας μάχης"
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr "Σύντομη περιγραφή του παιχνιδιού, θα εμφανιστεί στη λίστα μαχών."
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "Περιγραφή"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr "Επιλέξτε το mod που θέλετε να παίξετε."
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr "Κωδικός για συμμετοχή στο παιχνίδι. Αφήστε κενό για ελεύθερη συμμετοχή"
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr "Θύρα"
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr ""
 "Θύρα UDP για φιλοξενία του παιχνιδιού. Εξ ορισμού χρησιμοποιείται η 8452."
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 #, fuzzy
 msgid "Randomly picks an available one"
 msgstr "μη διαθέσιμο"
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr "Αριθμός παικτών"
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr "Ο μέγιστος αριθμός παιχτών που θα επιτραπεί στη μάχη."
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr "Διάτρηση"
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr "Διάτρηση NAT"
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 #, fuzzy
 msgid "NAT traversal to use."
 msgstr "Διάτρηση NAT"
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr "Κατώτερος βαθμός"
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr "Έναρξη φιλοξενίας της μάχης."
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr "Πρέπει πρώτα να επιλέξετε ένα mod."
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr "Δεν επιλέχθηκε mod."
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
@@ -3265,7 +2921,7 @@ msgstr ""
 "\n"
 "αποθηκεύτηκε επιτυχώς στο:\n"
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 #, fuzzy
 msgid ""
 "\n"
@@ -3274,17 +2930,17 @@ msgstr ""
 "\n"
 "αποθηκεύτηκε επιτυχώς στο:\n"
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr "Αδύνατη η αποθήκευση\n"
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
@@ -3292,75 +2948,75 @@ msgstr ""
 "\n"
 "προς:\n"
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr "Περιηγητής ιστοσελίδων"
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr "Εξ ορισμού"
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr "Χρήση της ρύθμισης συστήματος"
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr "Προσδιορίστε:"
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr "Προσδιορίστε τον περιηγητή που θέλετε να χρησιμοποιήσετε"
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr "Αναζήτηση"
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr "Χρήση διαλόγου αρχείων για αναζήτηση του περιηγητή"
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 msgid "Path"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 #, fuzzy
 msgid "Use a file dialog to find the editor binary"
 msgstr "Χρήση διαλόγου αρχείων για αναζήτηση του περιηγητή"
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 #, fuzzy
 msgid "Autoconnect"
 msgstr "Επανασύνδεση"
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 #, fuzzy
 msgid "Autoconnect on lobby start"
 msgstr "Σύνδεση στον εξυπηρετητή lobby"
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3369,76 +3025,76 @@ msgid ""
 "Uncheck to disable."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 #, fuzzy
 msgid "Tooltips"
 msgstr "&Εργαλεία"
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 #, fuzzy
 msgid "Show Tooltips?"
 msgstr "Εμφάνιση συμβουλών"
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
 "distance"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 #, fuzzy
 msgid "Match exact"
 msgstr "Αρπαγή εξαιρέσεων AI (exceptions)"
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 #, fuzzy
 msgid "Start tab"
 msgstr "Αρχικό Μέταλλο"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3451,7 +3107,7 @@ msgstr "Επιλέξτε το εκτελέσιμο του περιηγητή"
 msgid "Choose a editor browser executable"
 msgstr "Επιλέξτε το εκτελέσιμο του περιηγητή"
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 #, fuzzy
 msgid "Disconnected from server, chat closed."
 msgstr "Άγνωστη απάντηση από τον εξυπηρετητή"
@@ -3460,128 +3116,112 @@ msgstr "Άγνωστη απάντηση από τον εξυπηρετητή"
 msgid "Battle list"
 msgstr "Λίστα μαχών"
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr "Δωμάτιο μάχης"
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr "Επιλογές"
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 #, fuzzy
 msgid "Unit Restrictions"
 msgstr "Περιορισμοί μονάδων"
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr "Spring"
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr "P2P"
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr "Συνομιλία"
 
-#: src/mainoptionstab.cpp:75
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
+msgid "Restore"
+msgstr "Επαναφορά"
+
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
+msgid "Apply"
+msgstr "Εφαρμογή"
+
+#: src/mainoptionstab.cpp:87
 #, fuzzy
 msgid "General"
 msgstr "Σενεγάλη"
 
-#: src/mainoptionstab.cpp:78
+#: src/mainoptionstab.cpp:90
 msgid "Groups"
 msgstr ""
 
-#: src/mainoptionstab.cpp:80
-msgid "Restore"
-msgstr "Επαναφορά"
-
-#: src/mainoptionstab.cpp:81
-msgid "Apply"
-msgstr "Εφαρμογή"
-
-#: src/mainsingleplayertab.cpp:41
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr "Παιχνίδι"
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr "Λήψεις σε εξέλιξη: "
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr "Συνολικά εξερχόμενα: "
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr "Συνολικά εισερχόμενα: "
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr "άγνωστο"
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr "Ακύρωση λήψης"
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr "Έκδοση νέου αρχείου"
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr "Αναζήτηση αρχείου"
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 #, fuzzy
 msgid "Download Lua widgets"
 msgstr "Ενεργοποίηση LuaUI widget"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr "μη διαθέσιμο"
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr "τροφοδοσία"
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr "ρουφάει"
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr "σε σειρά"
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr "Κατάσταση: Χωρίς σύνδεση"
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr "Κατάσταση: Συνδεμένο"
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr "Κατάσταση: Επιβραδυνόμενο ή σταματημένο (σε παιχνίδι)"
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr "Κατάσταση: Άγνωστο"
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr "Συνολικά Εξερχόμενα: %.2f KB/s"
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr "Συνολικά Εισερχόμενα: %.2f KB/s"
@@ -3590,293 +3230,307 @@ msgstr "Συνολικά Εισερχόμενα: %.2f KB/s"
 msgid "SpringLobby"
 msgstr "SpringLobby"
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr "&Σύνδεση..."
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr "&Αποσύνδεση"
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 #, fuzzy
 msgid "&Save options"
 msgstr "Επιλογές διεπαφής"
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr "&Τερματισμός"
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+#, fuzzy
+msgid "&Save Layout"
+msgstr "Επιλογές διεπαφής"
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr "Είσοδος σε κανάλι..."
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 #, fuzzy
 msgid "Channel &list"
 msgstr "Πληροφορίες καναλιού"
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr "Έναρξη prive συνομιλίας..."
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr "Αυτόματη είσοδος σε κανάλια..."
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr "Ανανέωση χαρτών/mod"
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr "Έλεγχος για νέα έκδοση"
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr "Ρυθμίσεις Spring"
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr "&Περί"
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 #, fuzzy
 msgid "&Change language"
 msgstr "Πληροφορίες καναλιού"
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr "Αναφορά προβλήματος..."
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr "&Τεκμηρίωση"
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr "&Αρχείο"
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+#, fuzzy
+msgid "&View"
+msgstr "&Αρχείο"
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr "&Εργαλεία"
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr "&Βοήθεια"
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 #, fuzzy
 msgid "Not connected"
 msgstr "Κατάσταση: Συνδεμένο"
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr "Είσοδος σε κανάλι..."
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr "Όνομα καναλιού"
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr "Έναρξη prive συνομιλίας..."
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr "Όνομα χρήστη"
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 "Το SpringLobby είναι ένας πελάτης lobby της μηχανής RTS Spring για πολλαπλά "
 "λειτουργικά περιβάλλοντα"
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 #, fuzzy
 msgid "No files found"
 msgstr "Δεν βρέθηκαν χάρτες"
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr "Χειροκίνητη έναρξη συστήματος Torrent"
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr "Χειροκίνητη διακοπή συστήματος Torrent"
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr ""
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr ""
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr ""
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr ""
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 #, fuzzy
 msgid "Which profile do you want to be default?"
 msgstr "Ποιον λογαριασμό χρήστη θέλετε να διαγράψετε σήμερα;"
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr ""
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr ""
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 #, fuzzy
 msgid "Savegames"
 msgstr "Αποθήκευση..."
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 #, fuzzy
 msgid "Replays"
 msgstr "Πάντα"
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 #, fuzzy
 msgid "Downloads"
 msgstr "Λήψη αρχείου"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr ""
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr "Ανανέωση"
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr "Λήψη αρχείου"
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr "πλευρά:"
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr "συμμαχία: %d"
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr "επίδομα: %d%%"
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 msgid "Show"
 msgstr ""
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 #, fuzzy
 msgid "Filter"
 msgstr "Αρχείο"
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 #, fuzzy
 msgid "Map details"
 msgstr "Μεγ. μέταλλο"
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 #, fuzzy
 msgid "Start positions"
 msgstr "Αρχικές θέσεις"
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 #, fuzzy
 msgid "Minimum wind"
 msgstr "Κατώτερος βαθμός"
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 #, fuzzy
 msgid "Average wind"
 msgstr "Μέσος"
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 #, fuzzy
 msgid "Aspect ratio"
 msgstr "Θεατής"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 #, fuzzy
 msgid "Number of start positions"
 msgstr "Τυχαίες αρχικές θέσεις"
@@ -3919,20 +3573,20 @@ msgstr "Περιορισμένες μονάδες"
 msgid "Map name"
 msgstr ""
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 #, fuzzy
 msgid "Change option"
 msgstr "Επιλογές διεπαφής"
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr "κ"
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr "χ"
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr "β"
 
@@ -4002,34 +3656,34 @@ msgstr "μέγεθος (MB)"
 msgid "Filesize in kilobyte"
 msgstr "μέγεθος (MB)"
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr "Αρχείο"
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "Φόρτωση..."
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "Πάντα"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "savegame"
 msgstr "Αποθήκευση..."
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 #, fuzzy
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr ""
@@ -4037,18 +3691,18 @@ msgstr ""
 "\n"
 "Τα δικτυακά παιχνίδια θα απενεργοποιηθούν."
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
 "version: %s\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 #, fuzzy
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
@@ -4057,7 +3711,7 @@ msgstr ""
 "Πρέπει να κατεβάσετε το mod πριν να συμμετάσχετε σε αυτό το παιχνίδι.\n"
 "\n"
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -4066,18 +3720,18 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 #, fuzzy
 msgid "Invalid replay"
 msgstr "Μη έγκυρη θύρα"
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr ""
 
@@ -4094,95 +3748,95 @@ msgstr ""
 msgid "Select Users"
 msgstr "Επιλογή όλων"
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 #, fuzzy
 msgid " is online"
 msgstr " Ο χρήστης είναι εκτός σύνδεσης."
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr ""
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr "OnUserStatus() απέτυχε ! (εξαίρεση)"
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 #, fuzzy
 msgid " just went offline"
 msgstr " Ο χρήστης είναι εκτός σύνδεσης."
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 #, fuzzy
 msgid " opened battle "
 msgstr " εισήλθε στο "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr "Η είσοδος στο κανάλι απέτυχε"
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr "Απέτυχε η είσοδος στο κανάλι "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr " επειδή: "
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr "Μήνημα Εξυπηρετητή"
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr " έχει διεύθυνση IP=%s"
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr " δεν υποστηρίζει πραγματικά την Διάτρηση NAT"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr "Εκδιωχθήκατε από τη μάχη!"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr "Αποπομπή από Οικοδεσπότη"
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, fuzzy, c-format
 msgid "%s mutelist"
 msgstr "Λίστα μαχών"
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr ""
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr ""
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy
 msgid "Download update"
 msgstr "Λήψη ολοκληρώθηκε"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -4193,7 +3847,7 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 #, fuzzy
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
@@ -4202,67 +3856,67 @@ msgstr ""
 "Αν το πρόβλημα παραμένει, παρακαλώ χρησιμοποιήστε το Βοηθεία -> Αναφορά "
 "Προβλήματος για να αναφέρετε αυτό το πρόβλημα."
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 #, fuzzy
 msgid "Negotiation error"
 msgstr "Ειδοποίηση"
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 #, fuzzy
 msgid "Invalid Value"
 msgstr "Μη έγκυρος αριθμός"
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 #, fuzzy
 msgid "No Handler"
 msgstr "Δεν είναι αριθμός"
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 #, fuzzy
 msgid "File doesn't exit"
 msgstr "Δεν υπάρχει ο χάρτης."
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "Ξεκίνησε"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 #, fuzzy
 msgid "Reconnection Error"
 msgstr "Επανασύνδεση"
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 #, fuzzy
 msgid "Unknown Error"
 msgstr "άγνωστο"
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 #, fuzzy
 msgid "Download complete, location is: "
 msgstr "Λήψη ολοκληρώθηκε"
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 #, fuzzy
 msgid "Download complete."
 msgstr "Λήψη ολοκληρώθηκε"
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer. File location is: "
 msgstr "Αδυναμία εκκίνησης περιηγητή. Το URL είναι: "
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer."
 msgstr "Αδυναμία εκκίνησης περιηγητή."
@@ -4979,74 +4633,74 @@ msgid "Save Spring settings before exiting?"
 msgstr "Αποθήκευση των ρυθμίσεων του Spring πριν την έξοδο;"
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr "Απαιτείται επιβεβαίωση"
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr "Ρυθμίσεις Spring (για προχωρημένους)"
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr "Ρυθμίσεις Spring (απλή λειτουργία)"
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr "Αποθήκευση ρυθμίσεων"
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr "Επαναφορά αρχικών ρυθμίσεων"
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr "Απενεργοποίηση προειδοποίησης λειτουργίας για προχωρημένους"
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr "Έξοδος"
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr "Απλό (λιγότερες επιλογές)"
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr "Για προχωρημένους (όλες οι επιλογές)"
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr "Περί"
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr "Επαφή"
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr "Μνεία"
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr "Αναφορά σφάλματος"
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr "Κατάσταση"
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr "Βοήθεια"
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr "Επαναφορά ΟΛΩΝ των ρυθμίσεων στις αρχικές τιμές;"
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr "Υπόδειξη"
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr "Ρυθμίσεις Spring (για προχωρημένους)"
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -5070,7 +4724,7 @@ msgstr ""
 msgid "everyone reporting bugs/suggestions"
 msgstr "everyone reporting bugs/suggestions"
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5082,27 +4736,32 @@ msgstr ""
 "\n"
 "παρακαλώ ενεργοποιείστε το wxUSE_DEBUGREPORT"
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr "Κρίσιμο σφάλμα"
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -5145,8 +4804,8 @@ msgstr "Ρυθμίσεις διαδρομής"
 msgid "Choose an unitsync library"
 msgstr "Επιλέξτε μια μονάδα unitsync"
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr "Όλα τα αρχεία"
 
@@ -5186,23 +4845,23 @@ msgstr "πολύ υψηλή"
 msgid "can't launch default browser"
 msgstr "Αδυναμία εκκίνησης του εξ ορισμού περιηγητή"
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr "Αδυναμία εκκίνησης περιηγητή. Το URL είναι: "
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr "Αδυναμία εκκίνησης περιηγητή."
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr "Αδύνατη η προσπέλαση των ρυθμίσεων σας.\n"
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr "Αδύνατη η αποθήκευση, το unitsync δεν φορτώθηκε σωστά"
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr "Σφάλμα SpringSettings"
 
@@ -5210,11 +4869,11 @@ msgstr "Σφάλμα SpringSettings"
 msgid "Audio Options"
 msgstr "Επιλογές Ήχου"
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr "Ανάλυση Οθόνης"
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
@@ -5222,31 +4881,31 @@ msgstr ""
 "Αν μια επιλογή χρειάζεται ειδικό hardware για να λειτουργήσει,\n"
 "θα αναφέρεται στην υπόδειξη."
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr "Ποιότητα Νερού"
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr "Ανάλυση σε bit"
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr "Επιλογές Ποιότητας Σχεδίασης"
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr "Επιλογές Λειτουργίας Video"
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr "Επιλογές Εξομάλυνσης Γωνιών"
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr "Πίνακας Βάθους (Ζ-Buffer)"
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr ""
 
@@ -5356,7 +5015,7 @@ msgstr "Άλλες επιλογές διεπαφής"
 msgid "Zoom"
 msgstr "Μεγέθυνση"
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
@@ -5365,33 +5024,33 @@ msgstr ""
 " Πηγαίνετε το ποντίκι πάνω από το εικονίδιο για να αλλάξετε μεριά, συμμαχία "
 "και επίδομα."
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr "Προσθήκη bot..."
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 #, fuzzy
 msgid "Spectate only"
 msgstr "Θεατής"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 #, fuzzy
 msgid "Random start positions"
 msgstr "Τυχαίες αρχικές θέσεις"
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr "-- Επιλέξτε κάποιο --"
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr "Σφάλμα ρύθμισης παιχνιδιού"
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr "Πρέπει να επιλέξετε έναν χάρτη πρώτα."
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
@@ -5401,61 +5060,30 @@ msgstr ""
 " Το παιχνίδι θα τελειώσει εξαιρετικά γρήγορα.\n"
 " "
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr "Δεν προστέθηκε Bot"
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr "Δεν μπορείτε να εκκινήσετε ξανά το Spring όσο αυτό ήδη τρέχει."
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
-msgstr "Γεια "
-
-#: src/springlobbyapp.cpp:168
-msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
-"\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
-".\n"
-"Φαίνεται πως χρησιμοποιείτε για πρώτη φορά το SpringLobby. Έχω μαντέψει "
-"κάποιες αρχικές ρυθμίσεις που πιστέυω πως θα δουλέψουν για σας, αλλά καλό θα "
-"ήταν να τις ελέγξετε, είδικα τις ρυθμίσεις του Spring.\n"
-"\n"
-"Όταν είστε έτοιμοι, επιλέξτε Σύνδεση σε Εξυπηρετητή από το μενού Αρχείο και "
-"απολαύστε το Spring :)"
 
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
-msgstr "Καλώς Ήλθατε"
-
-#: src/springlobbyapp.cpp:172
+#: src/springlobbyapp.cpp:183
 msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
-msgstr ""
-
-#: src/springlobbyapp.cpp:172
-#, fuzzy
-msgid "Notice"
-msgstr "Καθόλου"
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
+"\n"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:188
+#: src/springlobbyapp.cpp:183
 #, fuzzy
-msgid "Import settings?"
-msgstr "Ρυθμίσεις διαδρομής"
+msgid "Fatal error"
+msgstr "Κρίσιμο σφάλμα"
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5468,69 +5096,77 @@ msgstr ""
 "παρακαλώ χρησιμοποιήστε μια έκδοση της μονάδας wxWidgets\n"
 "που να υποστηρίζει το wxUSE_DEBUGREPORT"
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 #, fuzzy
 msgid "Ignore chat"
 msgstr "Ανοιχτή Συνομιλία"
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 #, fuzzy
 msgid "Battle Autokick"
 msgstr "Λίστα μαχών"
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 #, fuzzy
 msgid "Friends"
 msgstr "Αναζήτηση"
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr "Εκτελέσιμο του Spring"
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr "Τοποθεσία"
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr "Αναζήτηση"
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr "Μονάδα UnitSync"
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr "Αυτόματη Ρύθμιση"
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr "Επιλέξτε το εκτελέσιμο του Spring"
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr "Μονάδα"
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr "Επιλέξτε τη μονάδα UnitSync"
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5564,7 +5200,7 @@ msgstr ""
 "Κάτι πήγε στραβά κατά τη δημιουργία των φακέλων\n"
 "Παρακαλώ δημιουργήστε με το χέρι τους παρακάτω φάκελους:"
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr "Λήξη χρόνου σύνδεσης"
 
@@ -5588,45 +5224,45 @@ msgstr ""
 msgid " , column "
 msgstr ""
 
-#: src/torrentlistctrl.cpp:44
-#, fuzzy
-msgid "Numcopies"
-msgstr "Αριθμοί"
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
+msgstr ""
 
-#: src/torrentlistctrl.cpp:48
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
 #, fuzzy
-msgid "MB downloaded"
-msgstr "MB στάλθηκαν"
-
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
-msgstr "MB στάλθηκαν"
+msgid "Cancel torrent"
+msgstr "Παύση όλων των λήψεων"
 
-#: src/torrentlistctrl.cpp:56
+#: src/torrentlistctrl.cpp:173
 #, fuzzy
-msgid "Status"
-msgstr "Κατάσταση:"
+msgid "Retry torrent"
+msgstr "Επαναφορά"
 
-#: src/torrentlistctrl.cpp:60
-#, c-format
-msgid "% complete"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
-msgstr "KB/s αποστέλονται"
+#: src/torrentlistctrl.cpp:264
+#, fuzzy
+msgid "not found"
+msgstr "Δεν βρέθηκαν χάρτες"
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
-msgstr "KB/s λαμβάνονται"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
+msgstr "σε σειρά"
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
-msgstr "Χρόνος (δευ.)"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
+msgstr "ρουφάει"
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
-msgstr "μέγεθος (MB)"
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "Λήψη ολοκληρώθηκε"
+
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
+msgstr "τροφοδοσία"
 
 #: src/torrentoptionspanel.cpp:37
 msgid "Torrent system autostart"
@@ -5695,57 +5331,49 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr "Αυτόματη εκκίνηση συστήματος λήψεων"
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr "Κωδικός εξυπηρετητή"
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
 msgstr "Επιτυχής εγγραφή."
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr "Επιτυχής εγγραφή"
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr "Η εγγραφή απέτυχε, ο λόγος ήταν:\n"
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-"\n"
-"Διαδρομή περιηγητή είναι: "
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr "Σφάλμα βοήθειας"
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr "Πληκρτολογήστε /help σε ένα παράθυρο συνομιλίας"
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr "Βοήθεια εντολών SpringLobby."
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr "Γενικές εντολές:"
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr "  \"/away\" - Ορίζει την κατάσταση σας ως μακρυά από τον υπολογιστή."
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr "  \"/back\" - Ορίζει την κατάσταση σας ως κοντά στον υπολογιστή."
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
@@ -5753,11 +5381,11 @@ msgstr ""
 "  \"/changepassword παλιόςκωδικός νέοςκωδικός\" - Αλλάζει τον κωδικό του "
 "τρέχοντος λογαριασμού."
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr "  \"/channels\" - Εμφανίζει μια λίστα των ενεργών καναλιών."
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
@@ -5765,23 +5393,23 @@ msgstr ""
 "  \"/help [θέμα]\" - Βάλτε θέμα αν θέλετε πιο συγκεκριμένες πληροφορίες για "
 "μια εντολή."
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 #, fuzzy
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
 msgstr ""
 "  \"/join κανάλι [κωδικός] [,κανάλι2 [κωδικός2]]\" - Είσοδος σε κανάλι."
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr "  \"/j\" - Συνώνυμο του /join."
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 #, fuzzy
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr "  \"/ingame\" - Εμφανίζει πόσο χρόνο έχετε περάσει μέσα σε παιχνίδια."
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 #, fuzzy
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
@@ -5790,50 +5418,50 @@ msgstr ""
 "  \"/msg όνομαχρήστη [κείμενο]\" - στέλνει ένα prive μήνυμα σε κάποιον "
 "χρήστη."
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 #, fuzzy
 msgid "  \"/part\" - Leaves current channel."
 msgstr "  \"/channels\" - Εμφανίζει μια λίστα των ενεργών καναλιών."
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 #, fuzzy
 msgid "  \"/p\" - Alias to /part."
 msgstr "  \"/j\" - Συνώνυμο του /join."
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr "  \"/rename νέοψευδώνυμο\" - Αλλάζει το ψευδώνυμο σας σε νέοψευδώνυμο."
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 #, fuzzy
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr ""
 "  \"/sayver\" - Αναφέρει την έκδοση του SpringLobby που χρησιμοποιείτε στην "
 "συνομιλία."
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr "  \"/testmd5 κείμενο\" - Επιστρέφει ένα md5-b64 hash του κειμένου."
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 #, fuzzy
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr "  \"/ver\" - Εμφάνιση της έκδοσης SpringLobby που χρησιμοποιείτε."
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr "Εντολές συνομιλίας:"
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr ""
 "  \"/me δραστηριότητα\" - Στέλνει ένα μήνυμα δραστηριότητας σε στυλ IRC (/e)."
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
@@ -5841,21 +5469,21 @@ msgstr ""
 "Αν δεν μπορείτε να θυμηθείτε κάποια εντολή, πηγαίνετε στο #springlobby και "
 "δοκιμάστε να την πληκτρολογήσετε εκεί :)"
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr "Κανένα θέμα δεν έχει γραφτεί ακόμα."
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr "Το θέμα \""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr ""
 "\" δεν βρέθηκε. Πληκτρολογήστε \"/help topics\" για μια λίστα των διαθέσιμων "
 "θεμάτων."
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 #, fuzzy
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
@@ -5866,57 +5494,57 @@ msgstr ""
 "\n"
 "Τα δικτυακά παιχνίδια θα απενεργοποιηθούν."
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 msgstr ""
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 #, fuzzy
 msgid "Online play is currently disabled."
 msgstr "Τα δικτυακά παιχνίδια θα απενεργοποιηθούν."
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 #, fuzzy
 msgid "Disconnected from server."
 msgstr "Άγνωστη απάντηση από τον εξυπηρετητή"
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 #, fuzzy
 msgid "Connection failure"
 msgstr "Λήξη χρόνου σύνδεσης"
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr "καμία ενεργή συνομιλία ανοιχτή."
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr "(%d χρήστες)"
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr "Μήνυμα εξυπηρετητή"
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr "Η τρέχουσα μάχη έκλεισε από τον οικοδεσπότη."
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr "Η μάχη έκλεισε"
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
@@ -5926,15 +5554,15 @@ msgstr ""
 "Παρακαλώ επιβεβαιώστε τις πριν προσπαθήσετε\n"
 "να παίξετε δικτυακά."
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr "Σφάλμα ρυθμίσεων Spring"
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5942,11 +5570,57 @@ msgid ""
 "download finished"
 msgstr ""
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr ""
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr "Γεια "
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+".\n"
+"Φαίνεται πως χρησιμοποιείτε για πρώτη φορά το SpringLobby. Έχω μαντέψει "
+"κάποιες αρχικές ρυθμίσεις που πιστέυω πως θα δουλέψουν για σας, αλλά καλό θα "
+"ήταν να τις ελέγξετε, είδικα τις ρυθμίσεις του Spring.\n"
+"\n"
+"Όταν είστε έτοιμοι, επιλέξτε Σύνδεση σε Εξυπηρετητή από το μενού Αρχείο και "
+"απολαύστε το Spring :)"
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr "Καλώς Ήλθατε"
+
+#: src/ui.cpp:1242
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid "Notice"
+msgstr "Καθόλου"
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+#, fuzzy
+msgid "Import settings?"
+msgstr "Ρυθμίσεις διαδρομής"
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
@@ -5957,15 +5631,15 @@ msgstr ""
 "Αν το πρόβλημα παραμένει, παρακαλώ χρησιμοποιήστε το Βοηθεία -> Αναφορά "
 "Προβλήματος για να αναφέρετε αυτό το πρόβλημα."
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr "Η έκδοσή σας: "
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr "Τελευταία έκδοση: "
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
@@ -5973,7 +5647,7 @@ msgstr ""
 "Η έκδοση του SpringLobby δεν είναι ενημερωμένη.\n"
 "\n"
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid ""
 "\n"
 "\n"
@@ -5981,26 +5655,22 @@ msgid ""
 "effect next you launch the lobby again."
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 #, fuzzy
 msgid "Not up to date"
 msgstr "Μη Ενημερωμένο"
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr "Μη Ενημερωμένο"
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
 msgstr ""
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 #, fuzzy
 msgid ""
 "There was an error downloading for the latest version.\n"
@@ -6012,11 +5682,11 @@ msgstr ""
 "Αν το πρόβλημα παραμένει, παρακαλώ χρησιμοποιήστε το Βοηθεία -> Αναφορά "
 "Προβλήματος για να αναφέρετε αυτό το πρόβλημα."
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
+#: src/updater/updater.cpp:92
 #, fuzzy, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
@@ -6025,18 +5695,18 @@ msgstr ""
 "Αν το πρόβλημα παραμένει, παρακαλώ χρησιμοποιήστε το Βοηθεία -> Αναφορά "
 "Προβλήματος για να αναφέρετε αυτό το πρόβλημα."
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr ""
 
@@ -6163,16 +5833,16 @@ msgstr "Βετεράνος"
 msgid "Unknown"
 msgstr "άγνωστο"
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr ""
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 #, fuzzy
 msgid "Add to group..."
 msgstr "Προσθήκη Bot..."
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 #, fuzzy
 msgid "Remove from group"
 msgstr "Διαγραφή Λογαριασμού Χρήστη"
@@ -6254,6 +5924,244 @@ msgstr ""
 #~ msgid "cpu"
 #~ msgstr "Επεξεργαστής"
 
+#~ msgid "Copy"
+#~ msgstr "Αντιγραφή"
+
+#~ msgid "Clear"
+#~ msgstr "Εκκαθάριση"
+
+#~ msgid "Auto join this channel"
+#~ msgstr "Αυτόματη είσοδος σε αυτό το κανάλι"
+
+#~ msgid "Display Join/Leave Messages"
+#~ msgstr "Εμφάνιση μηνυμάτων Εισόδου/Εξόδου"
+
+#, fuzzy
+#~ msgid "Show mute list"
+#~ msgstr "Εμφάνιση συμβουλών"
+
+#~ msgid "Channel info"
+#~ msgstr "Πληροφορίες καναλιού"
+
+#~ msgid "Set topic..."
+#~ msgstr "Ορισμός θέματος..."
+
+#~ msgid "Channel message..."
+#~ msgstr "Μήνυμα καναλιού..."
+
+#~ msgid "Lock..."
+#~ msgstr "Κλείδωμα..."
+
+#~ msgid "Unlock"
+#~ msgstr "Ξεκλείδωμα"
+
+#~ msgid "Register..."
+#~ msgstr "Εγγραφή..."
+
+#~ msgid "Unregister"
+#~ msgstr "Διαγραφή"
+
+#~ msgid "On"
+#~ msgstr "Ανοιχτό"
+
+#~ msgid "Off"
+#~ msgstr "Κλειστό"
+
+#~ msgid "Is on?"
+#~ msgstr "Είναι ανοιχτό;"
+
+#~ msgid "Spam protection"
+#~ msgstr "Προστασία από ανεπιθύμητα μηνύματα"
+
+#~ msgid "ChanServ"
+#~ msgstr "ChanServ"
+
+#~ msgid "Disconnect"
+#~ msgstr "Αποσύνδεση"
+
+#~ msgid "Remove..."
+#~ msgstr "Αφαίρεση..."
+
+#~ msgid "Change password..."
+#~ msgstr "Αλλαγή κωδικού..."
+
+#~ msgid "Set access..."
+#~ msgstr "Ορισμός πρόσβασης..."
+
+#~ msgid "Accounts"
+#~ msgstr "Λογαριασμοί"
+
+#~ msgid "Broadcast..."
+#~ msgstr "Μετάδοση..."
+
+#~ msgid "Admin"
+#~ msgstr "Διαχειριστής"
+
+#, fuzzy
+#~ msgid "User"
+#~ msgstr "Αποσιώπηση Χρήστη"
+
+#~ msgid "Open Chat"
+#~ msgstr "Ανοιχτή Συνομιλία"
+
+#~ msgid "Join same battle"
+#~ msgstr "Σύνδεση στην ίδια μάχη"
+
+#~ msgid "Ingame time"
+#~ msgstr "Χρόνος παιχνιδιού"
+
+#~ msgid "Retrieve IP and Smurfs"
+#~ msgstr "Εύρεση διεύθυνσης IP και Smurf"
+
+#~ msgid "Mute..."
+#~ msgstr "Αποσιώπηση..."
+
+#~ msgid "Mute for 5 minutes"
+#~ msgstr "Αποσιώπηση για 5 λεπτά"
+
+#~ msgid "Mute for 10 minutes"
+#~ msgstr "Αποσιώπηση για 10 λεπτά"
+
+#~ msgid "Mute for 30 minutes"
+#~ msgstr "Αποσιώπηση για 30 λεπτά"
+
+#~ msgid "Mute for 2 hours"
+#~ msgstr "Αποσιώπηση για 2 ώρες"
+
+#~ msgid "Mute for 1 day"
+#~ msgstr "Αποσιώπηση για 1 ημέρα"
+
+#~ msgid "Unmute"
+#~ msgstr "Αναίρεση αποσιώπησης"
+
+#~ msgid "Mute"
+#~ msgstr "Αποσιώπηση"
+
+#~ msgid "Kick..."
+#~ msgstr "Αποπομπή..."
+
+#~ msgid "Ban..."
+#~ msgstr "Αποκλεισμός..."
+
+#~ msgid "Unban"
+#~ msgstr "Άρση αποκλεισμού"
+
+#~ msgid "Slap!"
+#~ msgstr "Δώσε μπάτσα!"
+
+#~ msgid "Op"
+#~ msgstr "Κάνε διαχειριστή"
+
+#~ msgid "DeOp"
+#~ msgstr "Άρση δικαιώματος διαχείρησης"
+
+#~ msgid "ChanServ error"
+#~ msgstr "Σφάλμα ChanServ"
+
+#~ msgid "ChanServ is not in this channel."
+#~ msgstr "Το ChanServ δεν είναι σε αυτό το κανάλι"
+
+#~ msgid "What should be the new topic?"
+#~ msgstr "Ποιο πρέπει να είναι το νέο θέμα;"
+
+#~ msgid "Message:"
+#~ msgstr "Μήνυμα:"
+
+#~ msgid "Lock channel..."
+#~ msgstr "Κλείδωμα καναλιού..."
+
+#~ msgid "What should the new password be?"
+#~ msgstr "Ποιος πρέπει να είναι ο νέος κωδικός;"
+
+#~ msgid "Unlock Channel"
+#~ msgstr "Ξεκλείδωμα Καναλιού"
+
+#~ msgid "Are you sure you want to unlock this channel?"
+#~ msgstr "Επιβεβαίωση ξεκλειδώματος του καναλιού;"
+
+#~ msgid "ChanServ is not on this server."
+#~ msgstr "Το ChanServ δεν είναι σε αυτό τον εξυπηρετητή."
+
+#~ msgid "Register Channel"
+#~ msgstr "Δήλωση Καναλιού"
+
+#~ msgid "Who should be appointed founder of this channel?"
+#~ msgstr "Ποιος πρέπει να δηλωθεί ως δημιουργός του καναλιού;"
+
+#~ msgid "Unregister Channel"
+#~ msgstr "Διαγραφή Καναλιού"
+
+#~ msgid "Are you sure you want to unregister this channel?"
+#~ msgstr "Επιβεβαίωση διαγραφής του καναλιού;"
+
+#~ msgid "Remove User Acount"
+#~ msgstr "Διαγραφή Λογαριασμού Χρήστη"
+
+#~ msgid "What user account do you want to remove today?"
+#~ msgstr "Ποιον λογαριασμό χρήστη θέλετε να διαγράψετε σήμερα;"
+
+#~ msgid "Remove Account"
+#~ msgstr "Διαγραφή λογαριασμού"
+
+#~ msgid "Are you sure you want to remove the account "
+#~ msgstr "Επιβεβαίωση διαγραφής λογαριασμού "
+
+#~ msgid "Change User Acount Password"
+#~ msgstr "Αλλαγή Κωδικού Λογαριασμού Χρήστη"
+
+#~ msgid "What user account do you want to change the password for?"
+#~ msgstr "Για ποιον λογαριασμό θέλετε να αλλάξετε τον κωδικό;"
+
+#~ msgid "What would be the new password?"
+#~ msgstr "Ποιος θα είναι ο νέος κωδικός;"
+
+#~ msgid "Not Implemented"
+#~ msgstr "Δεν έχει υλοποιηθεί"
+
+#~ msgid "Broadcast Message"
+#~ msgstr "Μετάδοση Μηνύματος"
+
+#~ msgid "Message to be broadcasted:"
+#~ msgstr "Μήνυμα προς μετάδοση:"
+
+#~ msgid "You don't have the mod "
+#~ msgstr "Δεν έχετε το mod "
+
+#~ msgid " . Please download it first"
+#~ msgstr " . Παρακαλώ κατεβάστε το πρώτα"
+
+#~ msgid "Mod unavailable"
+#~ msgstr "Mod μη διαθέσιμο"
+
+#~ msgid "This battle is password protected, enter the password."
+#~ msgstr ""
+#~ "Αυτή η μάχη είναι προστατευμένη με κωδικό, παρακαλώ εισάγετε τον κωδικό:"
+
+#~ msgid "Mute User"
+#~ msgstr "Αποσιώπηση Χρήστη"
+
+#~ msgid "For how many minutes should the user be muted?"
+#~ msgstr "Πόσα λεπτά να διαρκέσει η αποσιώπηση του χρήστη;"
+
+#~ msgid "Kick User"
+#~ msgstr "Αποπομπή Χρήστη"
+
+#~ msgid "Reason:"
+#~ msgstr "Αιτία:"
+
+#~ msgid "Kick user"
+#~ msgstr "Αποπομπή χρήστη"
+
+#~ msgid "Mute user"
+#~ msgstr "Αποσιώπηση χρήστη"
+
+#~ msgid "Duration:"
+#~ msgstr "Διάρκεια:"
+
+#, fuzzy
+#~ msgid "couldn't add user"
+#~ msgstr "Αδυναμία εκκίνησης περιηγητή."
+
 #~ msgid "Test firewall"
 #~ msgstr "Έλεγχος τείχους προστασίας"
 
@@ -6273,6 +6181,9 @@ msgstr ""
 #~ msgid "Tab icons"
 #~ msgstr "Επιλογές Χάρτη"
 
+#~ msgid "not available"
+#~ msgstr "μη διαθέσιμο"
+
 #, fuzzy
 #~ msgid "Chose in game"
 #~ msgstr "Επιλ. στο παιχνίδι"
@@ -6295,9 +6206,35 @@ msgstr ""
 #~ msgid "Player"
 #~ msgstr "Παίκτες:"
 
+#, fuzzy
+#~ msgid "MB downloaded"
+#~ msgstr "MB στάλθηκαν"
+
+#~ msgid "MB uploaded"
+#~ msgstr "MB στάλθηκαν"
+
 #~ msgid "status"
 #~ msgstr "Κατάσταση"
 
+#~ msgid "KB/s up"
+#~ msgstr "KB/s αποστέλονται"
+
+#~ msgid "KB/s down"
+#~ msgstr "KB/s λαμβάνονται"
+
+#~ msgid "ETA (s)"
+#~ msgstr "Χρόνος (δευ.)"
+
+#~ msgid "Filesize (MB)"
+#~ msgstr "μέγεθος (MB)"
+
+#~ msgid ""
+#~ "\n"
+#~ "Broser path is: "
+#~ msgstr ""
+#~ "\n"
+#~ "Διαδρομή περιηγητή είναι: "
+
 #, fuzzy
 #~ msgid "Choose color"
 #~ msgstr "Επιλογή φακέλου"
diff --git a/po/en_US.gmo b/po/en_US.gmo
index 2f3f44e..9af6827 100644
Binary files a/po/en_US.gmo and b/po/en_US.gmo differ
diff --git a/po/en_US.po b/po/en_US.po
index 29929fe..a063d88 100644
--- a/po/en_US.po
+++ b/po/en_US.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the SpringLobby package.
 # René Milk <koshi at springlobby.info>, 2009.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: springlobby 0.0.1.10393-170-g3bd11a5\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2009-02-18 13:57+0100\n"
 "Last-Translator: Ren Milk <koshi at springlobby.info>\n"
 "Language-Team: English\n"
@@ -48,8 +48,8 @@ msgid "value"
 msgstr "value"
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "Cancel"
 
@@ -102,7 +102,7 @@ msgstr "Random"
 msgid "Clans"
 msgstr "Clans"
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "None"
 
@@ -139,45 +139,45 @@ msgstr "Number of players"
 msgid "Auto select"
 msgstr "Auto select"
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "Ok"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "Description"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "Map"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr "Mod"
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "Host"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "Spectators:"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 msgid "Players"
 msgstr "Players"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "Map"
@@ -190,11 +190,11 @@ msgstr "Download &map"
 msgid "Download m&od"
 msgstr "Download m&od"
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "Spectators:"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 msgid "Active Players:"
 msgstr "Active Players:"
 
@@ -247,8 +247,8 @@ msgid "All"
 msgstr "All"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "Map:"
 
@@ -261,8 +261,8 @@ msgid "Max.Player:"
 msgstr "Max.Player:"
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr "Mod:"
 
@@ -274,15 +274,15 @@ msgstr "Only mods i have"
 msgid "    Spectator:"
 msgstr "    Spectator:"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr "%d"
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "Players:"
 
@@ -311,34 +311,34 @@ msgstr "Host new..."
 msgid "Join"
 msgstr "Join"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, fuzzy, c-format
 msgid "%d battles displayed"
 msgstr "%u files displayed"
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr "Not Online."
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr "Hosting is disabled due to the incompatible version you're using"
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr "Spring error"
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
@@ -346,11 +346,11 @@ msgstr ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr "Already in a battle"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
@@ -360,7 +360,7 @@ msgstr ""
 "\n"
 "Do you want to leave current battle to start a new?"
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
@@ -370,7 +370,7 @@ msgstr ""
 " port testing is not supported.\n"
 " Hosting may or may not work."
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
@@ -379,7 +379,7 @@ msgstr ""
 "The server used for testing your port %d is unreachable. \n"
 "Hosting may or may not work with this setting."
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -398,15 +398,15 @@ msgstr ""
 "If everything else fails, enable the Hole Punching NAT Traversal\n"
 " option in the hosting settings."
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr "Battle not started beacuse the mod you selected could not be found. "
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr "Error starting battle."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
@@ -414,11 +414,11 @@ msgstr ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "No maps found"
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
@@ -426,12 +426,12 @@ msgstr ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid "Already in this battle"
 msgstr "Already in a battle"
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid ""
 "You are already in this battle.\n"
@@ -442,12 +442,12 @@ msgstr ""
 "\n"
 "Do you want to leave current battle to start a new?"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid "Already in another battle"
 msgstr "Already in a battle"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid ""
 "You are already in a battle.\n"
@@ -458,7 +458,7 @@ msgstr ""
 "\n"
 "Do you want to leave current battle to and join this one?"
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
@@ -466,11 +466,11 @@ msgstr ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr "Do you want me to take you to the download page?"
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 msgid ""
 "Should i try to download it for you?\n"
 "You can see the progress in the \"Download Manager\" tab."
@@ -478,7 +478,7 @@ msgstr ""
 "Should i try to download it for you?\n"
 "You can see the progress in the \"Download Manager\" tab."
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
@@ -486,11 +486,11 @@ msgstr ""
 "You need to download the mod before you can join this game.\n"
 "\n"
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr "Mod not available"
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
@@ -498,15 +498,15 @@ msgstr ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr "Map not available"
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr "Battle password"
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr "Enter password"
 
@@ -515,45 +515,45 @@ msgid "Select"
 msgstr "Select"
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr "Option"
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr "Value"
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr "Size"
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr "Windspeed"
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr "Tidal strength"
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr "Gravity"
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr "Extractor radius"
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr "Max metal"
 
@@ -574,160 +574,160 @@ msgstr "Chose before game"
 msgid "Startpositions"
 msgstr "Startpositions"
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr "Unit restrictions"
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr "Allowed units"
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr "Units in this list will be available in the game."
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 msgid "Disable selected units."
 msgstr "Disable selected units."
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 msgid "Re-enable selected units."
 msgstr "Re-enable selected units."
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr "<<"
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr "Enable all units."
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr "Restricted units"
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr "Units in this list will not be available in the game."
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 #, fuzzy
 msgid "Unit restriction"
 msgstr "Unit restrictions"
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr "Nickname"
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr "Team"
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr "Ally"
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr "Resource Bonus"
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr "Side"
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr "Set color"
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr "Set Resource Bonus"
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr "Spectator"
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr "Kick"
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr "Ring"
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr "Please enter a value between 0 and 100"
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 #, fuzzy
 msgid "AI (bot)\n"
 msgstr "Add bot"
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 #, fuzzy
 msgid "Human\n"
 msgstr "Oman"
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 #, fuzzy
 msgid "Spectator\n"
 msgstr "Spectator"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 #, fuzzy
 msgid "Player\n"
 msgstr "Player:"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 #, fuzzy
 msgid "Host\n"
 msgstr "Host"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 #, fuzzy
 msgid "Client\n"
 msgstr "Client"
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 #, fuzzy
 msgid "Ready\n"
 msgstr "Replays"
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 #, fuzzy
 msgid "Not ready\n"
 msgstr "Not ready"
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 #, fuzzy
 msgid "In sync"
 msgstr "Enable v-sync"
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr "Enter name"
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
@@ -735,88 +735,88 @@ msgstr ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr "Manage Presets"
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 #, fuzzy
 msgid "Set name."
 msgstr "Rename.."
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 #, fuzzy
 msgid "Load..."
 msgstr "Lock..."
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 #, fuzzy
 msgid "Load a saved set of options."
 msgstr "Save a set of options."
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 #, fuzzy
 msgid "Save..."
 msgstr "Save"
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 msgid "Save a set of options."
 msgstr "Save a set of options."
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 #, fuzzy
 msgid "Delete..."
 msgstr "Delete"
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 msgid "Delete a set of options."
 msgstr "Delete a set of options."
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 #, fuzzy
 msgid "Set default..."
 msgstr "Set default"
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr "Use the current set of options as mod's default."
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 #, fuzzy
 msgid "Mod Options"
 msgstr "Options"
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 #, fuzzy
 msgid "Map Options"
 msgstr "Options"
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 #, fuzzy
 msgid "no options available"
 msgstr "not available"
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 #, fuzzy
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
 msgstr "Cannot save an options set without a name."
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr "error"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr "Enter preset name"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
@@ -824,21 +824,21 @@ msgstr ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr "Cannot save an options set without a name."
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr "Pick an existing option set from the list"
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 #, fuzzy
 msgid "Delete preset"
 msgstr "Set delete preset"
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 msgid "Set mod default preset"
 msgstr "Set mod default preset"
 
@@ -882,7 +882,7 @@ msgstr ""
 "A preview of the selected map.  You can see the starting positions, or (if "
 "set) starting boxes."
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr "Leave"
 
@@ -890,7 +890,7 @@ msgstr "Leave"
 msgid "Leave the battle and return to the battle list"
 msgstr "Leave the battle and return to the battle list"
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr "Start"
 
@@ -1082,7 +1082,7 @@ msgstr "Load battle preset"
 msgid "Save"
 msgstr "Save"
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 msgid "Delete"
 msgstr "Delete"
 
@@ -1162,7 +1162,7 @@ msgstr "Double click to join"
 msgid "Find channel:"
 msgstr "Find channel:"
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 msgid "Choose channels to join"
 msgstr "Choose channels to join"
 
@@ -1230,67 +1230,64 @@ msgstr ""
 "Can't open log file. \n"
 "Be sure that there isn't a write protection.\n"
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr "Colors and font"
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr "Use system colors"
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr "Normal"
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr "Background"
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr "Action"
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr "Highlight"
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr "Join/Leave"
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr "My messages"
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr "Server"
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr "Client"
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr "Error"
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr "Timestamp"
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr "Notification"
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
 "[22:30] <Dude> hi everyone\n"
@@ -1306,325 +1303,135 @@ msgstr ""
 "[22:45] <Dude> Dude2: orl?\n"
 "[22:46] <Dude2> But could be better, should tweak them some more...\n"
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr "Font:"
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr "default"
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr "Select..."
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr "Behavior"
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr "Play notification sounds"
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr "Chat logs"
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr "Save chat logs"
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr "Highlight words"
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr "Words to highlight in chat:"
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr "enter a ; seperated list"
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr "Additionally play sound/flash titlebar "
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr "channel_"
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr "#"
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, fuzzy, c-format
 msgid "%d users"
 msgstr "(%d users)"
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr "right click for options (like autojoin)"
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr "Send"
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr "Disable text appending (workaround for autoscroll)"
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr ""
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-#, fuzzy
-msgid "Clear"
-msgstr "Clans"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr "Auto join this channel"
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr "Display Join/Leave Messages"
-
-#: src/chatpanel.cpp:433
-msgid "Show mute list"
-msgstr "Show mute list"
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr "Channel info"
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr "Set topic..."
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr "Channel message..."
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr "Lock..."
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr "Unlock"
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr "Register..."
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr "Unregister"
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr "On"
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr "Off"
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr "Is on?"
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr "Spam protection"
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr "ChanServ"
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr "Disconnect"
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr "Reconnect"
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr "Remove..."
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr "Change password..."
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr "Set access..."
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr "Accounts"
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr "Broadcast..."
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr "Admin"
-
-#: src/chatpanel.cpp:510
-#, fuzzy
-msgid "User"
-msgstr "Mute User"
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr "Open Chat"
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr "Join same battle"
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr "Ingame time"
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr "Retrieve IP and Smurfs"
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr "Mute..."
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr "Mute for 5 minutes"
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr "Mute for 10 minutes"
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr "Mute for 30 minutes"
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr "Mute for 2 hours"
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr "Mute for 1 day"
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr "Unmute"
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr "Mute"
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr "Kick..."
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr "Ban..."
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr "Unban"
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr "Slap!"
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr "Op"
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr "DeOp"
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr " !! Command: \""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr "\" params: \""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr "channel"
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr "battle"
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr "server"
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr " joined the "
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr " left the "
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 msgid " ** Channel topic:"
 msgstr " ** Channel topic:"
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 msgid " ** Set by "
 msgstr " ** Set by "
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr "Chat closed."
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr "Are you sure you want to paste %d lines?"
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr "Flood warning"
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr " You have SpringLobby v"
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr " You are not in channel or channel does not exist."
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
@@ -1633,7 +1440,7 @@ msgstr ""
 " Error: Command (%s) does not exist, use /help for a list of available "
 "commands."
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
@@ -1641,171 +1448,23 @@ msgstr ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr " User is offline."
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr " Sent: \""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr "\""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr "ChanServ error"
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr "ChanServ is not in this channel."
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr "What should be the new topic?"
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr "Message:"
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr "Lock channel..."
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr "What should the new password be?"
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr "Unlock Channel"
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr "Are you sure you want to unlock this channel?"
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr "ChanServ is not on this server."
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr "Register Channel"
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr "Who should be appointed founder of this channel?"
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr "Unregister Channel"
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr "Are you sure you want to unregister this channel?"
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr "Remove User Acount"
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr "What user account do you want to remove today?"
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr "Remove Account"
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr "Are you sure you want to remove the account "
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr "Change User Acount Password"
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr "What user account do you want to change the password for?"
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr "What would be the new password?"
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr "Not Implemented"
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr "Broadcast Message"
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr "Message to be broadcasted:"
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr "You don't have the mod "
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr " . Please download it first"
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr "Mod unavailable"
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr "This battle is password protected, enter the password."
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr "Mute User"
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr "For how many minutes should the user be muted?"
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr "Kick User"
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr "Reason:"
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr "Kick user"
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr "Mute user"
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr "Duration:"
-
-#: src/chatpanel.cpp:1797
-msgid "couldn't add user"
-msgstr "couldn't add user"
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr "Connect to lobby server"
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
@@ -1813,20 +1472,20 @@ msgstr ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr "Password"
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr "Remember password"
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr "Autoconnect next time"
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
@@ -1834,37 +1493,38 @@ msgstr ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
+#, fuzzy
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 "Note: If you do not have an account, you\n"
 " can register one for free under the\n"
 "\"Register\" tab."
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr "Login"
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr "Register"
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr "Nick"
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr "Invalid port."
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr "Invalid port"
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
@@ -1874,15 +1534,15 @@ msgstr ""
 "\n"
 "It must be an integer between 1 and 65535"
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr "Invalid host/port."
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr "Invalid host"
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
@@ -1890,11 +1550,11 @@ msgstr ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid "Invalid nickname"
 msgstr "Invalid nickname"
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 msgid ""
 "Registration failed, the reason was:\n"
 "Password / confirmation mismatch (or empty passwort)"
@@ -1902,7 +1562,7 @@ msgstr ""
 "Registration failed, the reason was:\n"
 "Password / confirmation mismatch (or empty passwort)"
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr "Registration failed."
 
@@ -2895,9 +2555,8 @@ msgid "Last generated spring launching script"
 msgstr "Last generated spring launching script"
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 msgid "Name"
 msgstr "Name"
 
@@ -2983,8 +2642,8 @@ msgstr "Notify Hosted Battles"
 msgid "Notify when users of this group hosts a battle"
 msgstr "Notify when users of this group hosts a battle"
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr "Ignore PM"
 
@@ -3077,9 +2736,8 @@ msgstr ""
 "\n"
 "successfully saved to:\n"
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 msgid "Success"
 msgstr "Success"
 
@@ -3088,7 +2746,7 @@ msgstr "Success"
 msgid "Couldn't save file"
 msgstr "Could not save\n"
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 msgid "Default"
 msgstr "Default"
 
@@ -3121,113 +2779,113 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr "Host new battle"
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr "A short description of the game, this will show up in the battle list."
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "Description"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 #, fuzzy
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 "Automatically locks the battle when the game starts and unlock when it's "
 "finished."
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr "Select the mod to play with."
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr "Password needed to join game. Keep empty for no password"
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr "Port"
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr "UDP port to host game on. Default is 8452."
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 #, fuzzy
 msgid "Randomly picks an available one"
 msgstr "not available"
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr "Number of players"
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr "The maximum number of players to allow in the battle."
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr "Hole punching"
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr "NAT traversal"
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 msgid "NAT traversal to use."
 msgstr "NAT traversal to use."
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr "Minimum Rank needed"
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr "Start hosting the battle."
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr "You have to select a mod first."
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr "No mod selected."
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
@@ -3235,7 +2893,7 @@ msgstr ""
 "\n"
 "successfully saved to:\n"
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 msgid ""
 "\n"
 "successfully unzipped in:\n"
@@ -3243,7 +2901,7 @@ msgstr ""
 "\n"
 "successfully unzipped in:\n"
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
@@ -3251,11 +2909,11 @@ msgstr ""
 "\n"
 " unzipping failed, please correct manually"
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr "Could not save\n"
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
@@ -3263,7 +2921,7 @@ msgstr ""
 "\n"
 "to:\n"
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
@@ -3271,69 +2929,69 @@ msgstr ""
 "\n"
 "Error number: "
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr "Web Browser"
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr "Default Browser."
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr "Use your system-wide browser preference"
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr "Specify:"
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr "Specify the web browser you want to use"
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr "Browse"
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr "Use a file dialog to find the web browser"
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 #, fuzzy
 msgid "Path"
 msgstr "Watch"
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 #, fuzzy
 msgid "Use a file dialog to find the editor binary"
 msgstr "Use a file dialog to find the web browser"
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 msgid "Autoconnect"
 msgstr "Autoconnect"
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 "If checked, SpringLobby will automatically log on to the last used server"
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 msgid "Autoconnect on lobby start"
 msgstr "Autoconnect on lobby start"
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr "Report statistics"
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3347,15 +3005,15 @@ msgstr ""
 "updates.\n"
 "Uncheck to disable."
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr "report statistics"
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr "Automatic updates"
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
@@ -3363,27 +3021,27 @@ msgstr ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr "automatically check for updates"
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 msgid "Tooltips"
 msgstr "Tooltips"
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 msgid "Show Tooltips?"
 msgstr "Show Tooltips?"
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr "Requires SpringLobby restart to take effect."
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr "Tab completion method"
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
@@ -3393,32 +3051,32 @@ msgstr ""
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
 "distance"
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 msgid "Match exact"
 msgstr "Match exact"
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr "Match nearest"
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 #, fuzzy
 msgid "Start tab"
 msgstr "Start"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3431,7 +3089,7 @@ msgstr "Choose a web browser executable"
 msgid "Choose a editor browser executable"
 msgstr "Choose a web browser executable"
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 #, fuzzy
 msgid "Disconnected from server, chat closed."
 msgstr "Disconnected from server."
@@ -3440,126 +3098,110 @@ msgstr "Disconnected from server."
 msgid "Battle list"
 msgstr "Battle list"
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr "Battleroom"
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr "Options"
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 msgid "Unit Restrictions"
 msgstr "Unit Restrictions"
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr "Spring"
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr "P2P"
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr "Chat"
 
-#: src/mainoptionstab.cpp:75
-msgid "General"
-msgstr "General"
-
-#: src/mainoptionstab.cpp:78
-msgid "Groups"
-msgstr "Groups"
-
-#: src/mainoptionstab.cpp:80
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
 msgid "Restore"
 msgstr "Restore"
 
-#: src/mainoptionstab.cpp:81
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
 msgid "Apply"
 msgstr "Apply"
 
-#: src/mainsingleplayertab.cpp:41
+#: src/mainoptionstab.cpp:87
+msgid "General"
+msgstr "General"
+
+#: src/mainoptionstab.cpp:90
+msgid "Groups"
+msgstr "Groups"
+
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr "Game"
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr "Transfers in progress: "
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr "Total Outgoing: "
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr "Total Incoming: "
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr "unknown"
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr "Cancel Download"
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr "Publish new file"
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr "Search file"
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 #, fuzzy
 msgid "Download Lua widgets"
 msgstr "Enable LuaUI widgets"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr "not available"
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr "seeding"
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr "leeching"
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr "queued"
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr "Status: not connected"
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr "Status: connected"
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr "Status: throttled or paused (ingame)"
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr "Status: unknown"
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr "Total Outgoing: %.2f KB/s"
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr "Total Incoming: %.2f KB/s"
@@ -3568,286 +3210,300 @@ msgstr "Total Incoming: %.2f KB/s"
 msgid "SpringLobby"
 msgstr "SpringLobby"
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr "&Connect..."
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr "&Disconnect"
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 msgid "&Save options"
 msgstr "&Save options"
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr "&Quit"
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+#, fuzzy
+msgid "&Save Layout"
+msgstr "&Save options"
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr "&Join channel..."
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 msgid "Channel &list"
 msgstr "Channel &list"
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr "Open private &chat..."
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr "&Autojoin channels..."
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr "&Reload maps/mods"
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr "Check for new Version"
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr "SpringSettings"
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr "&About"
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 msgid "&Change language"
 msgstr "&Change language"
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr "&Report a bug..."
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr "&Documentation"
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr "&File"
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+#, fuzzy
+msgid "&View"
+msgstr "&File"
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr "&Tools"
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr "&Help"
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr "You need to be connected to server to view channel list"
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "Not connected"
 msgstr "Not connected"
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr "Join channel..."
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr "Name of channel to join"
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr "Open Private Chat..."
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr "Name of user"
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 #, fuzzy
 msgid "No files found"
 msgstr "No maps found"
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr "Manually &Start Torrent System"
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr "Manually &Stop Torrent System"
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 "You need to restart SpringLobby for the language change to take effect."
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr "Restart required"
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr "Layout manager"
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr "Enter a profile name"
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr "Which profile fo you want to load?"
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 msgid "Which profile do you want to be default?"
 msgstr "Which profile do you want to be default?"
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr "Multiplayer"
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr "Singleplayer"
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 #, fuzzy
 msgid "Savegames"
 msgstr "Save"
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 msgid "Replays"
 msgstr "Replays"
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 msgid "Downloads"
 msgstr "Downloads"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr "Metal: %.1f%%"
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr "Refresh"
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr "Download"
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr "side:"
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr "ally:   %d"
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr "bonus: %d%%"
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 msgid "Show"
 msgstr ""
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 #, fuzzy
 msgid "Filter"
 msgstr " Filter "
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 #, fuzzy
 msgid "Map details"
 msgstr "Max metal"
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 #, fuzzy
 msgid "Start positions"
 msgstr "Startpositions"
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 #, fuzzy
 msgid "Minimum wind"
 msgstr "Minimum Rank needed"
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 #, fuzzy
 msgid "Average wind"
 msgstr "Average"
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 #, fuzzy
 msgid "Aspect ratio"
 msgstr "Spectator"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 #, fuzzy
 msgid "Number of start positions"
 msgstr "Random start positions"
@@ -3889,20 +3545,20 @@ msgstr "List of restricted units"
 msgid "Map name"
 msgstr "Map name"
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 #, fuzzy
 msgid "Change option"
 msgstr "&Save options"
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr "s"
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr "c"
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr "r"
 
@@ -3966,38 +3622,38 @@ msgstr "Filesize"
 msgid "Filesize in kilobyte"
 msgstr "Filesize in KB:"
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr "File"
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr "Watch"
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "Lock..."
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr "Reload list"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "Replays"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "savegame"
 msgstr "Save"
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr "Couldn't get your spring versions from any unitsync library."
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, fuzzy, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
@@ -4006,11 +3662,11 @@ msgstr ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr "Your current installed versions are:"
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
 "\n"
@@ -4018,7 +3674,7 @@ msgstr ""
 "You need to download the mod before you can watch this replay.\n"
 "\n"
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -4027,18 +3683,18 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 #, fuzzy
 msgid "Invalid replay"
 msgstr "Invalid port"
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr "Could not delete Replay: "
 
@@ -4054,92 +3710,92 @@ msgstr "Enter text filter to filter the online users list"
 msgid "Select Users"
 msgstr "Select Users"
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 msgid " is online"
 msgstr " is online"
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr " is now "
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr "OnUserStatus() failed ! (exception)"
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 msgid " just went offline"
 msgstr " just went offline"
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 msgid " opened battle "
 msgstr " opened battle "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr "Join channel failed"
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr "Could not join channel "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr " because: "
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr "Server Message"
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr " has ip=%s"
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr " does not really support nat traversal"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr "You were kicked from the battle!"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr "Kicked by Host"
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr "Begin mutelist for "
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, fuzzy, c-format
 msgid "%s mutelist"
 msgstr " mutelist"
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr " indefinite time remaining"
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr " %d minutes remaining"
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr "End mutelist for "
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy
 msgid "Download update"
 msgstr "Download complete"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -4150,7 +3806,7 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 #, fuzzy
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
@@ -4158,67 +3814,67 @@ msgstr ""
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 #, fuzzy
 msgid "Negotiation error"
 msgstr "Notification"
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 #, fuzzy
 msgid "Invalid Value"
 msgstr "Invalid number"
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 #, fuzzy
 msgid "No Handler"
 msgstr "Not a number"
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 #, fuzzy
 msgid "File doesn't exit"
 msgstr "Map does not exist."
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "Activated"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 #, fuzzy
 msgid "Reconnection Error"
 msgstr "Reconnect"
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 #, fuzzy
 msgid "Unknown Error"
 msgstr "Unknown"
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 #, fuzzy
 msgid "Download complete, location is: "
 msgstr "Download complete"
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 #, fuzzy
 msgid "Download complete."
 msgstr "Download complete"
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer. File location is: "
 msgstr "Couldn't launch browser. URL is: "
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer."
 msgstr "Couldn't launch browser."
@@ -4923,74 +4579,74 @@ msgid "Save Spring settings before exiting?"
 msgstr "Save Spring settings before exiting?"
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr "Confirmation needed"
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr "SpringSettings (expert mode)"
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr "SpringSettings (simple mode)"
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr "Save settings"
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr "Reset settings to default values"
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr "Disable expert mode warning"
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr "Quit"
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr "Simple (few options)"
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr "Expert (all options"
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr "About"
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr "Contact"
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr "Credits"
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr "Report a bug"
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr "Mode"
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr "Info/Help"
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr "Reset ALL settings to default values?"
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr "Hint"
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr "SpringSettings (expert mode)"
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -5015,7 +4671,7 @@ msgstr ""
 msgid "everyone reporting bugs/suggestions"
 msgstr "everyone reporting bugs/suggestions"
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5027,27 +4683,32 @@ msgstr ""
 "\n"
 "please enable wxUSE_DEBUGREPORT"
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr "Critical error"
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -5090,8 +4751,8 @@ msgstr "Path settings"
 msgid "Choose an unitsync library"
 msgstr "Choose an unitsync library"
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr "Any File"
 
@@ -5131,23 +4792,23 @@ msgstr "very high"
 msgid "can't launch default browser"
 msgstr "can't launch default browser"
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr "Couldn't launch browser. URL is: "
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr "Couldn't launch browser."
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr "Could not access your settings.\n"
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr "Could not save, unitsync not properly loaded"
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr "SpringSettings Error"
 
@@ -5155,11 +4816,11 @@ msgstr "SpringSettings Error"
 msgid "Audio Options"
 msgstr "Audio Options"
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr "Screen Resolution"
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
@@ -5167,31 +4828,31 @@ msgstr ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr "Water Quality"
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr "Resolution in bit"
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr "Render Quality Options"
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr "Video Mode Options"
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr "Anti-Aliasing Options"
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr "Z-/Depth-Buffer"
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr "Bump-mapped Water"
 
@@ -5296,7 +4957,7 @@ msgstr "Misc. UI Options"
 msgid "Zoom"
 msgstr "Zoom"
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
@@ -5304,32 +4965,32 @@ msgstr ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr "Add bot..."
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 #, fuzzy
 msgid "Spectate only"
 msgstr "Spectator"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 msgid "Random start positions"
 msgstr "Random start positions"
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr "-- Select one --"
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr "Gamesetup error"
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr "You have to select a map first."
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
@@ -5339,63 +5000,30 @@ msgstr ""
 " The game will be over pretty fast.\n"
 " "
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr "No Bot added"
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr "You cannot start a spring instance while another is already running"
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
-msgstr "Hi "
-
-#: src/springlobbyapp.cpp:168
-msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
-"\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
-"\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
 
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
-msgstr "Welcome"
-
-#: src/springlobbyapp.cpp:172
-#, fuzzy
+#: src/springlobbyapp.cpp:183
 msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
-msgstr ""
-"By default SpringLobby reports some statistics.\n"
-"You can disable that on options tab --> General."
-
-#: src/springlobbyapp.cpp:172
-msgid "Notice"
-msgstr "Notice"
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
+"\n"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:188
+#: src/springlobbyapp.cpp:183
 #, fuzzy
-msgid "Import settings?"
-msgstr "Path settings"
+msgid "Fatal error"
+msgstr "Critical error"
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5407,69 +5035,77 @@ msgstr ""
 "\n"
 "please get a wxWidgets library that supports wxUSE_DEBUGREPORT"
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 #, fuzzy
 msgid "Ignore chat"
 msgstr "Ignore Chat"
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 #, fuzzy
 msgid "Battle Autokick"
 msgstr "Autokick"
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 #, fuzzy
 msgid "Friends"
 msgstr "Find"
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr "Spring executable"
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr "Location"
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr "Find"
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr "UnitSync library"
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr "Auto Configure"
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr "Choose a Spring executable"
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr "Library"
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr "Choose UnitSync library"
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5502,7 +5138,7 @@ msgstr ""
 "Something went wrong when creating the directories\n"
 "Please create manually the following folders:"
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr "Connection timed out"
 
@@ -5526,44 +5162,45 @@ msgstr "line "
 msgid " , column "
 msgstr " , column "
 
-#: src/torrentlistctrl.cpp:44
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
+msgstr ""
+
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
 #, fuzzy
-msgid "Numcopies"
-msgstr "numcopies"
+msgid "Cancel torrent"
+msgstr "Pause all torrents"
 
-#: src/torrentlistctrl.cpp:48
-msgid "MB downloaded"
-msgstr "MB downloaded"
+#: src/torrentlistctrl.cpp:173
+#, fuzzy
+msgid "Retry torrent"
+msgstr "Restore"
 
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
-msgstr "MB uploaded"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
+msgstr ""
 
-#: src/torrentlistctrl.cpp:56
+#: src/torrentlistctrl.cpp:264
 #, fuzzy
-msgid "Status"
-msgstr "Status:"
-
-#: src/torrentlistctrl.cpp:60
-#, c-format
-msgid "% complete"
-msgstr "% complete"
+msgid "not found"
+msgstr "No maps found"
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
-msgstr "KB/s up"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
+msgstr "queued"
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
-msgstr "KB/s down"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
+msgstr "leeching"
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
-msgstr "ETA (s)"
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "% complete"
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
-msgstr "Filesize (MB)"
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
+msgstr "seeding"
 
 #: src/torrentoptionspanel.cpp:37
 msgid "Torrent system autostart"
@@ -5633,11 +5270,11 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr "Torrent system failure"
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr "Server password"
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
@@ -5645,47 +5282,39 @@ msgstr ""
 "Registration successful,\n"
 "you should now be able to login."
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr "Registration successful"
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr "Registration failed, the reason was:\n"
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-"\n"
-"Broser path is: "
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr "Help error"
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr "Type /help in a chat box."
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr "SpringLobby commands help."
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr "Global commands:"
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr "  \"/away\" - Sets your status to away."
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr "  \"/back\" - Resets your away status."
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
@@ -5693,11 +5322,11 @@ msgstr ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr "  \"/channels\" - Lists currently active channels."
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
@@ -5705,23 +5334,23 @@ msgstr ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 #, fuzzy
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
 msgstr ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Join a channel."
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr "  \"/j\" - Alias to /join."
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 #, fuzzy
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr "  \"/ingame\" - Show how much time you have in game."
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 #, fuzzy
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
@@ -5730,47 +5359,47 @@ msgstr ""
 "  \"/msg username [text]\" - sends a private message containing text to "
 "username."
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 #, fuzzy
 msgid "  \"/part\" - Leaves current channel."
 msgstr "  \"/channels\" - Lists currently active channels."
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 #, fuzzy
 msgid "  \"/p\" - Alias to /part."
 msgstr "  \"/j\" - Alias to /join."
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr "  \"/rename newalias\" - Changes your nickname to newalias."
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 #, fuzzy
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr "  \"/sayver\" - Say what version of springlobby you have in chat."
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 #, fuzzy
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr "  \"/ver\" - Display what version of SpringLobby you have."
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr "Chat commands:"
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr "  \"/me action\" - Say IRC style action message."
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
@@ -5778,19 +5407,19 @@ msgstr ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr "No topics written yet."
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr "The topic \""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr "\" was not found. Type \"/help topics\" only for available topics."
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
 "\n"
@@ -5800,7 +5429,7 @@ msgstr ""
 "\n"
 "Online play is currently disabled."
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
@@ -5809,48 +5438,48 @@ msgstr ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 msgid "Online play is currently disabled."
 msgstr "Online play is currently disabled."
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 msgid "Disconnected from server."
 msgstr "Disconnected from server."
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 #, fuzzy
 msgid "Connection failure"
 msgstr "Connection timed out"
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr "no active chat panels open."
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr "(%d users)"
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr "Server message"
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr "The current battle was closed by the host."
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr "Battle closed"
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
@@ -5860,15 +5489,15 @@ msgstr ""
 "you should take another look at your settings before trying\n"
 "to play online."
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr "Spring settings error"
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr "The selected preset requires the map "
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5880,11 +5509,59 @@ msgstr ""
 "                                    Please reselect the preset after "
 "download finished"
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr "Map missing"
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr "Hi "
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr "Welcome"
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+"By default SpringLobby reports some statistics.\n"
+"You can disable that on options tab --> General."
+
+#: src/ui.cpp:1242
+msgid "Notice"
+msgstr "Notice"
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+#, fuzzy
+msgid "Import settings?"
+msgstr "Path settings"
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
@@ -5894,15 +5571,15 @@ msgstr ""
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr "Your Version: "
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr "Latest Version: "
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
@@ -5910,7 +5587,7 @@ msgstr ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 #, fuzzy
 msgid ""
 "\n"
@@ -5923,20 +5600,16 @@ msgstr ""
 "Would you like for me to autodownload the new version? It will be "
 "automatically used next time you launch the lobby again."
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 #, fuzzy
 msgid "Not up to date"
 msgstr "Not up to Date"
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr "Not up to Date"
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
@@ -5944,7 +5617,7 @@ msgstr ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 msgid ""
 "There was an error downloading for the latest version.\n"
 "Please try again later.\n"
@@ -5954,11 +5627,11 @@ msgstr ""
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
-#, c-format
+#: src/updater/updater.cpp:92
+#, fuzzy, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
@@ -5967,11 +5640,11 @@ msgstr ""
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr "Update complete. The changes will be available next lobby start."
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
@@ -5981,7 +5654,7 @@ msgstr ""
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr "Partial success"
 
@@ -6105,15 +5778,15 @@ msgstr "Veteran"
 msgid "Unknown"
 msgstr "Unknown"
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr "Create new group..."
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 msgid "Add to group..."
 msgstr "Add to group..."
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 msgid "Remove from group"
 msgstr "Remove from group"
 
@@ -6194,6 +5867,242 @@ msgstr ""
 #~ msgid "cpu"
 #~ msgstr "cpu"
 
+#~ msgid "Disable text appending (workaround for autoscroll)"
+#~ msgstr "Disable text appending (workaround for autoscroll)"
+
+#, fuzzy
+#~ msgid "Clear"
+#~ msgstr "Clans"
+
+#~ msgid "Auto join this channel"
+#~ msgstr "Auto join this channel"
+
+#~ msgid "Display Join/Leave Messages"
+#~ msgstr "Display Join/Leave Messages"
+
+#~ msgid "Show mute list"
+#~ msgstr "Show mute list"
+
+#~ msgid "Channel info"
+#~ msgstr "Channel info"
+
+#~ msgid "Set topic..."
+#~ msgstr "Set topic..."
+
+#~ msgid "Channel message..."
+#~ msgstr "Channel message..."
+
+#~ msgid "Lock..."
+#~ msgstr "Lock..."
+
+#~ msgid "Unlock"
+#~ msgstr "Unlock"
+
+#~ msgid "Register..."
+#~ msgstr "Register..."
+
+#~ msgid "Unregister"
+#~ msgstr "Unregister"
+
+#~ msgid "On"
+#~ msgstr "On"
+
+#~ msgid "Off"
+#~ msgstr "Off"
+
+#~ msgid "Is on?"
+#~ msgstr "Is on?"
+
+#~ msgid "Spam protection"
+#~ msgstr "Spam protection"
+
+#~ msgid "ChanServ"
+#~ msgstr "ChanServ"
+
+#~ msgid "Disconnect"
+#~ msgstr "Disconnect"
+
+#~ msgid "Remove..."
+#~ msgstr "Remove..."
+
+#~ msgid "Change password..."
+#~ msgstr "Change password..."
+
+#~ msgid "Set access..."
+#~ msgstr "Set access..."
+
+#~ msgid "Accounts"
+#~ msgstr "Accounts"
+
+#~ msgid "Broadcast..."
+#~ msgstr "Broadcast..."
+
+#~ msgid "Admin"
+#~ msgstr "Admin"
+
+#, fuzzy
+#~ msgid "User"
+#~ msgstr "Mute User"
+
+#~ msgid "Open Chat"
+#~ msgstr "Open Chat"
+
+#~ msgid "Join same battle"
+#~ msgstr "Join same battle"
+
+#~ msgid "Ingame time"
+#~ msgstr "Ingame time"
+
+#~ msgid "Retrieve IP and Smurfs"
+#~ msgstr "Retrieve IP and Smurfs"
+
+#~ msgid "Mute..."
+#~ msgstr "Mute..."
+
+#~ msgid "Mute for 5 minutes"
+#~ msgstr "Mute for 5 minutes"
+
+#~ msgid "Mute for 10 minutes"
+#~ msgstr "Mute for 10 minutes"
+
+#~ msgid "Mute for 30 minutes"
+#~ msgstr "Mute for 30 minutes"
+
+#~ msgid "Mute for 2 hours"
+#~ msgstr "Mute for 2 hours"
+
+#~ msgid "Mute for 1 day"
+#~ msgstr "Mute for 1 day"
+
+#~ msgid "Unmute"
+#~ msgstr "Unmute"
+
+#~ msgid "Mute"
+#~ msgstr "Mute"
+
+#~ msgid "Kick..."
+#~ msgstr "Kick..."
+
+#~ msgid "Ban..."
+#~ msgstr "Ban..."
+
+#~ msgid "Unban"
+#~ msgstr "Unban"
+
+#~ msgid "Slap!"
+#~ msgstr "Slap!"
+
+#~ msgid "Op"
+#~ msgstr "Op"
+
+#~ msgid "DeOp"
+#~ msgstr "DeOp"
+
+#~ msgid "ChanServ error"
+#~ msgstr "ChanServ error"
+
+#~ msgid "ChanServ is not in this channel."
+#~ msgstr "ChanServ is not in this channel."
+
+#~ msgid "What should be the new topic?"
+#~ msgstr "What should be the new topic?"
+
+#~ msgid "Message:"
+#~ msgstr "Message:"
+
+#~ msgid "Lock channel..."
+#~ msgstr "Lock channel..."
+
+#~ msgid "What should the new password be?"
+#~ msgstr "What should the new password be?"
+
+#~ msgid "Unlock Channel"
+#~ msgstr "Unlock Channel"
+
+#~ msgid "Are you sure you want to unlock this channel?"
+#~ msgstr "Are you sure you want to unlock this channel?"
+
+#~ msgid "ChanServ is not on this server."
+#~ msgstr "ChanServ is not on this server."
+
+#~ msgid "Register Channel"
+#~ msgstr "Register Channel"
+
+#~ msgid "Who should be appointed founder of this channel?"
+#~ msgstr "Who should be appointed founder of this channel?"
+
+#~ msgid "Unregister Channel"
+#~ msgstr "Unregister Channel"
+
+#~ msgid "Are you sure you want to unregister this channel?"
+#~ msgstr "Are you sure you want to unregister this channel?"
+
+#~ msgid "Remove User Acount"
+#~ msgstr "Remove User Acount"
+
+#~ msgid "What user account do you want to remove today?"
+#~ msgstr "What user account do you want to remove today?"
+
+#~ msgid "Remove Account"
+#~ msgstr "Remove Account"
+
+#~ msgid "Are you sure you want to remove the account "
+#~ msgstr "Are you sure you want to remove the account "
+
+#~ msgid "Change User Acount Password"
+#~ msgstr "Change User Acount Password"
+
+#~ msgid "What user account do you want to change the password for?"
+#~ msgstr "What user account do you want to change the password for?"
+
+#~ msgid "What would be the new password?"
+#~ msgstr "What would be the new password?"
+
+#~ msgid "Not Implemented"
+#~ msgstr "Not Implemented"
+
+#~ msgid "Broadcast Message"
+#~ msgstr "Broadcast Message"
+
+#~ msgid "Message to be broadcasted:"
+#~ msgstr "Message to be broadcasted:"
+
+#~ msgid "You don't have the mod "
+#~ msgstr "You don't have the mod "
+
+#~ msgid " . Please download it first"
+#~ msgstr " . Please download it first"
+
+#~ msgid "Mod unavailable"
+#~ msgstr "Mod unavailable"
+
+#~ msgid "This battle is password protected, enter the password."
+#~ msgstr "This battle is password protected, enter the password."
+
+#~ msgid "Mute User"
+#~ msgstr "Mute User"
+
+#~ msgid "For how many minutes should the user be muted?"
+#~ msgstr "For how many minutes should the user be muted?"
+
+#~ msgid "Kick User"
+#~ msgstr "Kick User"
+
+#~ msgid "Reason:"
+#~ msgstr "Reason:"
+
+#~ msgid "Kick user"
+#~ msgstr "Kick user"
+
+#~ msgid "Mute user"
+#~ msgstr "Mute user"
+
+#~ msgid "Duration:"
+#~ msgstr "Duration:"
+
+#~ msgid "couldn't add user"
+#~ msgstr "couldn't add user"
+
 #~ msgid "Test firewall"
 #~ msgstr "Test firewall"
 
@@ -6212,6 +6121,9 @@ msgstr ""
 #~ msgid "Game is in progress and full."
 #~ msgstr "Transfers in progress: "
 
+#~ msgid "not available"
+#~ msgstr "not available"
+
 #~ msgid "Chose in game"
 #~ msgstr "Chose in game"
 
@@ -6240,9 +6152,37 @@ msgstr ""
 #~ msgid "Player"
 #~ msgstr "Player:"
 
+#~ msgid "numcopies"
+#~ msgstr "numcopies"
+
+#~ msgid "MB downloaded"
+#~ msgstr "MB downloaded"
+
+#~ msgid "MB uploaded"
+#~ msgstr "MB uploaded"
+
 #~ msgid "status"
 #~ msgstr "status"
 
+#~ msgid "KB/s up"
+#~ msgstr "KB/s up"
+
+#~ msgid "KB/s down"
+#~ msgstr "KB/s down"
+
+#~ msgid "ETA (s)"
+#~ msgstr "ETA (s)"
+
+#~ msgid "Filesize (MB)"
+#~ msgstr "Filesize (MB)"
+
+#~ msgid ""
+#~ "\n"
+#~ "Broser path is: "
+#~ msgstr ""
+#~ "\n"
+#~ "Broser path is: "
+
 #~ msgid "Choose color"
 #~ msgstr "Choose color"
 
diff --git a/po/es.gmo b/po/es.gmo
index 2369510..fea6f9f 100644
Binary files a/po/es.gmo and b/po/es.gmo differ
diff --git a/po/es.po b/po/es.po
index 89478c2..17f8a1e 100644
--- a/po/es.po
+++ b/po/es.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the springlobby package.
 # FIRST AUTHOR <EMAIL at ADDRESS>, 2008.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: springlobby\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2008-07-30 23:41+0000\n"
 "Last-Translator: SpringLobby_Buildbot <Unknown>\n"
 "Language-Team: Spanish <es at li.org>\n"
@@ -51,8 +51,8 @@ msgid "value"
 msgstr "Valor"
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "Cancelar"
 
@@ -105,7 +105,7 @@ msgstr "Aleatorio"
 msgid "Clans"
 msgstr "Clanes"
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "Ninguno"
 
@@ -144,46 +144,46 @@ msgstr "Números"
 msgid "Auto select"
 msgstr "Remover Cuenta de Usuario"
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "Ok"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "Descripción"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "Mapa"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr "Mod"
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "Host"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "Espectadores:"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 #, fuzzy
 msgid "Players"
 msgstr "Jugadores:"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "Mapa"
@@ -196,11 +196,11 @@ msgstr "Descargar &map"
 msgid "Download m&od"
 msgstr "Descargar m&od"
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "Espectadores:"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 #, fuzzy
 msgid "Active Players:"
 msgstr "Jugadores:"
@@ -255,8 +255,8 @@ msgid "All"
 msgstr "Todo"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "Mapa:"
 
@@ -269,8 +269,8 @@ msgid "Max.Player:"
 msgstr "Máx. Jugadores:"
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr "Mod:"
 
@@ -282,15 +282,15 @@ msgstr "Sólo mods que tengo"
 msgid "    Spectator:"
 msgstr "    Espectador:"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr "%d"
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "Jugadores:"
 
@@ -321,37 +321,37 @@ msgstr "Nuevo servidor..."
 msgid "Join"
 msgstr "Unirse"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, c-format
 msgid "%d battles displayed"
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 "No puedes ser servidor de un juego mientras continues en NO CONECTADO. Por "
 "favor favor, conéctate a un servidor."
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr "No estás en línea"
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr ""
 "No puedes ser servidor, lo tienes desactivado debido a que estás usando una "
 "versión incompatible"
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr "Error de Spring"
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
@@ -359,32 +359,32 @@ msgstr ""
 "Ya estás corriendo un Spring, cierra este primero para poder ser servidor en "
 "juego nuevo"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr "Ya estás en una batalla"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
 "Do you want to leave current battle to start a new?"
 msgstr "¿Quieres abandonar la batalla y empezar una nueva?"
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
 " Hosting may or may not work."
 msgstr ""
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
 "Hosting may or may not work with this setting."
 msgstr ""
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -396,25 +396,25 @@ msgid ""
 " option in the hosting settings."
 msgstr ""
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr "La batalla no comenzará porque no se encuentra el mod seleccionado. "
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr "Error empezando batalla."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
 msgstr ""
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "No se encontraron mapas"
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
@@ -422,12 +422,12 @@ msgstr ""
 "Unirse a las batallas está desactivado debido a que la versión que usas de "
 "Spring es incompatible."
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid "Already in this battle"
 msgstr "Ya estás en una batalla"
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid ""
 "You are already in this battle.\n"
@@ -435,12 +435,12 @@ msgid ""
 "Do you want to leave it?"
 msgstr "¿Quieres abandonar la batalla y empezar una nueva?"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid "Already in another battle"
 msgstr "Ya estás en una batalla"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid ""
 "You are already in a battle.\n"
@@ -451,7 +451,7 @@ msgstr ""
 "\n"
 "¿Quieres abandonar la batalla y unirte a ésta?"
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
@@ -459,41 +459,41 @@ msgstr ""
 "Ya estás ejecutando un Spring, cierra primero éste para poder unirte a otra "
 "batalla."
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr ""
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 msgid ""
 "Should i try to download it for you?\n"
 "You can see the progress in the \"Download Manager\" tab."
 msgstr ""
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr "Mot no disponible"
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr "Mapa no avalible"
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr "Password de batalla"
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr "Introduzca la contraseña"
 
@@ -503,45 +503,45 @@ msgid "Select"
 msgstr "Seleccionar..."
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr "Opción"
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr "Valor"
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr "Tamaño"
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr "Windspeed"
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr ""
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr "Gravedad"
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr ""
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr "Max metal"
 
@@ -562,263 +562,263 @@ msgstr ""
 msgid "Startpositions"
 msgstr "POsiciones iniciales"
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr "Restricciones de unidad"
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr "Unidades permitidas"
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr "Las unidades de esta lista estarán disponibles en el juego."
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 #, fuzzy
 msgid "Disable selected units."
 msgstr "Activar todas las unidades"
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 #, fuzzy
 msgid "Re-enable selected units."
 msgstr "Activar todas las unidades"
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr ""
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr "Activar todas las unidades"
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr "Unidades restringidas."
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr "Las unidades de esta lista no estarán disponibles en el juego."
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 #, fuzzy
 msgid "Unit restriction"
 msgstr "Restricciones de unidad"
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr "Apodo"
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr "Equipo"
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr "Aliado"
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr "Lado"
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr "Escoger color"
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr "Espectador"
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr "Expulsar"
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr "Anillo"
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr "Por favor, introduzca un valor entre 0 y 100"
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 #, fuzzy
 msgid "AI (bot)\n"
 msgstr "Añadir robot"
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 msgid "Human\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 #, fuzzy
 msgid "Spectator\n"
 msgstr "Espectador"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 #, fuzzy
 msgid "Player\n"
 msgstr "Jugador:"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 #, fuzzy
 msgid "Host\n"
 msgstr "Host"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 #, fuzzy
 msgid "Client\n"
 msgstr "Cliente"
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 #, fuzzy
 msgid "Ready\n"
 msgstr "Siempre"
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 #, fuzzy
 msgid "Not ready\n"
 msgstr "No está listo"
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 msgid "In sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 msgid "Set name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr "Cargar..."
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 #, fuzzy
 msgid "Load a saved set of options."
 msgstr "Cargar una configuración de restricciones."
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 #, fuzzy
 msgid "Save..."
 msgstr "Guardar..."
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 #, fuzzy
 msgid "Save a set of options."
 msgstr "Guardar configuración de restricciones."
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 #, fuzzy
 msgid "Delete..."
 msgstr "Seleccionar..."
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 #, fuzzy
 msgid "Delete a set of options."
 msgstr "Guardar configuración de restricciones."
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 #, fuzzy
 msgid "Set default..."
 msgstr "predeterminado"
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 msgid "Mod Options"
 msgstr "Opciones de Mod"
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr "Opciones de mapa"
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 #, fuzzy
 msgid "no options available"
 msgstr "Mot no disponible"
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr "error"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 msgid "Delete preset"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 #, fuzzy
 msgid "Set mod default preset"
 msgstr "predeterminado"
@@ -861,7 +861,7 @@ msgid ""
 "set) starting boxes."
 msgstr ""
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr "Abandonar"
 
@@ -869,7 +869,7 @@ msgstr "Abandonar"
 msgid "Leave the battle and return to the battle list"
 msgstr ""
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr "Comenzar"
 
@@ -1053,7 +1053,7 @@ msgstr ""
 msgid "Save"
 msgstr "Guardar..."
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 msgid "Delete"
 msgstr ""
 
@@ -1128,7 +1128,7 @@ msgstr ""
 msgid "Find channel:"
 msgstr ""
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 msgid "Choose channels to join"
 msgstr ""
 
@@ -1190,67 +1190,64 @@ msgid ""
 "Be sure that there isn't a write protection.\n"
 msgstr ""
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr "Colores y fuentes"
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr "Utilice los colores del sistema"
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr "Normal"
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr "Fondo"
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr "Acción"
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr "Highlight"
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr "Unir/Abanadonar"
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr "Mis mensajes"
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr "Servidor"
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr "Cliente"
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr "Error"
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr "Timestamp"
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr "Notificación"
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
 "[22:30] <Dude> hi everyone\n"
@@ -1260,587 +1257,249 @@ msgid ""
 "[22:46] <Dude2> But could be better, should tweak them some more...\n"
 msgstr ""
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr "Tipografía"
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr "predeterminado"
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr "Seleccionar..."
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr "Comportamiento"
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr ""
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr ""
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr ""
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr ""
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr ""
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr ""
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr ""
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr ""
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr ""
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, fuzzy, c-format
 msgid "%d users"
 msgstr "(%d usuarios)"
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr ""
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr ""
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr ""
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr ""
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-msgid "Clear"
-msgstr "Limpiar"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr ""
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr ""
-
-#: src/chatpanel.cpp:433
-msgid "Show mute list"
-msgstr ""
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr "Información del canal"
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr ""
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr "Mensaje del canal..."
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr ""
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr ""
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr ""
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr ""
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr ""
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr ""
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr ""
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr ""
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr "ChanServ"
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr ""
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr ""
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr ""
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr ""
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr ""
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr ""
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr ""
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr ""
-
-#: src/chatpanel.cpp:510
-#, fuzzy
-msgid "User"
-msgstr "Usuario Mudo"
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr "Abrir Chat"
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr ""
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr ""
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr ""
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr "Mudo..."
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr "Mudo por 5 minutos"
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr "Mudo por 10 minutos"
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr "Mudo por 30 minutos"
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr "Mudo por 5 horas"
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr "Mudo por 1 día"
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr ""
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr ""
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr ""
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr "Ban..."
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr ""
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr ""
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr ""
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr ""
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr " !! Comando: \""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr "\" params: \""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr ""
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr "batalla"
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr ""
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr ""
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr ""
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 #, fuzzy
 msgid " ** Channel topic:"
 msgstr "Información del canal"
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 msgid " ** Set by "
 msgstr ""
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr "Chat cerrado"
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr ""
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr ""
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr ""
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr ""
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
 "commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr ""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr ""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr ""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr "error de ChanServ"
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr ""
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr ""
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr ""
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr ""
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr ""
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr ""
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr "Registrar Canal"
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr "Remover Cuenta de Usuario"
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr ""
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr ""
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr ""
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr ""
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr ""
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr ""
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr ""
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr ""
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr ""
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr ""
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr ""
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr "Usuario Mudo"
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr ""
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr "Patear Usuario"
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr ""
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr "Patear usuario"
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr ""
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr ""
-
-#: src/chatpanel.cpp:1797
-#, fuzzy
-msgid "couldn't add user"
-msgstr "No se pudo lanzar el explorador."
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr ""
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
 msgstr ""
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr ""
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr ""
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr ""
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
 msgstr ""
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr ""
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr ""
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr ""
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr "puerto inválido."
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr "puerto inválido"
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
 "It must be an integer between 1 and 65535"
 msgstr ""
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr ""
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr "host inválido"
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 #, fuzzy
 msgid "Invalid nickname"
 msgstr "Número inválido"
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 msgid ""
 "Registration failed, the reason was:\n"
 "Password / confirmation mismatch (or empty passwort)"
 msgstr ""
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr ""
 
@@ -2833,9 +2492,8 @@ msgid "Last generated spring launching script"
 msgstr ""
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 #, fuzzy
 msgid "Name"
 msgstr "Apodo"
@@ -2927,8 +2585,8 @@ msgstr ""
 msgid "Notify when users of this group hosts a battle"
 msgstr ""
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr ""
 
@@ -3021,9 +2679,8 @@ msgstr "Elegir carpeta"
 msgid "File successfully saved"
 msgstr ""
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 msgid "Success"
 msgstr ""
 
@@ -3032,7 +2689,7 @@ msgstr ""
 msgid "Couldn't save file"
 msgstr "No se pudo lanzar el explorador."
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 #, fuzzy
 msgid "Default"
 msgstr "predeterminado"
@@ -3065,203 +2722,203 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr ""
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr ""
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "Descripción"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr ""
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr ""
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr ""
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr ""
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 #, fuzzy
 msgid "Randomly picks an available one"
 msgstr "Mot no disponible"
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr ""
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr ""
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr ""
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr ""
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 msgid "NAT traversal to use."
 msgstr ""
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr ""
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr ""
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr ""
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 msgid ""
 "\n"
 "successfully unzipped in:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr "Navegador web"
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr "Buscador predeterminado"
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr "Especificar:"
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr "Explorar"
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 msgid "Path"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 msgid "Use a file dialog to find the editor binary"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 msgid "Autoconnect"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 msgid "Autoconnect on lobby start"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3270,73 +2927,73 @@ msgid ""
 "Uncheck to disable."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 msgid "Tooltips"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 msgid "Show Tooltips?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
 "distance"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 msgid "Match exact"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 #, fuzzy
 msgid "Start tab"
 msgstr "Comenzar"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3349,7 +3006,7 @@ msgstr "Elegir una navegador web ejecutable"
 msgid "Choose a editor browser executable"
 msgstr "Elegir una navegador web ejecutable"
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 #, fuzzy
 msgid "Disconnected from server, chat closed."
 msgstr "Respuesta desconocida del servidor"
@@ -3358,128 +3015,112 @@ msgstr "Respuesta desconocida del servidor"
 msgid "Battle list"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr "Opciones"
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 #, fuzzy
 msgid "Unit Restrictions"
 msgstr "Restricciones de unidad"
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr ""
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr ""
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr ""
 
-#: src/mainoptionstab.cpp:75
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
+msgid "Restore"
+msgstr ""
+
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
+msgid "Apply"
+msgstr ""
+
+#: src/mainoptionstab.cpp:87
 #, fuzzy
 msgid "General"
 msgstr "Detalle de renderizado"
 
-#: src/mainoptionstab.cpp:78
+#: src/mainoptionstab.cpp:90
 msgid "Groups"
 msgstr ""
 
-#: src/mainoptionstab.cpp:80
-msgid "Restore"
-msgstr ""
-
-#: src/mainoptionstab.cpp:81
-msgid "Apply"
-msgstr ""
-
-#: src/mainsingleplayertab.cpp:41
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr ""
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr "desconocido"
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr ""
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 #, fuzzy
 msgid "Download Lua widgets"
 msgstr "Descargar &map"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr ""
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr "enviando"
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr ""
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr ""
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr "Estado: no conectado"
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr "Estado: conectado"
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr ""
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr "Estado: desconocido"
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr ""
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr ""
@@ -3488,289 +3129,302 @@ msgstr ""
 msgid "SpringLobby"
 msgstr "SpringLobby"
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr ""
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr ""
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 #, fuzzy
 msgid "&Save options"
 msgstr "Opciones de mapa"
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr ""
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+#, fuzzy
+msgid "&Save Layout"
+msgstr "Opciones de mapa"
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr ""
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 #, fuzzy
 msgid "Channel &list"
 msgstr "Información del canal"
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr ""
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr ""
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr ""
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr ""
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr ""
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr ""
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 #, fuzzy
 msgid "&Change language"
 msgstr "Información del canal"
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr ""
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr ""
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr ""
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+msgid "&View"
+msgstr ""
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr ""
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 #, fuzzy
 msgid "Not connected"
 msgstr "Estado: conectado"
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr ""
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr ""
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr ""
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr ""
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 #, fuzzy
 msgid "No files found"
 msgstr "No se encontraron mapas"
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr ""
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr ""
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr ""
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr ""
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 msgid "Which profile do you want to be default?"
 msgstr ""
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr ""
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr ""
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 #, fuzzy
 msgid "Savegames"
 msgstr "Guardar..."
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 #, fuzzy
 msgid "Replays"
 msgstr "Siempre"
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 #, fuzzy
 msgid "Downloads"
 msgstr "Descargar &map"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr ""
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr ""
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr ""
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr ""
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr ""
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr ""
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 msgid "Show"
 msgstr ""
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 #, fuzzy
 msgid "Filter"
 msgstr "Archivo"
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 #, fuzzy
 msgid "Map details"
 msgstr "Max metal"
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 #, fuzzy
 msgid "Start positions"
 msgstr "POsiciones iniciales"
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 msgid "Minimum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 #, fuzzy
 msgid "Average wind"
 msgstr "Avanzado"
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 #, fuzzy
 msgid "Aspect ratio"
 msgstr "Espectador"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 #, fuzzy
 msgid "Number of start positions"
 msgstr "POsiciones iniciales"
@@ -3807,20 +3461,20 @@ msgstr "Unidades restringidas."
 msgid "Map name"
 msgstr ""
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 #, fuzzy
 msgid "Change option"
 msgstr "Opciones de mapa"
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr ""
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr ""
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr ""
 
@@ -3888,55 +3542,55 @@ msgstr "Tamaño (MB)"
 msgid "Filesize in kilobyte"
 msgstr "Tamaño (MB)"
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr "Archivo"
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "Cargar..."
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "Siempre"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "savegame"
 msgstr "Guardar..."
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr ""
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
 "version: %s\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -3945,18 +3599,18 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 #, fuzzy
 msgid "Invalid replay"
 msgstr "puerto inválido"
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr ""
 
@@ -3972,92 +3626,92 @@ msgstr ""
 msgid "Select Users"
 msgstr ""
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 msgid " is online"
 msgstr ""
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr ""
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr ""
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 msgid " just went offline"
 msgstr ""
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 msgid " opened battle "
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr ""
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr ""
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr ""
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, c-format
 msgid "%s mutelist"
 msgstr ""
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr ""
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr ""
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy
 msgid "Download update"
 msgstr "Descargar &map"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -4068,69 +3722,69 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 #, fuzzy
 msgid "Negotiation error"
 msgstr "Notificación"
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 #, fuzzy
 msgid "Invalid Value"
 msgstr "Número inválido"
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 #, fuzzy
 msgid "No Handler"
 msgstr "No un número"
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 msgid "File doesn't exit"
 msgstr ""
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "Iniciado"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 #, fuzzy
 msgid "Reconnection Error"
 msgstr "Expiró la conexión"
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 #, fuzzy
 msgid "Unknown Error"
 msgstr "desconocido"
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 msgid "Download complete, location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 #, fuzzy
 msgid "Download complete."
 msgstr "Descargar m&od"
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer. File location is: "
 msgstr "No se pudo lanzar el explorador. URL is: "
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer."
 msgstr "No se pudo lanzar el explorador."
@@ -4800,74 +4454,74 @@ msgid "Save Spring settings before exiting?"
 msgstr ""
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr "Se necesita confirmación"
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr ""
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr ""
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr ""
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr "Resetear valores a valores predeterminados"
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr "Desactivar advertencias en modo experto"
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr "Salir"
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr "Simple (pocas opciones)"
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr "EXperto (todas las opciones)"
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr "Acerca de"
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr "Contacto"
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr "Créditos"
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr "Informar sobre un error"
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr "Modo"
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr "Info/Ayuda"
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr "¿Resetear todos los valores a valores predeterminados?"
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr "Sugerencia"
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr ""
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -4890,7 +4544,7 @@ msgstr ""
 msgid "everyone reporting bugs/suggestions"
 msgstr ""
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -4898,27 +4552,32 @@ msgid ""
 "please enable wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr "Error crítico"
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -4957,8 +4616,8 @@ msgstr ""
 msgid "Choose an unitsync library"
 msgstr ""
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr "Cualquier archivo"
 
@@ -4994,23 +4653,23 @@ msgstr "muy alto"
 msgid "can't launch default browser"
 msgstr "No se puede lanzar el explorador predeterminado"
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr "No se pudo lanzar el explorador. URL is: "
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr "No se pudo lanzar el explorador."
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr "No se pudo acceder a tu configuración.\n"
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr ""
 
@@ -5018,11 +4677,11 @@ msgstr ""
 msgid "Audio Options"
 msgstr "Opciones de Audio"
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr "Resolución de pantalla"
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
@@ -5030,31 +4689,31 @@ msgstr ""
 "Si una opción necesita hardware especial para funcionar\n"
 "se mencionará en la herramienta de consejos."
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr "Calidad del agua"
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr "Resolución en bit"
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr "Opciones de calidad de renderizado"
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr "Opciones de modos de vídeo"
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr "Opciones de Anti-Aliasing"
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr ""
 
@@ -5144,92 +4803,69 @@ msgstr "Misc. UI Opciones"
 msgid "Zoom"
 msgstr "Zoom"
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
 msgstr ""
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr "Añadir robor..."
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 #, fuzzy
 msgid "Spectate only"
 msgstr "Espectador"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 #, fuzzy
 msgid "Random start positions"
 msgstr "POsiciones iniciales"
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr "-- Seleccionar una --"
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr "Error de la configuración del juego"
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr "Tú has seleccionado un mapa primero."
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
 " "
 msgstr ""
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr "No hay robots añadidos"
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr "No puedes comenzar un spring mientras ya esté otro en ejecución"
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
-msgstr "Hola "
-
-#: src/springlobbyapp.cpp:168
-msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
-"\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
-msgstr "Bienvenido"
-
-#: src/springlobbyapp.cpp:172
+#: src/springlobbyapp.cpp:183
 msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
+"\n"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:172
+#: src/springlobbyapp.cpp:183
 #, fuzzy
-msgid "Notice"
-msgstr "Ninguno"
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
-msgstr ""
-
-#: src/springlobbyapp.cpp:188
-msgid "Import settings?"
-msgstr ""
+msgid "Fatal error"
+msgstr "Error crítico"
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5237,68 +4873,76 @@ msgid ""
 "please get a wxWidgets library that supports wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 #, fuzzy
 msgid "Ignore chat"
 msgstr "Abrir Chat"
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 msgid "Battle Autokick"
 msgstr ""
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 #, fuzzy
 msgid "Friends"
 msgstr "Buscar"
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr "Ejecutable Spring"
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr "Ubicación"
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr "Buscar"
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr "Librería UnitSync"
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr "Configurar automáticamente"
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr "Elegir un ejecutable Spring"
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr "Librería"
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5327,7 +4971,7 @@ msgid ""
 "Please create manually the following folders:"
 msgstr ""
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr "Expiró la conexión"
 
@@ -5349,45 +4993,44 @@ msgstr ""
 msgid " , column "
 msgstr ""
 
-#: src/torrentlistctrl.cpp:44
-#, fuzzy
-msgid "Numcopies"
-msgstr "Números"
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
+msgstr ""
 
-#: src/torrentlistctrl.cpp:48
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
 #, fuzzy
-msgid "MB downloaded"
-msgstr "MB subidos"
+msgid "Cancel torrent"
+msgstr "Detener todos los torrents"
 
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
-msgstr "MB subidos"
+#: src/torrentlistctrl.cpp:173
+msgid "Retry torrent"
+msgstr ""
 
-#: src/torrentlistctrl.cpp:56
-#, fuzzy
-msgid "Status"
-msgstr "Estado:"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
+msgstr ""
 
-#: src/torrentlistctrl.cpp:60
-#, c-format
-msgid "% complete"
-msgstr "% completado"
+#: src/torrentlistctrl.cpp:264
+#, fuzzy
+msgid "not found"
+msgstr "No se encontraron mapas"
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
-msgstr "KB/s subiendo"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
+msgstr ""
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
-msgstr "KB/s bajando"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
+msgstr ""
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
-msgstr "ETA (s)"
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "% completado"
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
-msgstr "Tamaño (MB)"
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
+msgstr "enviando"
 
 #: src/torrentoptionspanel.cpp:37
 msgid "Torrent system autostart"
@@ -5456,85 +5099,79 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr "Autocomenzar sistema de torrent"
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr "Contraseña de servidor"
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
 msgstr ""
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr ""
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr ""
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr "Error en ayuda"
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr "Escribir /help en una ventana de chat"
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr ""
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr "Comandos globales:"
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr ""
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr ""
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
 msgstr ""
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr ""
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
 msgstr ""
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
 msgstr ""
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr "  \"/j\" - Alias to /join."
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 #, fuzzy
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr "  \"/ingame\" - Te ensela cuanto tiempo llevas en el juego."
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 #, fuzzy
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
@@ -5543,136 +5180,136 @@ msgstr ""
 "  \"/msg username [text]\" - envía un mensaje privado, sustituir: username "
 "por el destinatario y text por el mensaje."
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 msgid "  \"/part\" - Leaves current channel."
 msgstr ""
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 #, fuzzy
 msgid "  \"/p\" - Alias to /part."
 msgstr "  \"/j\" - Alias to /join."
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr "  \"/rename newalias\" - Cambiar tu alias actual por otro."
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 #, fuzzy
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr "  \"/sayver\" - Decir tu versión actual de springlobby en el chat."
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr ""
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 #, fuzzy
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr "  \"/ver\" - Visualizar tu versión actual de springlobby."
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr "Comandos de chat:"
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr ""
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
 msgstr ""
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr "No hay temas escritos aún."
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr "El tema \""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr ""
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
 "\n"
 "Online play is currently disabled."
 msgstr ""
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 msgstr ""
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 #, fuzzy
 msgid "Online play is currently disabled."
 msgstr "Jugar Online será desactivado."
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 #, fuzzy
 msgid "Disconnected from server."
 msgstr "Respuesta desconocida del servidor"
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 #, fuzzy
 msgid "Connection failure"
 msgstr "Expiró la conexión"
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr "no hay abiertos paneles de chat activos"
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr "(%d usuarios)"
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr ""
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr "La batalla actual fue cerrada por el servidor."
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr "Batalla cerrada"
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
 "to play online."
 msgstr ""
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr "Error en la configuración de Spring"
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5680,32 +5317,70 @@ msgid ""
 "download finished"
 msgstr ""
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr ""
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr "Hola "
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr "Bienvenido"
+
+#: src/ui.cpp:1242
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid "Notice"
+msgstr "Ninguno"
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+msgid "Import settings?"
+msgstr ""
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr ""
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr ""
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid ""
 "\n"
 "\n"
@@ -5713,52 +5388,48 @@ msgid ""
 "effect next you launch the lobby again."
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid "Not up to date"
 msgstr ""
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr ""
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
 msgstr ""
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 msgid ""
 "There was an error downloading for the latest version.\n"
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
+#: src/updater/updater.cpp:92
 #, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr ""
 
@@ -5884,16 +5555,16 @@ msgstr "Veterano"
 msgid "Unknown"
 msgstr "desconocido"
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr ""
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 #, fuzzy
 msgid "Add to group..."
 msgstr "Añadir robot"
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 #, fuzzy
 msgid "Remove from group"
 msgstr "Remover Cuenta de Usuario"
@@ -5973,6 +5644,68 @@ msgstr ""
 #~ msgid "cpu"
 #~ msgstr "cpu"
 
+#~ msgid "Clear"
+#~ msgstr "Limpiar"
+
+#~ msgid "Channel info"
+#~ msgstr "Información del canal"
+
+#~ msgid "Channel message..."
+#~ msgstr "Mensaje del canal..."
+
+#~ msgid "ChanServ"
+#~ msgstr "ChanServ"
+
+#, fuzzy
+#~ msgid "User"
+#~ msgstr "Usuario Mudo"
+
+#~ msgid "Open Chat"
+#~ msgstr "Abrir Chat"
+
+#~ msgid "Mute..."
+#~ msgstr "Mudo..."
+
+#~ msgid "Mute for 5 minutes"
+#~ msgstr "Mudo por 5 minutos"
+
+#~ msgid "Mute for 10 minutes"
+#~ msgstr "Mudo por 10 minutos"
+
+#~ msgid "Mute for 30 minutes"
+#~ msgstr "Mudo por 30 minutos"
+
+#~ msgid "Mute for 2 hours"
+#~ msgstr "Mudo por 5 horas"
+
+#~ msgid "Mute for 1 day"
+#~ msgstr "Mudo por 1 día"
+
+#~ msgid "Ban..."
+#~ msgstr "Ban..."
+
+#~ msgid "ChanServ error"
+#~ msgstr "error de ChanServ"
+
+#~ msgid "Register Channel"
+#~ msgstr "Registrar Canal"
+
+#~ msgid "Remove User Acount"
+#~ msgstr "Remover Cuenta de Usuario"
+
+#~ msgid "Mute User"
+#~ msgstr "Usuario Mudo"
+
+#~ msgid "Kick User"
+#~ msgstr "Patear Usuario"
+
+#~ msgid "Kick user"
+#~ msgstr "Patear usuario"
+
+#, fuzzy
+#~ msgid "couldn't add user"
+#~ msgstr "No se pudo lanzar el explorador."
+
 #, fuzzy
 #~ msgid "Game is closed."
 #~ msgstr "Chat cerrado"
@@ -5993,6 +5726,25 @@ msgstr ""
 #~ msgstr "Jugador:"
 
 #, fuzzy
+#~ msgid "MB downloaded"
+#~ msgstr "MB subidos"
+
+#~ msgid "MB uploaded"
+#~ msgstr "MB subidos"
+
+#~ msgid "KB/s up"
+#~ msgstr "KB/s subiendo"
+
+#~ msgid "KB/s down"
+#~ msgstr "KB/s bajando"
+
+#~ msgid "ETA (s)"
+#~ msgstr "ETA (s)"
+
+#~ msgid "Filesize (MB)"
+#~ msgstr "Tamaño (MB)"
+
+#, fuzzy
 #~ msgid "Choose color"
 #~ msgstr "Elegir carpeta"
 
diff --git a/po/fi.gmo b/po/fi.gmo
index b8f2102..a9cc4c8 100644
Binary files a/po/fi.gmo and b/po/fi.gmo differ
diff --git a/po/fi.po b/po/fi.po
index db2a005..26596eb 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the springlobby package.
 # FIRST AUTHOR <EMAIL at ADDRESS>, 2008.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: springlobby\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2008-07-30 23:31+0000\n"
 "Last-Translator: SpringLobby_Buildbot <Unknown>\n"
 "Language-Team: Finnish <fi at li.org>\n"
@@ -50,8 +50,8 @@ msgid "value"
 msgstr "Arvo"
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "Peruuta"
 
@@ -104,7 +104,7 @@ msgstr "Sattumanvarainen"
 msgid "Clans"
 msgstr ""
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "Ei mitään"
 
@@ -136,46 +136,46 @@ msgstr "Pelaajien määrä"
 msgid "Auto select"
 msgstr "Yhdistä uudelleen"
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "Ok"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "Kuvaus"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "Kenttä"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr "Modi"
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "Palvelin"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "Katsojat:"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 #, fuzzy
 msgid "Players"
 msgstr "Pelaajat:"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "Kenttä"
@@ -188,11 +188,11 @@ msgstr "Lataa &map"
 msgid "Download m&od"
 msgstr "Lataa m&od"
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "Katsojat:"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 #, fuzzy
 msgid "Active Players:"
 msgstr "Pelaajat:"
@@ -247,8 +247,8 @@ msgid "All"
 msgstr "Kaikki"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "Kartta:"
 
@@ -261,8 +261,8 @@ msgid "Max.Player:"
 msgstr "Maksimi määrä pelaajia:"
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr "Modi:"
 
@@ -274,15 +274,15 @@ msgstr "Vain asennetut modit"
 msgid "    Spectator:"
 msgstr "    Katsoja:"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr ""
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "Pelaajat:"
 
@@ -313,45 +313,45 @@ msgstr "Isännöi uusi..."
 msgid "Join"
 msgstr "liity"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, c-format
 msgid "%d battles displayed"
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 "Et voi isännöidä peliä ellet ole yhdistyneenä. Ole hyvä ja yhdistä "
 "palvelimeen."
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr "Ei kirjautuneena."
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr "Pelien isännöinti estetty väärän ohjelmistoversion vuoksi."
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr "Spring virhe"
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
 msgstr "Spring on jo käynnissä. Sulje se jotta voit isännöidä uuden pelin"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr "Olet jo mukana pelissä"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
@@ -361,21 +361,21 @@ msgstr ""
 "\n"
 "Haluatko poistua nykyisestä pelistä käynnistääksesi uuden?"
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
 " Hosting may or may not work."
 msgstr ""
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
 "Hosting may or may not work with this setting."
 msgstr ""
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -387,15 +387,15 @@ msgid ""
 " option in the hosting settings."
 msgstr ""
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr "Peli ei käynnistynyt koska valitsemasi modi ei löytynyt. "
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr "Virhe käynnistäessä peliä."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
@@ -403,22 +403,22 @@ msgstr ""
 "Karttatiedostoja ei voitu löytää. Tämä tapahtuu kun et ole säätänyt Spring:"
 "in asetuksia oikein."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "Yhtään karttaa ei löytynyt."
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
 msgstr "Peleihin liittyminen on estetty johtuen väärästä Spring-versiosta."
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid "Already in this battle"
 msgstr "Olet jo mukana pelissä"
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid ""
 "You are already in this battle.\n"
@@ -429,12 +429,12 @@ msgstr ""
 "\n"
 "Haluatko poistua nykyisestä pelistä käynnistääksesi uuden?"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid "Already in another battle"
 msgstr "Olet jo mukana pelissä"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid ""
 "You are already in a battle.\n"
@@ -445,47 +445,47 @@ msgstr ""
 "\n"
 "Haluatko poistua nykyisestä pelistä liittyäksesi tähän?"
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
 msgstr "Spring on jo käynnissä. Sulje se pystyäksesi liittymään peliin."
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr ""
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 msgid ""
 "Should i try to download it for you?\n"
 "You can see the progress in the \"Download Manager\" tab."
 msgstr ""
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr "Modia ei ole saatavilla"
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr "Karttatiedostoa ei saatavilla"
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr "Pelin salasana"
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr "Syötä salasana"
 
@@ -495,45 +495,45 @@ msgid "Select"
 msgstr "Valitse..."
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr "Asetus"
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr "Arvo"
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr "Koko"
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr "Tuulen nopeus"
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr "Merivirtauksen voimakkuus"
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr "Painovoima"
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr "Metallinlouhijan säde"
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr "Maksimi metalli"
 
@@ -555,265 +555,265 @@ msgstr "Valitse pelissä"
 msgid "Startpositions"
 msgstr "Aloituskohdat"
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr "Yksikköjen rajoitukset"
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr "Sallitut yksiköt"
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr "Tässä listassa näkyvät yksiköt ovat sallittuja pelissä."
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 #, fuzzy
 msgid "Disable selected units."
 msgstr "Salli kaikki yksiköt."
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 #, fuzzy
 msgid "Re-enable selected units."
 msgstr "Salli kaikki yksiköt."
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr ""
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr "Salli kaikki yksiköt."
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr "Kielletyt yksiköt"
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr "Tässä listassa näkyvät yksiköt ovat kiellettyjä pelissä."
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 #, fuzzy
 msgid "Unit restriction"
 msgstr "Yksikköjen rajoitukset"
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr "Nimimerkki"
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr "Joukkue"
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr "Liittolainen"
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr "Resurssilisä"
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr "Puoli"
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr "Aseta väri"
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr "Aseta resurssilisä"
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr "Katsoja"
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr "Potkaise"
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr "Heräte"
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr "Anna arvo väliltä 0 - 100"
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 #, fuzzy
 msgid "AI (bot)\n"
 msgstr "Lisää tietokonepelaaja"
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 #, fuzzy
 msgid "Human\n"
 msgstr "Oman"
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 #, fuzzy
 msgid "Spectator\n"
 msgstr "Katsoja"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 #, fuzzy
 msgid "Player\n"
 msgstr "Pelaaja:"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 #, fuzzy
 msgid "Host\n"
 msgstr "Palvelin"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 #, fuzzy
 msgid "Client\n"
 msgstr "Asiakasohjelma"
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 msgid "Ready\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 #, fuzzy
 msgid "Not ready\n"
 msgstr "Ei valmiina"
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 msgid "In sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 #, fuzzy
 msgid "Set name."
 msgstr "Aseta oikeudet..."
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr "Lataa..."
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 #, fuzzy
 msgid "Load a saved set of options."
 msgstr "Lataa tallennettu rajoitustiedosto"
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 #, fuzzy
 msgid "Save..."
 msgstr "Tallenna..."
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 #, fuzzy
 msgid "Save a set of options."
 msgstr "Tallenna rajoitukset tiedostoon."
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 #, fuzzy
 msgid "Delete..."
 msgstr "Valitse..."
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 #, fuzzy
 msgid "Delete a set of options."
 msgstr "Tallenna rajoitukset tiedostoon."
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 #, fuzzy
 msgid "Set default..."
 msgstr "oletus"
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 msgid "Mod Options"
 msgstr "Modin asetukset"
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr "Kartan asetukset"
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 #, fuzzy
 msgid "no options available"
 msgstr "Modia ei ole saatavilla"
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr "virhe"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 #, fuzzy
 msgid "Delete preset"
 msgstr "Valitse"
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 #, fuzzy
 msgid "Set mod default preset"
 msgstr "oletus"
@@ -856,7 +856,7 @@ msgid ""
 "set) starting boxes."
 msgstr ""
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr "Poistu"
 
@@ -864,7 +864,7 @@ msgstr "Poistu"
 msgid "Leave the battle and return to the battle list"
 msgstr ""
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr "Käynnistä"
 
@@ -1047,7 +1047,7 @@ msgstr ""
 msgid "Save"
 msgstr "Tallenna..."
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 #, fuzzy
 msgid "Delete"
 msgstr "Valitse"
@@ -1128,7 +1128,7 @@ msgstr ""
 msgid "Find channel:"
 msgstr "Liity kanavalle..."
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 #, fuzzy
 msgid "Choose channels to join"
 msgstr "Kanavan nimi"
@@ -1198,67 +1198,64 @@ msgstr ""
 "Lokitiedostoa ei voitu avata. \n"
 "Varmistu että kirjoittaminen on sallittu.\n"
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr "Värit ja kirjasintyyli"
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr "Käytä järjestelmän värejä"
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr "Tavallinen"
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr "Tausta"
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr "Toiminto"
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr "Korostus"
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr "Liity/Poistu"
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr "Minun viestit"
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr "Palvelin"
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr "Asiakasohjelma"
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr "Virhe"
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr "Aikaleima"
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr "Ilmoitus"
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 #, fuzzy
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
@@ -1275,559 +1272,223 @@ msgstr ""
 "[22:45] <Dude> Dude2: orl?\n"
 "[22:46] <Dude2> But could be better, should tweak them some more...\n"
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr "Kirjasin:"
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr "oletus"
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr "Valitse..."
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr ""
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr ""
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr "Keskustelujen lokit"
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr "Tallenna keskustelujen lokit"
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr "Korostetut sanat"
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr "Sanat jotka korostetaan keskusteluissa:"
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr ""
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr ""
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr ""
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr ""
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, fuzzy, c-format
 msgid "%d users"
 msgstr "(%d käyttäjät)"
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr ""
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr "Lähetä"
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr ""
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr "Kopioi"
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-msgid "Clear"
-msgstr "Tyhjennä"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr "Liity tähän kanavaan automaattisesti"
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr "Näytä Liity/Poistu -ilmoitukset"
-
-#: src/chatpanel.cpp:433
-msgid "Show mute list"
-msgstr ""
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr "Kanavan tiedot"
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr "Aseta kanavan ostikko..."
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr "Kanavan viesti..."
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr "Lukitse..."
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr "Poista lukitus"
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr "Rekisteröidy..."
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr "Rekisteröinnin poisto"
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr "Päällä"
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr "Pois päältä"
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr "On päällä?"
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr "Spammin esto"
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr "ChanServ"
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr "Katkaise yhteys"
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr "Yhdistä uudelleen"
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr "Poista..."
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr "Vaihda salasana..."
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr "Aseta oikeudet..."
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr "Tilit"
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr "Kuulutus..."
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr "Ylläpitäjä"
-
-#: src/chatpanel.cpp:510
-#, fuzzy
-msgid "User"
-msgstr "Hiljennä käyttäjä"
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr "Avoin keskustelu"
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr "Liity samaan keskusteluun"
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr "Pelissä vietetty aika"
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr "Etsi IP sekä smurffipelaajat"
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr "Hiljennä..."
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr "Hiljennä 5 minuutiksi"
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr "Hiljennä 10 minuutiksi"
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr "Hiljennä 30 minuutiksi"
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr "Hiljennä 2 tunniksi"
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr "Hiljennä 1 päiväksi"
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr "Poista hiljennys"
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr "Hiljennä"
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr "Potkaise..."
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr "Banni..."
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr "Poista banni"
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr "Läimäytä!"
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr "Anna opit"
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr "Poista opit"
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr " !! Komento: \""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr "\" parametrit: \""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr "kanava"
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr "peli"
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr "palvelin"
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr " liityit peliin "
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr " poistuit pelistä "
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 #, fuzzy
 msgid " ** Channel topic:"
 msgstr "Kanavan tiedot"
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 #, fuzzy
 msgid " ** Set by "
 msgstr ""
 "\n"
 " * Asettaja "
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr "Keskustelu suljettu."
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr "Oletko varma että haluat liittää %d riviä?"
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr "Floodaus varoitus"
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr " Sinulla on käytössä SpringLobby v"
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr " Et ole kanavalla tai kanavaa ei ole olemassa."
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
 "commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr " Käyttäjä ei ole yhdistyneenä."
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr " Lähetetty: \""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr "\""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr "ChanServ virhe"
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr "ChanServ ei ole tällä kanavalla."
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr "Anna uusi kanavan otsikko?"
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr "Viesti:"
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr "Lukitse kanava..."
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr "Anna uusi salasana?"
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr "Poista lukitus"
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr "Oletko varma että haluat poistaa lukituksen tältä kanavalta?"
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr "ChanServ ei ole tällä palvelimella."
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr "Rekisteröi kanava"
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr "Kuka nimetään tämän kanavan perustajaksi?"
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr "Poista rekisteröinti tältä kanavalta"
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr "Oletko varma että haluat poistaa rekisteröinnin tältä kanavalta?"
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr "Käyttäjätili poistettu"
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr "Minkä käyttäjätilin haluat poistaa tänään?"
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr "Poista käyttäjätili"
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr "Oletko varma että haluat poistaa käyttäjätilin? "
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr "Vaihda käyttäjätilin salasana"
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr "Minkä käyttäjätilin salasanan haluat vaihtaa?"
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr "Anna uusi salasana?"
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr "Ei toteutettu"
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr "Kuuluta viesti"
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr "Kuulutettava viesti:"
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr ""
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr "Tämä peli on suojattu, anna salasana."
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr "Hiljennä käyttäjä"
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr "Miten moneksi minuutiksi käyttäjä hiljennetään?"
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr "Potkaise käyttäjä"
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr "Syy:"
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr "Potkaise käyttäjä"
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr "Hiljennä käyttäjä"
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr "Kesto:"
-
-#: src/chatpanel.cpp:1797
-msgid "couldn't add user"
-msgstr ""
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr "Yhdistä palvelimeen"
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
 msgstr "Yhdistä palvelimeen. Anna palvelimen osoita muodossa osoite:portti"
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr "Salasana"
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr ""
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr ""
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
 msgstr ""
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
+#, fuzzy
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 "Huomio: Jos sinulla ei ole käyttäjätiliä, voit rekisteröityä\n"
 " siirtymällä rekisteröitymis välilehdelle"
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr "Kirjaudu"
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr "Rekisteröidy"
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr "Nimimerkki"
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr "Epäkelpo portti."
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr "Virheellinen portti"
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
@@ -1837,33 +1498,33 @@ msgstr ""
 "\n"
 "Oltava väliltä 1 - 633535"
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr "Epäkelpo palvelin ja/tai portti."
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr "Epäkelpo palvelin"
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 #, fuzzy
 msgid "Invalid nickname"
 msgstr "Virheellinen numero"
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 #, fuzzy
 msgid ""
 "Registration failed, the reason was:\n"
 "Password / confirmation mismatch (or empty passwort)"
 msgstr "Rekisteröityminen epäonnistui."
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr "Rekisteröinti epäonnistui."
 
@@ -2856,9 +2517,8 @@ msgid "Last generated spring launching script"
 msgstr "Edellinen Spring -ohjelman tekemä käynnistysskripti"
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 #, fuzzy
 msgid "Name"
 msgstr "Peli"
@@ -2952,8 +2612,8 @@ msgstr "Isännöi uusi peli"
 msgid "Notify when users of this group hosts a battle"
 msgstr ""
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr ""
 
@@ -3047,9 +2707,8 @@ msgstr "Valitse pelissä"
 msgid "File successfully saved"
 msgstr ""
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 #, fuzzy
 msgid "Success"
 msgstr "Aseta oikeudet..."
@@ -3058,7 +2717,7 @@ msgstr "Aseta oikeudet..."
 msgid "Couldn't save file"
 msgstr ""
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 #, fuzzy
 msgid "Default"
 msgstr "oletus"
@@ -3091,206 +2750,206 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr "Isännöi uusi peli"
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr "Pelin lyhyt kuvaus. Tämä näkyy pelilistauksessa muille pelaajille."
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "Kuvaus"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr "Valitse modi."
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr "Salasana vaadittu liittyäksesi peliin."
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr "Portti"
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr "Käynnistä pelipalvelin tässä UDP portissa. Oletus on 8452."
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 #, fuzzy
 msgid "Randomly picks an available one"
 msgstr "Modia ei ole saatavilla"
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr "Pelaajien määrä"
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr "Maksimi määrä pelaajia sallittu pelissä."
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr "\"Hole Punching\" tekniikka"
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr "\"NAT traversal\"  tekniikka"
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 #, fuzzy
 msgid "NAT traversal to use."
 msgstr "\"NAT traversal\"  tekniikka"
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr "Minimi arvomerkkivaatimus"
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr "Aloita pelin isännöiminen."
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr "Sinun on vlaittava modiu ensin."
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr "Ei modia valittuna."
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 msgid ""
 "\n"
 "successfully unzipped in:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 msgid "Path"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 msgid "Use a file dialog to find the editor binary"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 #, fuzzy
 msgid "Autoconnect"
 msgstr "Yhdistä uudelleen"
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 #, fuzzy
 msgid "Autoconnect on lobby start"
 msgstr "Yhdistä palvelimeen"
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3299,74 +2958,74 @@ msgid ""
 "Uncheck to disable."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 #, fuzzy
 msgid "Tooltips"
 msgstr "&Työkalut"
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 msgid "Show Tooltips?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
 "distance"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 msgid "Match exact"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 #, fuzzy
 msgid "Start tab"
 msgstr "Metallimäärä pelin alkaessa"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3378,7 +3037,7 @@ msgstr ""
 msgid "Choose a editor browser executable"
 msgstr ""
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 #, fuzzy
 msgid "Disconnected from server, chat closed."
 msgstr "Tuntematon vastaus palvelimelta"
@@ -3387,128 +3046,112 @@ msgstr "Tuntematon vastaus palvelimelta"
 msgid "Battle list"
 msgstr "Pelilistaus"
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr "Pelihuone"
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr "Asetukset"
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 #, fuzzy
 msgid "Unit Restrictions"
 msgstr "Yksikköjen rajoitukset"
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr "Spring"
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr ""
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr "Keskustelu"
 
-#: src/mainoptionstab.cpp:75
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
+msgid "Restore"
+msgstr "Palauta"
+
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
+msgid "Apply"
+msgstr "Käytä"
+
+#: src/mainoptionstab.cpp:87
 #, fuzzy
 msgid "General"
 msgstr "Senegal"
 
-#: src/mainoptionstab.cpp:78
+#: src/mainoptionstab.cpp:90
 msgid "Groups"
 msgstr ""
 
-#: src/mainoptionstab.cpp:80
-msgid "Restore"
-msgstr "Palauta"
-
-#: src/mainoptionstab.cpp:81
-msgid "Apply"
-msgstr "Käytä"
-
-#: src/mainsingleplayertab.cpp:41
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr "Peli"
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr ""
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 #, fuzzy
 msgid "Download Lua widgets"
 msgstr "Lataa"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr ""
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr ""
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr ""
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr ""
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr ""
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr ""
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr ""
@@ -3517,290 +3160,304 @@ msgstr ""
 msgid "SpringLobby"
 msgstr "SpringLobby"
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr "&Yhdistä..."
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr "&Katkaise yhteys"
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 #, fuzzy
 msgid "&Save options"
 msgstr "Kartan asetukset"
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr "&Poistu"
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+#, fuzzy
+msgid "&Save Layout"
+msgstr "Kartan asetukset"
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr "&Liity kanavalle..."
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 #, fuzzy
 msgid "Channel &list"
 msgstr "Kanavan tiedot"
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr "Avaa yksityinen &keskustelu..."
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr ""
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr "&Lataa uudelleen kartat/modit"
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr "Tarkista onko uusi versio saatavilla"
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr "Spring asetukset"
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr "&Tietoja"
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 #, fuzzy
 msgid "&Change language"
 msgstr "Kanavan tiedot"
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr "&Ilmoita bugista..."
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr "&Dokumentointi"
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr "&Tiedosto"
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+#, fuzzy
+msgid "&View"
+msgstr "&Tiedosto"
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr "&Työkalut"
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr "&Ohje"
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 #, fuzzy
 msgid "Not connected"
 msgstr "Yhdistä uudelleen"
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr "Liity kanavalle..."
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr "Kanavan nimi"
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr "Avaa yksityinen keskusteluikkuna..."
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr "Käyttäjän nimi"
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 #, fuzzy
 msgid "No files found"
 msgstr "Yhtään karttaa ei löytynyt."
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr ""
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr ""
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr ""
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr ""
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 #, fuzzy
 msgid "Which profile do you want to be default?"
 msgstr "Minkä käyttäjätilin haluat poistaa tänään?"
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr ""
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr ""
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 #, fuzzy
 msgid "Savegames"
 msgstr "Tallenna..."
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 msgid "Replays"
 msgstr ""
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 #, fuzzy
 msgid "Downloads"
 msgstr "Lataa"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr ""
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr "Päivitä"
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr "Lataa"
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr "Puoli:"
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr "liitto: %d"
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr "bonus: %d%%"
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 #, fuzzy
 msgid "Show"
 msgstr "Näytä kaikki"
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 #, fuzzy
 msgid "Filter"
 msgstr "&Tiedosto"
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 #, fuzzy
 msgid "Map details"
 msgstr "Maksimi metalli"
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 #, fuzzy
 msgid "Start positions"
 msgstr "Aloituskohdat"
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 #, fuzzy
 msgid "Minimum wind"
 msgstr "Minimi arvomerkkivaatimus"
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 msgid "Average wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 #, fuzzy
 msgid "Aspect ratio"
 msgstr "Katsoja"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 #, fuzzy
 msgid "Number of start positions"
 msgstr "Aloituskohdat"
@@ -3843,20 +3500,20 @@ msgstr "Kielletyt yksiköt"
 msgid "Map name"
 msgstr ""
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 #, fuzzy
 msgid "Change option"
 msgstr "Kartan asetukset"
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr "s"
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr "c"
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr "r"
 
@@ -3923,34 +3580,34 @@ msgstr "&Tiedosto"
 msgid "Filesize in kilobyte"
 msgstr ""
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "Lataa..."
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "Pelaajat:"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "savegame"
 msgstr "Tallenna..."
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 #, fuzzy
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr ""
@@ -3958,24 +3615,24 @@ msgstr ""
 "\n"
 "Verkkopeli tulee olemaan estetty."
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
 "version: %s\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -3984,18 +3641,18 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 #, fuzzy
 msgid "Invalid replay"
 msgstr "Virheellinen portti"
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr ""
 
@@ -4012,95 +3669,95 @@ msgstr ""
 msgid "Select Users"
 msgstr "Valitse"
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 #, fuzzy
 msgid " is online"
 msgstr " Käyttäjä ei ole yhdistyneenä."
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr ""
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr "OnUserStatus() epäonnistui ! (exception)"
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 #, fuzzy
 msgid " just went offline"
 msgstr " Käyttäjä ei ole yhdistyneenä."
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 #, fuzzy
 msgid " opened battle "
 msgstr " liityit peliin "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr ""
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr ""
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr ""
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, fuzzy, c-format
 msgid "%s mutelist"
 msgstr "Pelilistaus"
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr ""
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr ""
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy
 msgid "Download update"
 msgstr "Lataa &map"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -4111,7 +3768,7 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 #, fuzzy
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
@@ -4119,64 +3776,64 @@ msgstr ""
 "Kokeile myöhemmin uudelleen.\n"
 "Jos ongelma pysyy, voit tehdä siitä ilmoituksen springlobby:n kehittäjille."
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 #, fuzzy
 msgid "Negotiation error"
 msgstr "Ilmoitus"
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 #, fuzzy
 msgid "Invalid Value"
 msgstr "Virheellinen numero"
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 #, fuzzy
 msgid "No Handler"
 msgstr "Ei ole numero"
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 msgid "File doesn't exit"
 msgstr ""
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "Aloitettu"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 #, fuzzy
 msgid "Reconnection Error"
 msgstr "Yhdistä uudelleen"
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 #, fuzzy
 msgid "Unknown Error"
 msgstr "Tuntematon vastaus palvelimelta"
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 msgid "Download complete, location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 #, fuzzy
 msgid "Download complete."
 msgstr "Ei modia valittuna."
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer. File location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer."
 msgstr ""
 
@@ -4845,74 +4502,74 @@ msgid "Save Spring settings before exiting?"
 msgstr ""
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr ""
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr ""
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr ""
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr ""
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr ""
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr ""
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr ""
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr ""
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr ""
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr ""
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr ""
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr ""
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr ""
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr ""
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr ""
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr ""
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr ""
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr ""
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -4935,7 +4592,7 @@ msgstr ""
 msgid "everyone reporting bugs/suggestions"
 msgstr ""
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -4943,27 +4600,32 @@ msgid ""
 "please enable wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr ""
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -5002,8 +4664,8 @@ msgstr ""
 msgid "Choose an unitsync library"
 msgstr ""
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr ""
 
@@ -5039,23 +4701,23 @@ msgstr ""
 msgid "can't launch default browser"
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr ""
 
@@ -5063,41 +4725,41 @@ msgstr ""
 msgid "Audio Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr ""
 
@@ -5183,93 +4845,69 @@ msgstr ""
 msgid "Zoom"
 msgstr ""
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
 msgstr ""
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr ""
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 #, fuzzy
 msgid "Spectate only"
 msgstr "Katsoja"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 #, fuzzy
 msgid "Random start positions"
 msgstr "Aloituskohdat"
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr ""
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr ""
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr ""
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
 " "
 msgstr ""
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr ""
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
+#: src/springlobbyapp.cpp:183
 msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
 "\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
-msgstr ""
-
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:172
-msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
-msgstr ""
-
-#: src/springlobbyapp.cpp:172
-#, fuzzy
-msgid "Notice"
-msgstr "Ei mitään"
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
-msgstr ""
-
-#: src/springlobbyapp.cpp:188
+#: src/springlobbyapp.cpp:183
 #, fuzzy
-msgid "Import settings?"
-msgstr "Spring asetukset"
+msgid "Fatal error"
+msgstr "Aputiedoston virhe"
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5277,69 +4915,77 @@ msgid ""
 "please get a wxWidgets library that supports wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 #, fuzzy
 msgid "Ignore chat"
 msgstr "Avoin keskustelu"
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 #, fuzzy
 msgid "Battle Autokick"
 msgstr "Pelilistaus"
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 #, fuzzy
 msgid "Friends"
 msgstr "Ennalta määrätty"
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr ""
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr ""
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr ""
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr ""
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5366,7 +5012,7 @@ msgid ""
 "Please create manually the following folders:"
 msgstr ""
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr ""
 
@@ -5388,43 +5034,44 @@ msgstr ""
 msgid " , column "
 msgstr ""
 
-#: src/torrentlistctrl.cpp:44
-msgid "Numcopies"
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:48
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
 #, fuzzy
-msgid "MB downloaded"
-msgstr "Lataa"
-
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
-msgstr ""
+msgid "Cancel torrent"
+msgstr "Peruuta"
 
-#: src/torrentlistctrl.cpp:56
+#: src/torrentlistctrl.cpp:173
 #, fuzzy
-msgid "Status"
-msgstr "Tila:"
+msgid "Retry torrent"
+msgstr "Palauta"
 
-#: src/torrentlistctrl.cpp:60
-#, c-format
-msgid "% complete"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
-msgstr ""
+#: src/torrentlistctrl.cpp:264
+#, fuzzy
+msgid "not found"
+msgstr "Yhtään karttaa ei löytynyt."
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "Ei modia valittuna."
+
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
 msgstr ""
 
 #: src/torrentoptionspanel.cpp:37
@@ -5493,11 +5140,11 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr ""
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr "Plavelimen salasana"
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
@@ -5505,141 +5152,133 @@ msgstr ""
 "Rekisteröityminen onnistui\n"
 "Voit kirjautua sisään."
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr "Rekisteröityminen onnistui"
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr "Rekisteröityminen epäonnistui, syy:\n"
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-"\n"
-"Selaimen polku on: "
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr "Aputiedoston virhe"
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr "Kirjoita \"/help\" viestiikkunaan."
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr "SpringLobby:n komennot."
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr "Globaalit komennot:"
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr "  \"/away\" - Asettaa tilasi poissaolevaksi."
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr "  \"/back\" - Poistaa poissaolevan tilan."
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
 msgstr ""
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr "  \"/channels\" - Näyttää aktiiviset kanavat."
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
 msgstr ""
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
 msgstr ""
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr "  \"/j\" - Sama kuin \"/join\""
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 #, fuzzy
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr "  \"/ingame\" näyttää montako minuuttia olet pelannut."
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
 "username."
 msgstr ""
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 #, fuzzy
 msgid "  \"/part\" - Leaves current channel."
 msgstr "  \"/channels\" - Näyttää aktiiviset kanavat."
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 #, fuzzy
 msgid "  \"/p\" - Alias to /part."
 msgstr "  \"/j\" - Sama kuin \"/join\""
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr "  \"/rename uusinimi\" - Muuttaa nimimerkkisi uusinimi:ksi"
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 #, fuzzy
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr "  \"/sayver\" - Sanoo SpringLobby -versiosi keskusteluikkunassa."
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr ""
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 #, fuzzy
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr "  \"/ver\" - Näyttää SpringLobby versiosi."
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr "Keskustelun komennot:"
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr "  \"/me action\" - sanoo IRC tyylisen toimintoviestin."
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
 msgstr ""
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr "Ei viestiketjuja."
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr "Viestiketjua \""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr "\" ei löytynyt. Kirjoita \"/help topics\" listataksesi viestiketjut."
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 #, fuzzy
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
@@ -5650,56 +5289,56 @@ msgstr ""
 "\n"
 "Verkkopeli tulee olemaan estetty."
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 msgstr ""
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 #, fuzzy
 msgid "Online play is currently disabled."
 msgstr "Verkkopeli tulee olemaan estetty."
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 #, fuzzy
 msgid "Disconnected from server."
 msgstr "Tuntematon vastaus palvelimelta"
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid "Connection failure"
 msgstr ""
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr "Ei aktiivisia keskusteluikkunoita auki."
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr "(%d käyttäjät)"
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr "Palvelin viesti"
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr "Nykyinen peli suljettiin isännän toimesta."
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr "Peli suljettu"
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
@@ -5709,15 +5348,15 @@ msgstr ""
 "yrität\n"
 "pelata verkossa."
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr "Spring -asetuksissa virhe"
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5725,11 +5364,50 @@ msgid ""
 "download finished"
 msgstr ""
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr ""
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr ""
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr ""
+
+#: src/ui.cpp:1242
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid "Notice"
+msgstr "Ei mitään"
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+#, fuzzy
+msgid "Import settings?"
+msgstr "Spring asetukset"
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
@@ -5739,15 +5417,15 @@ msgstr ""
 "Kokeile myöhemmin uudelleen.\n"
 "Jos ongelma pysyy, voit tehdä siitä ilmoituksen springlobby:n kehittäjille."
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr "Sinun versio: "
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr "Viimeisin versio: "
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
@@ -5755,7 +5433,7 @@ msgstr ""
 "SpringLobby versiosi on vanha.\n"
 "\n"
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid ""
 "\n"
 "\n"
@@ -5763,26 +5441,22 @@ msgid ""
 "effect next you launch the lobby again."
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 #, fuzzy
 msgid "Not up to date"
 msgstr "Ei ajan tasalla"
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr "Ei ajan tasalla"
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
 msgstr ""
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 #, fuzzy
 msgid ""
 "There was an error downloading for the latest version.\n"
@@ -5793,11 +5467,11 @@ msgstr ""
 "Kokeile myöhemmin uudelleen.\n"
 "Jos ongelma pysyy, voit tehdä siitä ilmoituksen springlobby:n kehittäjille."
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
+#: src/updater/updater.cpp:92
 #, fuzzy, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
@@ -5805,18 +5479,18 @@ msgstr ""
 "Kokeile myöhemmin uudelleen.\n"
 "Jos ongelma pysyy, voit tehdä siitä ilmoituksen springlobby:n kehittäjille."
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr ""
 
@@ -5942,16 +5616,16 @@ msgstr ""
 msgid "Unknown"
 msgstr ""
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr ""
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 #, fuzzy
 msgid "Add to group..."
 msgstr "Lisää tietokonepelaaja"
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 #, fuzzy
 msgid "Remove from group"
 msgstr "Käyttäjätili poistettu"
@@ -6027,6 +5701,226 @@ msgstr ""
 #~ msgid "cpu"
 #~ msgstr "suoritin"
 
+#~ msgid "Copy"
+#~ msgstr "Kopioi"
+
+#~ msgid "Clear"
+#~ msgstr "Tyhjennä"
+
+#~ msgid "Auto join this channel"
+#~ msgstr "Liity tähän kanavaan automaattisesti"
+
+#~ msgid "Display Join/Leave Messages"
+#~ msgstr "Näytä Liity/Poistu -ilmoitukset"
+
+#~ msgid "Channel info"
+#~ msgstr "Kanavan tiedot"
+
+#~ msgid "Set topic..."
+#~ msgstr "Aseta kanavan ostikko..."
+
+#~ msgid "Channel message..."
+#~ msgstr "Kanavan viesti..."
+
+#~ msgid "Lock..."
+#~ msgstr "Lukitse..."
+
+#~ msgid "Unlock"
+#~ msgstr "Poista lukitus"
+
+#~ msgid "Register..."
+#~ msgstr "Rekisteröidy..."
+
+#~ msgid "Unregister"
+#~ msgstr "Rekisteröinnin poisto"
+
+#~ msgid "On"
+#~ msgstr "Päällä"
+
+#~ msgid "Off"
+#~ msgstr "Pois päältä"
+
+#~ msgid "Is on?"
+#~ msgstr "On päällä?"
+
+#~ msgid "Spam protection"
+#~ msgstr "Spammin esto"
+
+#~ msgid "ChanServ"
+#~ msgstr "ChanServ"
+
+#~ msgid "Disconnect"
+#~ msgstr "Katkaise yhteys"
+
+#~ msgid "Remove..."
+#~ msgstr "Poista..."
+
+#~ msgid "Change password..."
+#~ msgstr "Vaihda salasana..."
+
+#~ msgid "Set access..."
+#~ msgstr "Aseta oikeudet..."
+
+#~ msgid "Accounts"
+#~ msgstr "Tilit"
+
+#~ msgid "Broadcast..."
+#~ msgstr "Kuulutus..."
+
+#~ msgid "Admin"
+#~ msgstr "Ylläpitäjä"
+
+#, fuzzy
+#~ msgid "User"
+#~ msgstr "Hiljennä käyttäjä"
+
+#~ msgid "Open Chat"
+#~ msgstr "Avoin keskustelu"
+
+#~ msgid "Join same battle"
+#~ msgstr "Liity samaan keskusteluun"
+
+#~ msgid "Ingame time"
+#~ msgstr "Pelissä vietetty aika"
+
+#~ msgid "Retrieve IP and Smurfs"
+#~ msgstr "Etsi IP sekä smurffipelaajat"
+
+#~ msgid "Mute..."
+#~ msgstr "Hiljennä..."
+
+#~ msgid "Mute for 5 minutes"
+#~ msgstr "Hiljennä 5 minuutiksi"
+
+#~ msgid "Mute for 10 minutes"
+#~ msgstr "Hiljennä 10 minuutiksi"
+
+#~ msgid "Mute for 30 minutes"
+#~ msgstr "Hiljennä 30 minuutiksi"
+
+#~ msgid "Mute for 2 hours"
+#~ msgstr "Hiljennä 2 tunniksi"
+
+#~ msgid "Mute for 1 day"
+#~ msgstr "Hiljennä 1 päiväksi"
+
+#~ msgid "Unmute"
+#~ msgstr "Poista hiljennys"
+
+#~ msgid "Mute"
+#~ msgstr "Hiljennä"
+
+#~ msgid "Kick..."
+#~ msgstr "Potkaise..."
+
+#~ msgid "Ban..."
+#~ msgstr "Banni..."
+
+#~ msgid "Unban"
+#~ msgstr "Poista banni"
+
+#~ msgid "Slap!"
+#~ msgstr "Läimäytä!"
+
+#~ msgid "Op"
+#~ msgstr "Anna opit"
+
+#~ msgid "DeOp"
+#~ msgstr "Poista opit"
+
+#~ msgid "ChanServ error"
+#~ msgstr "ChanServ virhe"
+
+#~ msgid "ChanServ is not in this channel."
+#~ msgstr "ChanServ ei ole tällä kanavalla."
+
+#~ msgid "What should be the new topic?"
+#~ msgstr "Anna uusi kanavan otsikko?"
+
+#~ msgid "Message:"
+#~ msgstr "Viesti:"
+
+#~ msgid "Lock channel..."
+#~ msgstr "Lukitse kanava..."
+
+#~ msgid "What should the new password be?"
+#~ msgstr "Anna uusi salasana?"
+
+#~ msgid "Unlock Channel"
+#~ msgstr "Poista lukitus"
+
+#~ msgid "Are you sure you want to unlock this channel?"
+#~ msgstr "Oletko varma että haluat poistaa lukituksen tältä kanavalta?"
+
+#~ msgid "ChanServ is not on this server."
+#~ msgstr "ChanServ ei ole tällä palvelimella."
+
+#~ msgid "Register Channel"
+#~ msgstr "Rekisteröi kanava"
+
+#~ msgid "Who should be appointed founder of this channel?"
+#~ msgstr "Kuka nimetään tämän kanavan perustajaksi?"
+
+#~ msgid "Unregister Channel"
+#~ msgstr "Poista rekisteröinti tältä kanavalta"
+
+#~ msgid "Are you sure you want to unregister this channel?"
+#~ msgstr "Oletko varma että haluat poistaa rekisteröinnin tältä kanavalta?"
+
+#~ msgid "Remove User Acount"
+#~ msgstr "Käyttäjätili poistettu"
+
+#~ msgid "What user account do you want to remove today?"
+#~ msgstr "Minkä käyttäjätilin haluat poistaa tänään?"
+
+#~ msgid "Remove Account"
+#~ msgstr "Poista käyttäjätili"
+
+#~ msgid "Are you sure you want to remove the account "
+#~ msgstr "Oletko varma että haluat poistaa käyttäjätilin? "
+
+#~ msgid "Change User Acount Password"
+#~ msgstr "Vaihda käyttäjätilin salasana"
+
+#~ msgid "What user account do you want to change the password for?"
+#~ msgstr "Minkä käyttäjätilin salasanan haluat vaihtaa?"
+
+#~ msgid "What would be the new password?"
+#~ msgstr "Anna uusi salasana?"
+
+#~ msgid "Not Implemented"
+#~ msgstr "Ei toteutettu"
+
+#~ msgid "Broadcast Message"
+#~ msgstr "Kuuluta viesti"
+
+#~ msgid "Message to be broadcasted:"
+#~ msgstr "Kuulutettava viesti:"
+
+#~ msgid "This battle is password protected, enter the password."
+#~ msgstr "Tämä peli on suojattu, anna salasana."
+
+#~ msgid "Mute User"
+#~ msgstr "Hiljennä käyttäjä"
+
+#~ msgid "For how many minutes should the user be muted?"
+#~ msgstr "Miten moneksi minuutiksi käyttäjä hiljennetään?"
+
+#~ msgid "Kick User"
+#~ msgstr "Potkaise käyttäjä"
+
+#~ msgid "Reason:"
+#~ msgstr "Syy:"
+
+#~ msgid "Kick user"
+#~ msgstr "Potkaise käyttäjä"
+
+#~ msgid "Mute user"
+#~ msgstr "Hiljennä käyttäjä"
+
+#~ msgid "Duration:"
+#~ msgstr "Kesto:"
+
 #~ msgid "Test firewall"
 #~ msgstr "Kokeile palomuurin toimivuus"
 
@@ -6055,6 +5949,17 @@ msgstr ""
 #~ msgstr "Pelaaja:"
 
 #, fuzzy
+#~ msgid "MB downloaded"
+#~ msgstr "Lataa"
+
+#~ msgid ""
+#~ "\n"
+#~ "Broser path is: "
+#~ msgstr ""
+#~ "\n"
+#~ "Selaimen polku on: "
+
+#, fuzzy
 #~ msgid "Choose color"
 #~ msgstr "Aseta väri"
 
diff --git a/po/fr.gmo b/po/fr.gmo
index 815ea6a..0c6e8be 100644
Binary files a/po/fr.gmo and b/po/fr.gmo differ
diff --git a/po/fr.po b/po/fr.po
index d3dd84f..7029f87 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the springlobby package.
 # Remi RAMPIN <remirampin at gmail.com>, 2008.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: fr\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2009-06-29 15:08+0100\n"
 "Last-Translator: remram44 <remirampin at gmail.com>\n"
 "Language-Team: french\n"
@@ -47,8 +47,8 @@ msgid "value"
 msgstr "valeur"
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "Annuler"
 
@@ -101,7 +101,7 @@ msgstr "Aléatoire"
 msgid "Clans"
 msgstr "Clans"
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "Aucun"
 
@@ -138,45 +138,45 @@ msgstr "Nombre d'alliances"
 msgid "Auto select"
 msgstr "Sélection automatique"
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "Ok"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "Description"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "Carte"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr "Mod"
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "Héberger"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "Spectateurs :"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 msgid "Players"
 msgstr "Joueurs"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "Carte"
@@ -189,11 +189,11 @@ msgstr "Télécharger la &carte"
 msgid "Download m&od"
 msgstr "Télécharger le m&od"
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "Spectateurs :"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 msgid "Active Players:"
 msgstr "Joueurs :"
 
@@ -246,8 +246,8 @@ msgid "All"
 msgstr "Tous"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "Carte :"
 
@@ -260,8 +260,8 @@ msgid "Max.Player:"
 msgstr "Maximum de joueurs"
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr "Mod :"
 
@@ -273,15 +273,15 @@ msgstr "Uniquement les mods que j'ai"
 msgid "    Spectator:"
 msgstr "    Spectateurs :"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr "%d"
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "Joueurs :"
 
@@ -309,35 +309,35 @@ msgstr "Héberger ..."
 msgid "Join"
 msgstr "Rejoindre"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, c-format
 msgid "%d battles displayed"
 msgstr "%d batailles affichées"
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 "Vous ne pouvez pas héberger une partie en étant déconnecté. Merci de vous "
 "connecter à un serveur lobby"
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr "Hors-ligne."
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr "Vous ne pouvez pas héberger avec une version incompatible."
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr "Erreur de Spring"
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
@@ -345,11 +345,11 @@ msgstr ""
 "Spring est déjà lancé, fermez-le afin de pouvoir héberger une nouvelle "
 "partie."
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr "Déjà dans une bataille"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
@@ -358,7 +358,7 @@ msgstr ""
 "Vous êtes déjà dans une bataille\n"
 "Voulez-vous quitter la bataille actuelle pour commencer une nouvelle ?"
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
@@ -368,7 +368,7 @@ msgstr ""
 "Le test de port n'est pas pris en charge.\n"
 "L'hébergement peut fonctionner ou non."
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
@@ -377,7 +377,7 @@ msgstr ""
 "Le serveur utilisé pour tester votre port %d est inaccessible.\n"
 "L'hébergement peut fonctionner ou non avec ces paramètres."
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -396,16 +396,16 @@ msgstr ""
 "Si tout le reste échoue, activez \"Hole punching\" dans les options "
 "d'hébergement."
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr ""
 "La bataille n'a pas commencé car le mod sélectionné n'est pas installé. "
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr "Erreur au démarrage de la bataille."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
@@ -413,11 +413,11 @@ msgstr ""
 "Aucune carte dans votre installation de Spring. Ceci peut arriver si vous "
 "avez mal réglé les paramètres de Spring."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "Aucune carte trouvée."
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
@@ -425,12 +425,12 @@ msgstr ""
 "La version de spring est incompatible et ne permet pas de rejoindre une "
 "bataille."
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid "Already in this battle"
 msgstr "Déjà dans une bataille"
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid ""
 "You are already in this battle.\n"
@@ -440,12 +440,12 @@ msgstr ""
 "Vous êtes déjà dans une bataille\n"
 "Voulez-vous quitter la bataille actuelle pour commencer une nouvelle ?"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid "Already in another battle"
 msgstr "Déjà dans une bataille"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid ""
 "You are already in a battle.\n"
@@ -455,7 +455,7 @@ msgstr ""
 "Vous êtes déjà dans une bataille\n"
 "Voulez vous quitter cette bataille et rejoindre celle-ci ?"
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
@@ -463,11 +463,11 @@ msgstr ""
 "Une instance de Spring est déjà en cours d'exécution, arrêtez-la avant de "
 "rejoindre une autre bataille."
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr "Souhaitez-vous que je vous mène sur la page de téléchargement ?"
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 msgid ""
 "Should i try to download it for you?\n"
 "You can see the progress in the \"Download Manager\" tab."
@@ -475,7 +475,7 @@ msgstr ""
 "Voulez-vous que j'essaye de le télécharger pour vous ?\n"
 "Vous pourrez voir la progression dans l'onglet \"Download Manager\"."
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
@@ -483,11 +483,11 @@ msgstr ""
 "Vous devez télécharger la mod avant de pouvoir rejoindre cette bataille.\n"
 "\n"
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr "Mod non disponible."
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
@@ -495,15 +495,15 @@ msgstr ""
 "Vous devez télécharger la carte avant de pouvoir rejoindre cette bataille.\n"
 "\n"
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr "Carte non-disponible"
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr "Mot de passe de la partie"
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr "Saisir un mot de passe"
 
@@ -512,45 +512,45 @@ msgid "Select"
 msgstr "Sélectionner..."
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr "Option"
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr "Valeur"
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr "Taille"
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr "Vitesse du vent"
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr "Force du courant"
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr "Gravité"
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr "Rayon des extracteurs"
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr "Métal max."
 
@@ -571,151 +571,151 @@ msgstr "Choisies avant la partie"
 msgid "Startpositions"
 msgstr "Positions de départ"
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr "Unités interdites"
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr "Unités autorisées"
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr "Les unités dans cette liste seront accessibles pendant la partie."
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 msgid "Disable selected units."
 msgstr "Désactiver les unités sélectionnées."
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 msgid "Re-enable selected units."
 msgstr "Réactiver les unités sélectionnées."
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr "<<"
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr "Autorise toutes les unités."
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr "Unités interdites"
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr ""
 "Les unités dans cette liste ne seront pas utilisables pendant la partie."
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr "Combien d'unités de ce type souhaitez-vous autoriser ?"
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "Unit restriction"
 msgstr "Unités interdites"
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr "Surnom"
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr "Équipe"
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr "Alliance"
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr "Bonus de ressources"
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr "Faction"
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr "Choisir la couleur"
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr "Choisir le bonus de ressources"
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr "Spectateur"
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr "Expulser"
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr "Biper"
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr "Veuillez entrer une valeur entre 0 et 100"
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 msgid "AI (bot)\n"
 msgstr "IA (bot)\n"
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 msgid "Human\n"
 msgstr "Humain\n"
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 msgid "Spectator\n"
 msgstr "Spectateur\n"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 msgid "Player\n"
 msgstr "Joueur\n"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 msgid "Host\n"
 msgstr "Hôte\n"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 msgid "Client\n"
 msgstr "Client\n"
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 msgid "Ready\n"
 msgstr "Prêt\n"
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 msgid "Not ready\n"
 msgstr "Pas prêt\n"
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 msgid "In sync"
 msgstr "Synchronisé"
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr "Non-synchronisé"
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr "Entrez le nom"
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
@@ -723,63 +723,63 @@ msgstr ""
 "Merci d'entrer le nom du nouveau groupe.\n"
 "Après avoir cliqué sur ok vous pourrez modifier ses paramètres."
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr "Jeux d'options"
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 msgid "Set name."
 msgstr "Définissez le nom."
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr "Chargement ..."
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 msgid "Load a saved set of options."
 msgstr "Charger des options prédéfinies."
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 msgid "Save..."
 msgstr "Sauvegarder..."
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 msgid "Save a set of options."
 msgstr "Sauvegarder ce jeu d'options."
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 msgid "Delete..."
 msgstr "Effacer..."
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 msgid "Delete a set of options."
 msgstr "Effacer ce jeu d'options."
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 msgid "Set default..."
 msgstr "Définir comme options par défaut..."
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr "Utiliser les options actuelles comme options par défaut de la mod."
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 msgid "Mod Options"
 msgstr "Options du Mod"
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr "Options de la carte"
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 msgid "no options available"
 msgstr "pas d'options disponibles"
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
@@ -787,16 +787,16 @@ msgstr ""
 "Impossible d'effacer un jeu d'options sans son nom.\n"
 "Merci d'en sélectionner un parmi ceux de la liste et de réessayer."
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr "erreur"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr "Entrez le nom du jeu d'options"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
@@ -804,22 +804,22 @@ msgstr ""
 "Entrez un nom pour le jeu d'options actuel\n"
 "Si un jeu d'options avec le même nom existe déjà, il sera écrasé."
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr ""
 "Impossible de charger un jeu d'options sans un nom.\n"
 "Merci d'en sélectionner un dans la liste et de réessayer."
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr "Choisissez un jeu d'options existant dans la liste"
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 msgid "Delete preset"
 msgstr "Effacer le jeu d'options"
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 msgid "Set mod default preset"
 msgstr "Définir options de la mod par défaut"
 
@@ -866,7 +866,7 @@ msgstr ""
 "Un aperçu de la carte sélectionnée. Vous pouvez voir les positions de "
 "départ, ou (le cas échéant) les zones de départ."
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr "Quitter"
 
@@ -874,7 +874,7 @@ msgstr "Quitter"
 msgid "Leave the battle and return to the battle list"
 msgstr "Quitter la bataille et revenir à la liste des parties"
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr "Démarrer"
 
@@ -1065,7 +1065,7 @@ msgstr "Charge un jeu d'options"
 msgid "Save"
 msgstr "Sauvegarder..."
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 msgid "Delete"
 msgstr "Effacer"
 
@@ -1144,7 +1144,7 @@ msgstr "Double-cliquez pour rejoindre"
 msgid "Find channel:"
 msgstr "Rejoindre une salle..."
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 msgid "Choose channels to join"
 msgstr "Nom de la salle à rejoindre"
 
@@ -1210,67 +1210,64 @@ msgstr ""
 "Impossible d'ouvrir le fichier journal.\n"
 "Vérifiez qu'il n'y a pas de protection en écriture.\n"
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr "Couleurs et police"
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr "Utilisez les couleurs du système"
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr "Normal"
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr "Arrière-plan"
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr "Action"
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr "Surligner"
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr "Rejoindre/Quitter"
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr "Mes messages"
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr "Serveur"
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr "Client"
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr "Erreur"
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr "Horodatage"
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr "Notification"
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
 "[22:30] <Dude> hi everyone\n"
@@ -1287,323 +1284,135 @@ msgstr ""
 "[22:46] <Dude2> Mais elles pourraient être mieux, je vais les peaufiner "
 "encore un peu...\n"
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr "Police :"
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr "Par défaut"
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr "Sélectionner..."
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr "Comportement des zones de texte"
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr "Active les couleurs IRC dans les messages du chat"
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr "Jouer les sons de notification"
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr "Journalisation du chat"
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr "Enregistrer les journaux du chat"
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr "Mots surlignés"
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr "Mots à surligner dans le chat"
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr "entre une liste séparée par des ;"
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr "Optionnellement, jouer un son/faire clignoter la barre de titre "
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr "salle_"
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr "#"
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, c-format
 msgid "%d users"
 msgstr "%d utilisateurs"
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr "clic droit pour les options (comme autojoin)"
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr "Envoyer"
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr "Désactiver l'ajout de texte (workaround pour le scrolling)"
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr "Copier"
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr "Copier le lien dans le presse-papier"
-
-#: src/chatpanel.cpp:411
-msgid "Clear"
-msgstr "Effacer"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr "Rejoindre automatiquement cette salle"
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr "Afficher les messages d'arrivée/de départ"
-
-#: src/chatpanel.cpp:433
-msgid "Show mute list"
-msgstr "Affiche la liste des muets"
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr "Information de la salle"
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr "Changer le sujet..."
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr "Message dans la salle..."
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr "Verrouiller..."
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr "Déverrouiller"
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr "Inscription ..."
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr "Se désinscrire"
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr "Activée"
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr "Désactivée"
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr "Est activé ?"
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr "Protection contre le Spam"
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr "ChanServ"
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr "Déconnecter"
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr "Reconnecter"
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr "Supprimer..."
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr "Changer de mot de passe..."
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr "Changer l'accès..."
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr "Comptes"
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr "Transmission"
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr "Admin"
-
-#: src/chatpanel.cpp:510
-msgid "User"
-msgstr "Utilisateur"
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr "Ouvrir Chat"
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr "Rejoindre la même partie"
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr "Temps passé en jeu"
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr "Récupérer l'IP, etc"
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr "Rendre muet..."
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr "Rendre muet pour 5 minutes"
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr "Rendre muet pour 10 minutes"
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr "Rendre muet pour 30 minutes"
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr "Rendre muet pour 2 heures"
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr "Rendre muet pour 1 jour"
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr "Rendre la parole"
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr "Rendre muet"
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr "Expulser"
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr "Bannir..."
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr "Débannir"
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr "Baffer !"
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr "Donner les droits d'opérateur"
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr "Prendre les droits d'opérateur"
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr " !! Commande : \""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr "\" paramètres : \""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr "salle"
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr "bataille"
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr "serveur"
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr " a rejoint la "
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr " a quitté la "
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 msgid " ** Channel topic:"
 msgstr " ** Sujet de la salle :"
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 msgid " ** Set by "
 msgstr " ** Défini par "
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr "Chat fermé."
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr "Êtes-vous sûr de vouloir coller %d lignes ?"
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr "Attention Flood !"
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr " Vous avez SpringLobby v"
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr " Vous n'êtes pas dans cette salle ou elle n'existe pas."
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
@@ -1612,7 +1421,7 @@ msgstr ""
 " Erreur: La commande (%s) n'existe pas, tapez /help pour afficher la liste "
 "des commandes disponibles."
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
@@ -1620,172 +1429,23 @@ msgstr ""
 " Vous n'êtes pas dans une bataille ou la bataille n'existe pas, utilisez /"
 "help pour une liste des commandes."
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr " Utilisateur est Hors Ligne"
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr " Envoyé : \""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr "\""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr "Erreur ChanServ"
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr "ChanServ n'est pas dans cette salle."
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr "Que devrait être le nouveau sujet ?"
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr "Message :"
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr "Verrouiller la salle..."
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr "Que devrait être le nouveau mot de passe ?"
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr "Déverrouiller la salle"
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr "Etes vous sur de vouloir déverrouiller cette salle ?"
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr "ChanServ n'est pas sur ce serveur."
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr "Enregistrer la salle"
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr "Qui devra être le fondateur de cette salle ?"
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr "Désinscrire la salle"
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr "Etes vous sur de vouloir désinscrire cette salle ?"
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr "Supprimer le compte utilisateur"
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr "Quel compte utilisateur voulez vous supprimer aujourd'hui ?"
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr "Supprimer compte"
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr "Etes vous sur de vouloir supprimer ce compte ? "
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr "Changer le mot de passe du compte utilisateur"
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr "De quel compte utilisateur voulez-vous changer le mot de passe ?"
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr "Quel devrait être le nouveau mot de passe ?"
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr "Non implémenté"
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr "Transmettre le Message"
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr "Message à transmettre"
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr "Mod non installé : "
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr " . Veuillez le télécharger."
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr "Mod inaccessible"
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr ""
-"Cette bataille est protéger par un mot de passe, entrer le mot de passe."
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr "Rendre l'utilisateur muet"
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr "Pour combien de minutes l'utilisateur sera-t'il muet ?"
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr "Expluser l'utilisateur"
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr "Raison:"
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr "Expluser l'Utilisateur"
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr "Rendre muet l'utilisateur"
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr "Durée :"
-
-#: src/chatpanel.cpp:1797
-msgid "couldn't add user"
-msgstr "impossible d'ajouter le joueur"
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr "Se connecter au serveur lobby"
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
@@ -1793,20 +1453,20 @@ msgstr ""
 "Server auquel se connecter. Vous pouvez vous connecter au serveur que vous "
 "voulez en l'entrant sous la forme adresse:port."
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr "Mot de passe"
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr "Se souvenir du mot de passe"
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr "Connection automatique la prochaine fois"
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
@@ -1814,36 +1474,37 @@ msgstr ""
 "se souvenir des détails de connexion et se connecter automatiquement au "
 "serveur au prochain démarrage du lobby"
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
+#, fuzzy
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 "Si vous n'avez pas de compte, vous\n"
 " pouvez vous inscrire gratuitement dans l'onglet \"S'inscrire\"."
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr "Connexion"
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr "S'inscrire"
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr "Pseudo"
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr "Port invalide."
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr "Port invalide"
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
@@ -1853,15 +1514,15 @@ msgstr ""
 "\n"
 "Il doit être un entier entre 1 et 65535."
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr "Hote/port invalide."
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr "hote invalide"
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
@@ -1869,11 +1530,11 @@ msgstr ""
 "Le pseudonyme entré contient des caractères invalides comme )?&%.\n"
 " Merci de réessayer."
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid "Invalid nickname"
 msgstr "Pseudonyme invalide"
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 msgid ""
 "Registration failed, the reason was:\n"
 "Password / confirmation mismatch (or empty passwort)"
@@ -1881,7 +1542,7 @@ msgstr ""
 "L'inscription a échoué, la raison était :\n"
 "Mot de passe / confirmation différents (ou mot de passe vide)"
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr "Échec de l'inscription."
 
@@ -2874,9 +2535,8 @@ msgid "Last generated spring launching script"
 msgstr "Dernier script de lancement de Spring généré"
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 msgid "Name"
 msgstr "Nom"
 
@@ -2966,8 +2626,8 @@ msgid "Notify when users of this group hosts a battle"
 msgstr ""
 "Vous serez averti lorsqu'un utilisateur de ce groupe héberge une bataille."
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr "Ignorer les messages privés"
 
@@ -3057,9 +2717,8 @@ msgstr "Choisissez le fichier"
 msgid "File successfully saved"
 msgstr "Fichier enregistré"
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 msgid "Success"
 msgstr "Réussite"
 
@@ -3067,7 +2726,7 @@ msgstr "Réussite"
 msgid "Couldn't save file"
 msgstr "Impossible de sauvegarder"
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 msgid "Default"
 msgstr "Par défaut"
 
@@ -3100,119 +2759,119 @@ msgstr "wxTranslationHelper: Préfixe du répertoire = \"%s\""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr "wxTranslationHelper: Nom du catalogue = \"%s\""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr "Heberger un nouvelle bataille"
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr ""
 "Une petite description de cette partie, elle apparaîtra dans la liste de "
 "bataille."
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "Description"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 #, fuzzy
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 "Verrouille automatiquement la bataille quand le jeu commence et la "
 "déverrouille quand il est terminé."
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr "Selectionnez le mod avec le quel vous voulez jouer."
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr ""
 "Mot de passe requis pour rejoindre la partie. Laissez vide si sans mot de "
 "passe"
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr "Port"
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr "Port UDP pour héberger une partie. Par défaut 8452"
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 "héberge et contrôle la partie sur une autre machine, utile si vous ne "
 "parvenez pas à héberger"
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 #, fuzzy
 msgid "Randomly picks an available one"
 msgstr "pas d'options disponibles"
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr "Nombre de joueurs"
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr "Le nombre maximum de joueurs autorisés à rejoindre la partie."
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr "Hole punching"
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr "Traversée du NAT"
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 msgid "NAT traversal to use."
 msgstr "Méthode de traversée de NAT à utiliser."
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr "Grade minimum requis"
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr "Démarrer l'hébergement de la bataille."
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr "Vous devez choisir un mod d'abord."
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr "Pas de mod séléctionner."
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
@@ -3220,7 +2879,7 @@ msgstr ""
 "\n"
 "enregistré dans :\n"
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 msgid ""
 "\n"
 "successfully unzipped in:\n"
@@ -3228,7 +2887,7 @@ msgstr ""
 "\n"
 "décompressé avec succès dans :\n"
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
@@ -3236,11 +2895,11 @@ msgstr ""
 "\n"
 " échec de la décompression, merci de corriger manuellement"
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr "Impossible de sauvegarder\n"
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
@@ -3248,7 +2907,7 @@ msgstr ""
 "\n"
 "dans :\n"
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
@@ -3256,70 +2915,70 @@ msgstr ""
 "\n"
 "Erreur numéro : "
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr "Navigateur web"
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr "Navigateur par défaut."
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr "Utilisez le navigateur par défaut de votre système"
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr "Spécifiez :"
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr "Indiquez le navigateur internet que vous souhaitez utiliser"
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr "Parcourir"
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr "Choisir le chemin du navigateur web"
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 #, fuzzy
 msgid "Path"
 msgstr "Regarder"
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 #, fuzzy
 msgid "Use a file dialog to find the editor binary"
 msgstr "Choisir le chemin du navigateur web"
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 msgid "Autoconnect"
 msgstr "Connexion automatique"
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 "Si coché, SpringLobby se connectera automatiquement au dernier serveur "
 "utilisé"
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 msgid "Autoconnect on lobby start"
 msgstr "Connexion automatique au lancement"
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr "Envoyer les statistiques"
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3333,15 +2992,15 @@ msgstr ""
 "mises à jour.\n"
 "Décochez pour désactiver."
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr "Envoyer les statistiques"
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr "Mises à jour automatiques"
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
@@ -3349,27 +3008,27 @@ msgstr ""
 "SpringLobby peut vérifier à son lancement si une version plus récente est "
 "disponible et la télécharger automatiquement pour vous."
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr "Vérifier automatiquement les mises à jour"
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 msgid "Tooltips"
 msgstr "Infobulles"
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 msgid "Show Tooltips?"
 msgstr "Afficher des infobulles ?"
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr "Nécessite le redémarrage de SpringLobby pour prendre effet."
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr "Méthode d'auto-complétion"
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
@@ -3379,32 +3038,32 @@ msgstr ""
 "\"Plus proche\" sélectionnera la possibilité qui a la plus faible distance "
 "de Levenshtein."
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 msgid "Match exact"
 msgstr "Exacte"
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr "Plus proche"
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 "Afficher des grosses icônes pour les onglets de la fenêtre principale ?"
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 msgid "Start tab"
 msgstr "Onglet de démarrage"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr "Sélectionnez quel onglet afficher au démarrage"
 
@@ -3417,7 +3076,7 @@ msgstr "Choisissez un exécutable de navigateur web"
 msgid "Choose a editor browser executable"
 msgstr "Choisissez un exécutable de navigateur web"
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 msgid "Disconnected from server, chat closed."
 msgstr "Déconnecté du serveur, fermeture du chat."
 
@@ -3425,125 +3084,109 @@ msgstr "Déconnecté du serveur, fermeture du chat."
 msgid "Battle list"
 msgstr "Liste de bataille"
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr "Salle de bataille"
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr "Options"
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 msgid "Unit Restrictions"
 msgstr "Unités interdites"
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr "Spring"
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr "Téléchargement mutualisé"
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr "Chat"
 
-#: src/mainoptionstab.cpp:75
-msgid "General"
-msgstr "Générales"
-
-#: src/mainoptionstab.cpp:78
-msgid "Groups"
-msgstr "Groupes"
-
-#: src/mainoptionstab.cpp:80
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
 msgid "Restore"
 msgstr "Restaurer"
 
-#: src/mainoptionstab.cpp:81
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
 msgid "Apply"
 msgstr "Appliquer"
 
-#: src/mainsingleplayertab.cpp:41
+#: src/mainoptionstab.cpp:87
+msgid "General"
+msgstr "Générales"
+
+#: src/mainoptionstab.cpp:90
+msgid "Groups"
+msgstr "Groupes"
+
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr "Jeu"
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr "Transferts en cours : "
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr "Total sortant : "
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr "Total entrant : "
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr "inconnu"
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr "Annuler le téléchargement"
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr "Publier un fichier"
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr "Chercher le fichier"
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 msgid "Download Lua widgets"
 msgstr "Télécharger des widgets Lua"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr "Téléchargement de widgets Lua"
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr "non disponible"
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr "en partage"
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr "télécharge"
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr "en attente"
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr "non connecté"
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr "connecté"
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr "Etat : ralenti ou pausé (en jeu)"
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr "Etat : inconnu"
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr "Total sortant : %.2f ko/s"
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr "Total entrant : %.2f ko/s"
@@ -3552,229 +3195,243 @@ msgstr "Total entrant : %.2f ko/s"
 msgid "SpringLobby"
 msgstr "SpringLobby"
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr "&Connexion..."
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr "&Déconnecter"
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 msgid "&Save options"
 msgstr "&Enregistrer les options"
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr "&Quitter"
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+#, fuzzy
+msgid "&Save Layout"
+msgstr "&Enregistrer les options"
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr "Rejoindre la &salle..."
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 msgid "Channel &list"
 msgstr "&Liste des salles"
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr "Ouvrir un chat &privé"
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr "Canaux rejoints &automatiquement..."
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr "&Captures d'écran"
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr "&Recharger Cartes/Mods"
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr "Chercher une &mise à jour"
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr "&Options de Spring"
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr "&A propos"
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 msgid "&Change language"
 msgstr "&Changer de langue"
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr "&Signaler un bogue"
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr "&Documentation"
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr "&Fichier"
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+#, fuzzy
+msgid "&View"
+msgstr "&Fichier"
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr "&Outils"
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr "&Aide"
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr "Vous devez être connecté au serveur pour voir la liste des canaux"
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "Not connected"
 msgstr "Non connecté"
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr "Rejoindre la salle..."
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr "Nom de la salle à rejoindre"
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr "Ouvrir un chat privé..."
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr "Nom de l'utilisateur"
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 "SpringLobby est un client lobby multiplateforme pour le moteur de RTS Spring."
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr "Il n'y a pas de captures d'écran dans le dossier data de spring."
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "No files found"
 msgstr "Aucun fichier"
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr "Démarrer manuellement le système de &torrents"
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr "Arrêter manuellement le système de &torrent"
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 "Vous devez redémarrer SpringLobby pour prendre en compte le changement de "
 "langue."
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr "Redémarrage requis"
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr ""
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr "Entrez un nom pour ce profil"
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr "Quel profil voulez-vous charger ?"
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 msgid "Which profile do you want to be default?"
 msgstr "Quel profil voulez-vous sélectionner par défaut ?"
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr "Multijoueur"
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr "Solo"
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 msgid "Savegames"
 msgstr "Sauvegardes"
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 msgid "Replays"
 msgstr "Replays"
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 msgid "Downloads"
 msgstr "Téléchargements"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr "Métal: %.1f%%"
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr "Actualiser"
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr "Télécharger"
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr "faction :"
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr "allié: %d"
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr "bonus: %d%%"
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr "Sélectionnez une carte (cliquez-glissez pour faire défiler)"
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr "Trier verticalement selon"
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr "Trier horizontalement selon"
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 msgid "Show"
 msgstr "Afficher"
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr "Toutes les cartes"
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr "Affiche toutes les cartes disponibles"
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr "Cartes populaires"
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
@@ -3782,55 +3439,55 @@ msgstr ""
 "Affiche uniquement les cartes qui sont actuellement jouées sur le serveur. "
 "Vous devez être connecté pour utiliser ceci."
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr "Cartes jouées récemment."
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 "Affiche uniquement les cartes sur lesquelles vous avez joué récemment (en se "
 "basant sur vos replays)."
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 msgid "Filter"
 msgstr "Filtrer"
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 "Affiche uniquement les cartes qui contiennent ce texte dans leur nom ou leur "
 "description."
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 msgid "Map details"
 msgstr "Détails de la carte"
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 msgid "Start positions"
 msgstr "Positions de départ"
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 msgid "Minimum wind"
 msgstr "Vent minimum"
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr "Vent maximum"
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 msgid "Average wind"
 msgstr "Vent moyen"
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr "Taille (map area)"
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 msgid "Aspect ratio"
 msgstr "Rapport des dimensions"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 msgid "Number of start positions"
 msgstr "Nombre de positions de départ"
 
@@ -3871,19 +3528,19 @@ msgstr "Liste des unités interdites"
 msgid "Map name"
 msgstr "Nom de la carte"
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 msgid "Change option"
 msgstr "Modifier l'option"
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr "s"
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr "c"
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr "r"
 
@@ -3943,40 +3600,40 @@ msgstr "Taille du fichier"
 msgid "Filesize in kilobyte"
 msgstr "Taille du fichier en ko"
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr "Fichier"
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr "Regarder"
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "Chargement ..."
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr "Rafraîchir la liste"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "Replays"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "savegame"
 msgstr "Sauvegardes"
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr ""
 "Impossible de récupérer votre version de Spring depuis une bibliothèque "
 "unitsync."
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, fuzzy, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
@@ -3985,11 +3642,11 @@ msgstr ""
 "Aucune version installée et compatible de spring n'a été trouvée, ce serveur "
 "nécessite la version : %s\n"
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr "Vos versions actuellement installées sont :"
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
 "\n"
@@ -3997,7 +3654,7 @@ msgstr ""
 "Vous devez télécharger la mod avant de pouvoir regarder ce replay.\n"
 "\n"
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -4012,7 +3669,7 @@ msgstr ""
 "Vous devez télécharger la carte pour pouvoir visualiser ce replay.\n"
 "\n"
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
@@ -4020,11 +3677,11 @@ msgstr ""
 "Je ne pense pas que vous pourrez visualiser ce replay.\n"
 "Essayer quand même ? (PEUT PLANTER !)"
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid "Invalid replay"
 msgstr "Replay invalide"
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr "Impossible d'effacer le replay : "
 
@@ -4040,91 +3697,91 @@ msgstr "Entrez un filtre pour filtrer les noms des utilisateurs en ligne"
 msgid "Select Users"
 msgstr "Sélectionner des utilisateurs"
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr "réponse au ping après %s ms"
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 msgid " is online"
 msgstr " est en ligne"
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr " est maintenant "
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr "OnUserStatus() a échoué ! (exception)"
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 msgid " just went offline"
 msgstr " vient de se déconnecter"
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 msgid " opened battle "
 msgstr " a ouvert la bataille "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr "Impossible de rejoindre la salle"
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr "Impossible de rejoindre la salle "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr " car : "
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr "Message du serveur"
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr " détient l'ip : %s"
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr " ne supporte pas vraiment la traversée de NAT"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr "Vous avez été expulsé de la partie !"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr "Expulsé par l'hôte"
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr "Début de la liste des muets pour "
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, c-format
 msgid "%s mutelist"
 msgstr "Muets sur %s"
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr " aucune limite de durée"
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr " %d minutes restantes"
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr "Fin de la liste des muets pour "
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 msgid "Download update"
 msgstr "Téléchargement d'une mise à jour"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -4138,70 +3795,70 @@ msgstr ""
 "suivantes :\n"
 "%s"
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 #, fuzzy
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
 "Il y a eu une erreur pendant le téléchargement de la dernière version.\n"
 "Merci de vous mettre à jour manuellement depuis http://springrts.com"
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 #, fuzzy
 msgid "Negotiation error"
 msgstr "Notification"
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 #, fuzzy
 msgid "Invalid Value"
 msgstr "Pseudonyme invalide"
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 msgid "No Handler"
 msgstr ""
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 #, fuzzy
 msgid "File doesn't exit"
 msgstr "La carte n'existe pas."
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "Activé"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 #, fuzzy
 msgid "Reconnection Error"
 msgstr "Reconnecter"
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 #, fuzzy
 msgid "Unknown Error"
 msgstr "Inconnu"
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 msgid "Download complete, location is: "
 msgstr "Téléchargement terminé, l'emplacement est : "
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 msgid "Download complete."
 msgstr "Téléchargement terminé."
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer. File location is: "
 msgstr "Impossible de lancer l'installeur. L'emplacement du fichier est : "
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer."
 msgstr "Impossible de lancer l'installeur."
 
@@ -4879,74 +4536,74 @@ msgid "Save Spring settings before exiting?"
 msgstr "Sauvegarder les paramètres de Spring avant de sortir ?"
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr "Confirmation nécessaire"
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr "SpringSettings (mode expert)"
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr "SpringSettings (mode simple)"
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr "Sauvegarder les paramètres"
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr "Réinitialiser les paramètres aux valeurs par défaut"
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr "Désactiver l'avertissement du mode expert"
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr "Quitter"
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr "Simple (peu d'options)"
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr "Expert (toutes les options)"
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr "A propos"
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr "Contact"
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr "Crédits"
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr "Signaler un bug"
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr "Mode"
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr "Info/Aide"
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr "Rétablier TOUS les paramètres aux valeurs par défaut ?"
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr "Astuce"
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr "SpringSettings (mode expert)"
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -4971,7 +4628,7 @@ msgstr ""
 msgid "everyone reporting bugs/suggestions"
 msgstr "tous ceux qui rapportent des bogues/des suggestions"
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -4982,27 +4639,32 @@ msgstr ""
 "La génération d'un rapport de bogue n'est pas possible.\n"
 "Merci d'activer wxUSE_DEBUGREPORT"
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr "Erreur critique"
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr "affiche ce message d'aide"
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr "ne pas utiliser le gestionnaire de crashs (utile pour le débogage)"
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr "écrire le journal de l'application dans la console (si possible)"
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr "active l'affichage du journal de l'application dans une fenêtre"
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -5052,8 +4714,8 @@ msgstr "Réglage des chemins"
 msgid "Choose an unitsync library"
 msgstr "Choisissez une bibliothèque unitsync"
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr "Tous les fichiers"
 
@@ -5094,23 +4756,23 @@ msgstr "très haute"
 msgid "can't launch default browser"
 msgstr "Impossible de lancer le navigateur par défaut"
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr "Impossible de lancer le navigateur. L'URL est : "
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr "Impossible de lancer le navigateur."
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr "Impossible d'accéder à vos paramètres.\n"
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr "Impossible de sauvegarder, unitsync n'est pas chargée correctement"
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr "Erreur de SpringSettings"
 
@@ -5118,11 +4780,11 @@ msgstr "Erreur de SpringSettings"
 msgid "Audio Options"
 msgstr "Options audio"
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr "Résolution de l'écran"
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
@@ -5130,31 +4792,31 @@ msgstr ""
 "Si une option nécessite du matériel spécial pour\n"
 "fonctionner, ce sera mentionné dans l'infobulle."
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr "Qualité de l'eau"
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr "Résolution en bits"
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr "Options de qualité du rendu"
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr "Options du mode vidéo"
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr "Options d'anti-aliasing"
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr "Z-Buffer (tampon de profondeur)"
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr "Eau bump-mappée"
 
@@ -5263,7 +4925,7 @@ msgstr "Options diverse de l'interface"
 msgid "Zoom"
 msgstr "Zoom"
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
@@ -5273,31 +4935,31 @@ msgstr ""
 " Passer la souris sur l'icône permet de changer la faction, l'alliance et le "
 "bonus."
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr "Ajouter un bot..."
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 msgid "Spectate only"
 msgstr "Observer seulement"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 msgid "Random start positions"
 msgstr "Positions de départ aléatoires"
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr "-- Faites un choix --"
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr "Paramètres de jeu invalides"
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr "Vous devez d'abord sélectionner une carte."
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
@@ -5307,61 +4969,30 @@ msgstr ""
 " La partie sera terminée plutôt vite.\n"
 " "
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr "Aucun bot ajouté"
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr "Vous ne pouvez pas lancer Spring alors qu'il est déjà lancé"
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
-msgstr "Salut "
-
-#: src/springlobbyapp.cpp:168
-msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
-"\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
-",\n"
-"Apparemment c'est la première fois que tu utilises SpringLobby. J'ai deviné "
-"une configuration qui je pense fonctionnera pour toi mais tu devrais la "
-"vérifier, particulièrement la configuration de Spring.\n"
-"\n"
-"Quand tu auras fini tu pourras aller dans la menu Fichier, se connecter à un "
-"serveur, et apprécier une bonne partie de Spring :)"
-
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
-msgstr "Bienvenue"
 
-#: src/springlobbyapp.cpp:172
+#: src/springlobbyapp.cpp:183
 msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
+"\n"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
-"Par défaut SpringLobby envoie certaines statistiques.\n"
-"Vous pouvez le désactiver dans les options, onglet \"Générales\"."
-
-#: src/springlobbyapp.cpp:172
-msgid "Notice"
-msgstr "Remarque"
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
-msgstr "Dois-je essayer d'importer (quelques) réglages de TASClient ?\n"
 
-#: src/springlobbyapp.cpp:188
-msgid "Import settings?"
-msgstr "Importer les paramètres ?"
+#: src/springlobbyapp.cpp:183
+#, fuzzy
+msgid "Fatal error"
+msgstr "Erreur critique"
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5373,66 +5004,74 @@ msgstr ""
 "\n"
 "Merci de récupérer une bibliothèque wxWidgets qui supporte wxUSE_DEBUGREPORT"
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr "seulement effectuer la mise à jour, quitter immédiatement ensuite"
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 msgid "Ignore chat"
 msgstr "Ignorer le chat"
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 msgid "Battle Autokick"
 msgstr "Expulsion automatique d'une bataille"
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 msgid "Friends"
 msgstr "Amis"
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr "Chercher uniquement dans le répertoire d'installation"
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr "Exécutables de Spring"
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr "Emplacement"
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr "Chercher"
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr "Bibliothèque unitsync"
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr "Configuration automatique"
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr "Choisissez un exécutable de Spring"
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr "Bibliothèque"
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr "Choisir la bibliothèque UnitSync"
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5464,7 +5103,7 @@ msgstr ""
 "La création des répertoires a échoué\n"
 "Veuillez créer manuellement les dossiers suivants :"
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr "Délai de connexion expiré"
 
@@ -5488,44 +5127,45 @@ msgstr "ligne "
 msgid " , column "
 msgstr ", colonne "
 
-#: src/torrentlistctrl.cpp:44
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
+msgstr ""
+
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
 #, fuzzy
-msgid "Numcopies"
-msgstr "nb. copies"
+msgid "Cancel torrent"
+msgstr "Suspendre les torrents"
 
-#: src/torrentlistctrl.cpp:48
-msgid "MB downloaded"
-msgstr "Mo téléchargés"
+#: src/torrentlistctrl.cpp:173
+#, fuzzy
+msgid "Retry torrent"
+msgstr "Restaurer"
 
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
-msgstr "Mo envoyés"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
+msgstr ""
 
-#: src/torrentlistctrl.cpp:56
+#: src/torrentlistctrl.cpp:264
 #, fuzzy
-msgid "Status"
-msgstr "Etat :"
-
-#: src/torrentlistctrl.cpp:60
-#, fuzzy, c-format
-msgid "% complete"
-msgstr "% effectués"
+msgid "not found"
+msgstr "Aucune carte trouvée."
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
-msgstr "ko/s sortant"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
+msgstr "en attente"
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
-msgstr "ko/s entrant"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
+msgstr "télécharge"
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
-msgstr "temps restant estimé (s)"
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "% effectués"
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
-msgstr "Taille (Mo)"
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
+msgstr "en partage"
 
 #: src/torrentoptionspanel.cpp:37
 msgid "Torrent system autostart"
@@ -5595,11 +5235,11 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr "Echec du système de torrents"
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr "Mot de passe du serveur"
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
@@ -5607,47 +5247,39 @@ msgstr ""
 "Réussite de l'inscription,\n"
 "vous devriez maintenant pouvoir vous connecter."
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr "Inscription réussie"
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr "Echec de l'inscription, la raison était :\n"
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-"\n"
-"Le chemin d'accès du navigateur est : "
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr "Erreur d'aide"
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr "Tapez /help dans une fenêtre de chat."
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr "Aide sur les commandes de SpringLobby."
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr "Commandes globales :"
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr "  \"/away\" - Définit votre état comme absent."
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr "  \"/back\" - Retire votre état absent."
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
@@ -5655,11 +5287,11 @@ msgstr ""
 "  \"/changepassword oldpassword newpassword\" - Change le mot de passe du "
 "compte actuellement actif."
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr "  \"/channels\" - Liste les salles actuellement actives."
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
@@ -5667,66 +5299,66 @@ msgstr ""
 "  \"/help [sujet]\" - Ajoutez \"sujet\" si vous voulez obtenir des "
 "informations plus spécifiques sur une commande."
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
 msgstr ""
 "  \"/join salle [mot de passe] [,salle2 [mot de passe2]]\" - Rejoint une "
 "salle."
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr "  \"/j\" - Raccourcis pour /join."
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr "  \"/ingame\" - Affiche combien de temps vous avez en jeu."
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
 "username."
 msgstr ""
 "  \"/msg pseudo [texte]\" - Envoie un message privé contenant texte à pseudo."
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 msgid "  \"/part\" - Leaves current channel."
 msgstr "  \"/part\" - Quitte la salle actuelle."
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 msgid "  \"/p\" - Alias to /part."
 msgstr "  \"/p\" - Raccourci pour /part."
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr "  \"/rename nouveaunom\" - Change votre pseudo en nouveaunom."
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr ""
 "  \"/sayver\" - Dit quelle version de SpringLobby vous utilisez dans le chat."
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr "  \"/testmd5 text\" - Retourne le hash md5-b64 du texte donné."
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr "  \"/ver\" - Affiche quelle version de SpringLobby vous utilisez."
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr "  \"/clear\" - Efface tout le texte de la fenêtre actuelle"
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr "Commandes de chat :"
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr "  \"/me action\" - Fait une action dans le style d'IRC."
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
@@ -5734,21 +5366,21 @@ msgstr ""
 "Si vous ne comprenez pas une commande, allez sur #springlobby et essayez de "
 "la taper ici :)"
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr "Pas de sujets écrits pour le moment."
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr "Le sujet \""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr ""
 "\" n'a pas été trouvé. Tapez \"/help sujets\" seulement pour des sujets "
 "disponibles."
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
 "\n"
@@ -5759,7 +5391,7 @@ msgstr ""
 "\n"
 "Le jeu en ligne est actuellement désactivé."
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
@@ -5768,15 +5400,15 @@ msgstr ""
 "Aucune version installée et compatible de spring n'a été trouvée, ce serveur "
 "nécessite la version : %s\n"
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 msgid "Online play is currently disabled."
 msgstr "Le jeu en ligne est actuellement désactivé."
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 msgid "Disconnected from server."
 msgstr "Déconnecté du serveur."
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
@@ -5786,32 +5418,32 @@ msgstr ""
 "Voulez-vous essayer à nouveau avec le même serveur ?\n"
 "Non pour passer au prochain serveur dans la liste"
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid "Connection failure"
 msgstr "Echec de la connexion"
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr "aucun onglet de chat ouvert."
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr "(%d utilisateurs)"
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr "Message du serveur"
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr "La partie actuelle a été fermée par l'hôte."
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr "Partie fermée"
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
@@ -5821,15 +5453,15 @@ msgstr ""
 "correctement, vous devriez les vérifier avant de tenter\n"
 "de jouer en ligne."
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr "Erreur de configuration de Spring"
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr "Le jeu d'options sélectionné nécessite la carte "
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5840,11 +5472,57 @@ msgstr ""
 "jeu d'options\n"
 "Merci de resélectionner le jeu d'options après la fin du téléchargement."
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr "Carte manquante"
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr "Salut "
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+",\n"
+"Apparemment c'est la première fois que tu utilises SpringLobby. J'ai deviné "
+"une configuration qui je pense fonctionnera pour toi mais tu devrais la "
+"vérifier, particulièrement la configuration de Spring.\n"
+"\n"
+"Quand tu auras fini tu pourras aller dans la menu Fichier, se connecter à un "
+"serveur, et apprécier une bonne partie de Spring :)"
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr "Bienvenue"
+
+#: src/ui.cpp:1242
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+"Par défaut SpringLobby envoie certaines statistiques.\n"
+"Vous pouvez le désactiver dans les options, onglet \"Générales\"."
+
+#: src/ui.cpp:1242
+msgid "Notice"
+msgstr "Remarque"
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr "Dois-je essayer d'importer (quelques) réglages de TASClient ?\n"
+
+#: src/ui.cpp:1258
+msgid "Import settings?"
+msgstr "Importer les paramètres ?"
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
@@ -5855,15 +5533,15 @@ msgstr ""
 "Si le problème persiste, merci d'utiliser Aide->Signaler un bogue pour "
 "rapporter ce bogue."
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr "Votre Version: "
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr "Dernière Version: "
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
@@ -5871,7 +5549,7 @@ msgstr ""
 "Votre version de SpringLobby n'est pas à jour.\n"
 "\n"
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid ""
 "\n"
 "\n"
@@ -5883,19 +5561,15 @@ msgstr ""
 "Dois-je télécharger la dernière version ? Les changements prendront effet la "
 "prochaine fois que vous lancerez le lobby."
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid "Not up to date"
 msgstr "Pas à jour"
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr "SpringLobby -- télécharge une mise à jour"
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr "Non à jours"
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
@@ -5904,7 +5578,7 @@ msgstr ""
 "Vérifiez manuellement ou donnez à l'utilisateur actuel la permission "
 "d'écrire."
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 msgid ""
 "There was an error downloading for the latest version.\n"
 "Please try again later.\n"
@@ -5914,11 +5588,11 @@ msgstr ""
 "Merci de réessayer plus tard.\n"
 "Si le problème persiste, merci d'utiliser Aide->Signaler un bogue."
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
-#, c-format
+#: src/updater/updater.cpp:92
+#, fuzzy, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
@@ -5928,13 +5602,13 @@ msgstr ""
 " vers : %s\n"
 "Merci d'utiliser Aide->Signaler un bogue pour rapporter ce bogue."
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr ""
 "Mise à jour effectuée. Les modifications seront accessibles au prochain "
 "lancement."
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
@@ -5944,7 +5618,7 @@ msgstr ""
 "Certains fichiers de traduction n'ont pas pu être mis à jour.\n"
 "Merci de le signaler sur #springlobby après avoir redémarré."
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr "Succès partiel"
 
@@ -6071,15 +5745,15 @@ msgstr "Vétéran"
 msgid "Unknown"
 msgstr "Inconnu"
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr "Créer un nouveau groupe..."
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 msgid "Add to group..."
 msgstr "Ajouter à un groupe..."
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 msgid "Remove from group"
 msgstr "Retirer du groupe"
 
@@ -6153,6 +5827,244 @@ msgstr "Le widget n'a pas été supprimé."
 #~ msgid "cpu"
 #~ msgstr "CPU"
 
+#~ msgid "Disable text appending (workaround for autoscroll)"
+#~ msgstr "Désactiver l'ajout de texte (workaround pour le scrolling)"
+
+#~ msgid "Copy"
+#~ msgstr "Copier"
+
+#~ msgid "Copy link location"
+#~ msgstr "Copier le lien dans le presse-papier"
+
+#~ msgid "Clear"
+#~ msgstr "Effacer"
+
+#~ msgid "Auto join this channel"
+#~ msgstr "Rejoindre automatiquement cette salle"
+
+#~ msgid "Display Join/Leave Messages"
+#~ msgstr "Afficher les messages d'arrivée/de départ"
+
+#~ msgid "Show mute list"
+#~ msgstr "Affiche la liste des muets"
+
+#~ msgid "Channel info"
+#~ msgstr "Information de la salle"
+
+#~ msgid "Set topic..."
+#~ msgstr "Changer le sujet..."
+
+#~ msgid "Channel message..."
+#~ msgstr "Message dans la salle..."
+
+#~ msgid "Lock..."
+#~ msgstr "Verrouiller..."
+
+#~ msgid "Unlock"
+#~ msgstr "Déverrouiller"
+
+#~ msgid "Register..."
+#~ msgstr "Inscription ..."
+
+#~ msgid "Unregister"
+#~ msgstr "Se désinscrire"
+
+#~ msgid "On"
+#~ msgstr "Activée"
+
+#~ msgid "Is on?"
+#~ msgstr "Est activé ?"
+
+#~ msgid "Spam protection"
+#~ msgstr "Protection contre le Spam"
+
+#~ msgid "ChanServ"
+#~ msgstr "ChanServ"
+
+#~ msgid "Disconnect"
+#~ msgstr "Déconnecter"
+
+#~ msgid "Remove..."
+#~ msgstr "Supprimer..."
+
+#~ msgid "Change password..."
+#~ msgstr "Changer de mot de passe..."
+
+#~ msgid "Set access..."
+#~ msgstr "Changer l'accès..."
+
+#~ msgid "Accounts"
+#~ msgstr "Comptes"
+
+#~ msgid "Broadcast..."
+#~ msgstr "Transmission"
+
+#~ msgid "Admin"
+#~ msgstr "Admin"
+
+#~ msgid "User"
+#~ msgstr "Utilisateur"
+
+#~ msgid "Open Chat"
+#~ msgstr "Ouvrir Chat"
+
+#~ msgid "Join same battle"
+#~ msgstr "Rejoindre la même partie"
+
+#~ msgid "Ingame time"
+#~ msgstr "Temps passé en jeu"
+
+#~ msgid "Retrieve IP and Smurfs"
+#~ msgstr "Récupérer l'IP, etc"
+
+#~ msgid "Mute..."
+#~ msgstr "Rendre muet..."
+
+#~ msgid "Mute for 5 minutes"
+#~ msgstr "Rendre muet pour 5 minutes"
+
+#~ msgid "Mute for 10 minutes"
+#~ msgstr "Rendre muet pour 10 minutes"
+
+#~ msgid "Mute for 30 minutes"
+#~ msgstr "Rendre muet pour 30 minutes"
+
+#~ msgid "Mute for 2 hours"
+#~ msgstr "Rendre muet pour 2 heures"
+
+#~ msgid "Mute for 1 day"
+#~ msgstr "Rendre muet pour 1 jour"
+
+#~ msgid "Unmute"
+#~ msgstr "Rendre la parole"
+
+#~ msgid "Mute"
+#~ msgstr "Rendre muet"
+
+#~ msgid "Kick..."
+#~ msgstr "Expulser"
+
+#~ msgid "Ban..."
+#~ msgstr "Bannir..."
+
+#~ msgid "Unban"
+#~ msgstr "Débannir"
+
+#~ msgid "Slap!"
+#~ msgstr "Baffer !"
+
+#~ msgid "Op"
+#~ msgstr "Donner les droits d'opérateur"
+
+#~ msgid "DeOp"
+#~ msgstr "Prendre les droits d'opérateur"
+
+#~ msgid "ChanServ error"
+#~ msgstr "Erreur ChanServ"
+
+#~ msgid "ChanServ is not in this channel."
+#~ msgstr "ChanServ n'est pas dans cette salle."
+
+#~ msgid "What should be the new topic?"
+#~ msgstr "Que devrait être le nouveau sujet ?"
+
+#~ msgid "Message:"
+#~ msgstr "Message :"
+
+#~ msgid "Lock channel..."
+#~ msgstr "Verrouiller la salle..."
+
+#~ msgid "What should the new password be?"
+#~ msgstr "Que devrait être le nouveau mot de passe ?"
+
+#~ msgid "Unlock Channel"
+#~ msgstr "Déverrouiller la salle"
+
+#~ msgid "Are you sure you want to unlock this channel?"
+#~ msgstr "Etes vous sur de vouloir déverrouiller cette salle ?"
+
+#~ msgid "ChanServ is not on this server."
+#~ msgstr "ChanServ n'est pas sur ce serveur."
+
+#~ msgid "Register Channel"
+#~ msgstr "Enregistrer la salle"
+
+#~ msgid "Who should be appointed founder of this channel?"
+#~ msgstr "Qui devra être le fondateur de cette salle ?"
+
+#~ msgid "Unregister Channel"
+#~ msgstr "Désinscrire la salle"
+
+#~ msgid "Are you sure you want to unregister this channel?"
+#~ msgstr "Etes vous sur de vouloir désinscrire cette salle ?"
+
+#~ msgid "Remove User Acount"
+#~ msgstr "Supprimer le compte utilisateur"
+
+#~ msgid "What user account do you want to remove today?"
+#~ msgstr "Quel compte utilisateur voulez vous supprimer aujourd'hui ?"
+
+#~ msgid "Remove Account"
+#~ msgstr "Supprimer compte"
+
+#~ msgid "Are you sure you want to remove the account "
+#~ msgstr "Etes vous sur de vouloir supprimer ce compte ? "
+
+#~ msgid "Change User Acount Password"
+#~ msgstr "Changer le mot de passe du compte utilisateur"
+
+#~ msgid "What user account do you want to change the password for?"
+#~ msgstr "De quel compte utilisateur voulez-vous changer le mot de passe ?"
+
+#~ msgid "What would be the new password?"
+#~ msgstr "Quel devrait être le nouveau mot de passe ?"
+
+#~ msgid "Not Implemented"
+#~ msgstr "Non implémenté"
+
+#~ msgid "Broadcast Message"
+#~ msgstr "Transmettre le Message"
+
+#~ msgid "Message to be broadcasted:"
+#~ msgstr "Message à transmettre"
+
+#~ msgid "You don't have the mod "
+#~ msgstr "Mod non installé : "
+
+#~ msgid " . Please download it first"
+#~ msgstr " . Veuillez le télécharger."
+
+#~ msgid "Mod unavailable"
+#~ msgstr "Mod inaccessible"
+
+#~ msgid "This battle is password protected, enter the password."
+#~ msgstr ""
+#~ "Cette bataille est protéger par un mot de passe, entrer le mot de passe."
+
+#~ msgid "Mute User"
+#~ msgstr "Rendre l'utilisateur muet"
+
+#~ msgid "For how many minutes should the user be muted?"
+#~ msgstr "Pour combien de minutes l'utilisateur sera-t'il muet ?"
+
+#~ msgid "Kick User"
+#~ msgstr "Expluser l'utilisateur"
+
+#~ msgid "Reason:"
+#~ msgstr "Raison:"
+
+#~ msgid "Kick user"
+#~ msgstr "Expluser l'Utilisateur"
+
+#~ msgid "Mute user"
+#~ msgstr "Rendre muet l'utilisateur"
+
+#~ msgid "Duration:"
+#~ msgstr "Durée :"
+
+#~ msgid "couldn't add user"
+#~ msgstr "impossible d'ajouter le joueur"
+
 #~ msgid "Test firewall"
 #~ msgstr "Tester le pare-feu"
 
@@ -6211,6 +6123,9 @@ msgstr "Le widget n'a pas été supprimé."
 #~ msgid "Tab icons"
 #~ msgstr "Icônes des onglets"
 
+#~ msgid "not available"
+#~ msgstr "non disponible"
+
 #~ msgid "Chose in game"
 #~ msgstr "Choisies en jeu"
 
@@ -6251,12 +6166,43 @@ msgstr "Le widget n'a pas été supprimé."
 #~ msgid "Timeout assumed, disconnecting"
 #~ msgstr "Timeout de la connexion détecté, déconnexion"
 
+#~ msgid "numcopies"
+#~ msgstr "nb. copies"
+
+#~ msgid "MB downloaded"
+#~ msgstr "Mo téléchargés"
+
+#~ msgid "MB uploaded"
+#~ msgstr "Mo envoyés"
+
 #~ msgid "status"
 #~ msgstr "état"
 
+#~ msgid "KB/s up"
+#~ msgstr "ko/s sortant"
+
+#~ msgid "KB/s down"
+#~ msgstr "ko/s entrant"
+
+#~ msgid "ETA (s)"
+#~ msgstr "temps restant estimé (s)"
+
+#~ msgid "Filesize (MB)"
+#~ msgstr "Taille (Mo)"
+
+#~ msgid ""
+#~ "\n"
+#~ "Broser path is: "
+#~ msgstr ""
+#~ "\n"
+#~ "Le chemin d'accès du navigateur est : "
+
 #~ msgid "Choose color"
 #~ msgstr "Choisissez une couleur"
 
 #~ msgid "Choose color (only first 16 will be saved)"
 #~ msgstr ""
 #~ "Choisissez une couleur (seulement les 16 premiers seront sauvegardées)"
+
+#~ msgid "SpringLobby -- downloading update"
+#~ msgstr "SpringLobby -- télécharge une mise à jour"
diff --git a/po/it.gmo b/po/it.gmo
index e336d41..0697e83 100644
Binary files a/po/it.gmo and b/po/it.gmo differ
diff --git a/po/it.po b/po/it.po
index 94c2f55..c418865 100644
--- a/po/it.po
+++ b/po/it.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the springlobby package.
 # FIRST AUTHOR <EMAIL at ADDRESS>, 2008.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: springlobby\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2008-07-30 23:29+0000\n"
 "Last-Translator: Daedalus <osd_daedalus at hotmail.com>\n"
 "Language-Team: Italian <it at li.org>\n"
@@ -50,8 +50,8 @@ msgid "value"
 msgstr "Valore"
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "Annulla"
 
@@ -104,7 +104,7 @@ msgstr "Casuale"
 msgid "Clans"
 msgstr ""
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "Nessuno"
 
@@ -143,46 +143,46 @@ msgstr "Numero di giocatori"
 msgid "Auto select"
 msgstr "Riconnetti"
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "Ok"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "Descrizione"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "Mappa"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr "Mod"
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "Host"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "Spettatori:"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 #, fuzzy
 msgid "Players"
 msgstr "Giocatori"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "Mappa"
@@ -195,11 +195,11 @@ msgstr "Scarica &mappa"
 msgid "Download m&od"
 msgstr "Scarica m&od"
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "Spettatori:"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 #, fuzzy
 msgid "Active Players:"
 msgstr "Giocatori"
@@ -254,8 +254,8 @@ msgid "All"
 msgstr "Tutte"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "Mappa:"
 
@@ -268,8 +268,8 @@ msgid "Max.Player:"
 msgstr ""
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr "Mod:"
 
@@ -281,15 +281,15 @@ msgstr "Solo mod che possiedo"
 msgid "    Spectator:"
 msgstr "    Spettatore:"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr "%d"
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "Giocatori"
 
@@ -320,47 +320,47 @@ msgstr "Nuova partita"
 msgid "Join"
 msgstr "Partecipa"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, c-format
 msgid "%d battles displayed"
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 "Tu non puoi hostare una partita mentre sei offline. Connettiti prima a una "
 "lobby server."
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr "Non online"
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr ""
 "L'host e' disabilitato a causa dell'icompatibilità della versione di Spring "
 "che stai usando"
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr "Spring error"
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
 msgstr ""
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr "Già in battaglia"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
@@ -369,21 +369,21 @@ msgstr ""
 "Sei già in battaglia.\n"
 "Vuoi lasciare la partita corrente per far partire una nuova?"
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
 " Hosting may or may not work."
 msgstr ""
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
 "Hosting may or may not work with this setting."
 msgstr ""
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -395,17 +395,17 @@ msgid ""
 " option in the hosting settings."
 msgstr ""
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr ""
 "La battaglia non è iniziata perchè il mod che hai selezionato non e' stato "
 "rilevato "
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr "Errore all'apertura della partita."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
@@ -413,11 +413,11 @@ msgstr ""
 "Non posso trovare nessuna mappa nella directory di Spring. Questo puo' "
 "succedere se Spring non è settato correttamente."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "Nessuna mappa trovata"
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
@@ -425,12 +425,12 @@ msgstr ""
 "La partecipazione alla battaglia è disabilitato a causa dell'incopatibilità "
 "della versione di spring che stai usando."
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid "Already in this battle"
 msgstr "Già in battaglia"
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid ""
 "You are already in this battle.\n"
@@ -440,12 +440,12 @@ msgstr ""
 "Sei già in battaglia.\n"
 "Vuoi lasciare la partita corrente per far partire una nuova?"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid "Already in another battle"
 msgstr "Già in battaglia"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid ""
 "You are already in a battle.\n"
@@ -455,7 +455,7 @@ msgstr ""
 "Tu sei già in battaglia.\n"
 "Vuoi lasciare la battaglia corrente e partecipare ad un'altra?"
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
@@ -463,41 +463,41 @@ msgstr ""
 "Sei già all'interno di una stanza, chiudila prima di essere in grado di "
 "unirti a un'altra partita."
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr ""
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 msgid ""
 "Should i try to download it for you?\n"
 "You can see the progress in the \"Download Manager\" tab."
 msgstr ""
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr "Nessun mod disponibile"
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr "Mappa non disponibile"
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr "Password della partita"
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr "Inserire password"
 
@@ -507,45 +507,45 @@ msgid "Select"
 msgstr "Seleziona..."
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr "Opzione"
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr "Valore"
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr "Dimensione"
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr "Velocità del vento"
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr "Forza delle maree"
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr "Gravità"
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr "Raggio degli estrattori"
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr "Metallo massimo"
 
@@ -567,266 +567,266 @@ msgstr "Scegli in gioco"
 msgid "Startpositions"
 msgstr "Posizioni di partenza"
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr "Restrizioni unità"
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr "Unità permesse"
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr "Le unità in questa lista saranno disponibili in gioco."
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 #, fuzzy
 msgid "Disable selected units."
 msgstr "Abilita tutte le unità."
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 #, fuzzy
 msgid "Re-enable selected units."
 msgstr "Abilita tutte le unità."
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr ""
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr "Abilita tutte le unità."
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr "Restrizioni unità"
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr "Le unità in questa lista non saranno disponibili in gioco."
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 #, fuzzy
 msgid "Unit restriction"
 msgstr "Restrizioni unità"
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr "Nickname"
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr "Squadra"
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr "Allineamento"
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr "Bonus risorse"
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr "Fazione"
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr "Settaggio colori"
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr "Settaggio Risorse Bonus"
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr "Spettatore"
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr "Kick"
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr "Fai uno squillo"
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr "Inserisci a valore tra 0 e 100"
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 #, fuzzy
 msgid "AI (bot)\n"
 msgstr "Aggiungi bot"
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 #, fuzzy
 msgid "Human\n"
 msgstr "Oman"
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 #, fuzzy
 msgid "Spectator\n"
 msgstr "Spettatore"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 #, fuzzy
 msgid "Player\n"
 msgstr "Giocatore:"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 #, fuzzy
 msgid "Host\n"
 msgstr "Host"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 #, fuzzy
 msgid "Client\n"
 msgstr "Client"
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 msgid "Ready\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 #, fuzzy
 msgid "Not ready\n"
 msgstr "Non pronto"
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 #, fuzzy
 msgid "In sync"
 msgstr "Abilita V-Sync"
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 #, fuzzy
 msgid "Set name."
 msgstr "Setta l'accesso..."
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr "Caricamento..."
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 #, fuzzy
 msgid "Load a saved set of options."
 msgstr "Carica un set di restrizioni."
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 #, fuzzy
 msgid "Save..."
 msgstr "Salva..."
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 #, fuzzy
 msgid "Save a set of options."
 msgstr "Salva un set di restrizioni."
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 #, fuzzy
 msgid "Delete..."
 msgstr "Seleziona..."
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 #, fuzzy
 msgid "Delete a set of options."
 msgstr "Salva un set di restrizioni."
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 #, fuzzy
 msgid "Set default..."
 msgstr "default"
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 msgid "Mod Options"
 msgstr "Opzioni del mod"
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr "Opzioni della mappa"
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 #, fuzzy
 msgid "no options available"
 msgstr "Nessun mod disponibile"
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr "errore"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 #, fuzzy
 msgid "Delete preset"
 msgstr "Seleziona"
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 #, fuzzy
 msgid "Set mod default preset"
 msgstr "default"
@@ -869,7 +869,7 @@ msgid ""
 "set) starting boxes."
 msgstr ""
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr "Esci"
 
@@ -877,7 +877,7 @@ msgstr "Esci"
 msgid "Leave the battle and return to the battle list"
 msgstr ""
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr "Avvio"
 
@@ -1060,7 +1060,7 @@ msgstr ""
 msgid "Save"
 msgstr "Salva..."
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 #, fuzzy
 msgid "Delete"
 msgstr "Seleziona"
@@ -1141,7 +1141,7 @@ msgstr ""
 msgid "Find channel:"
 msgstr "&Entra nel canale..."
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 #, fuzzy
 msgid "Choose channels to join"
 msgstr "Nome del canale in cui entrare"
@@ -1204,67 +1204,64 @@ msgstr ""
 "Non posso aprire il file di log.\n"
 "Assicurati che non ci sia una protezione in scrittura.\n"
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr "Colori e fonts"
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr "Usa colori di sistema"
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr "Normale"
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr "Sfondo"
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr "Azione"
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr "Evidenzia"
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr "Partecipa/Lascia"
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr "I miei messaggi"
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr "Server"
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr "Client"
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr "Errore"
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr "Marcatempo"
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr "Notifica"
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 #, fuzzy
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
@@ -1281,328 +1278,139 @@ msgstr ""
 "[22:45] <Dude> Dude2: orl?\n"
 "[22:46] <Dude2> But could be better, should tweak them some more...\n"
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr "Font:"
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr "default"
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr "Seleziona..."
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr "Comportamento"
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr ""
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr "Chat logs"
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr "Salva i chat logs"
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr "Evidenzia parole"
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr "Parole da evidenziare nella chat:"
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr ""
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr ""
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr ""
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr ""
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, fuzzy, c-format
 msgid "%d users"
 msgstr "Kick l'utente"
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr ""
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr "Invia"
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr ""
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr "Copia"
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-msgid "Clear"
-msgstr "Pulisci"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr ""
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr ""
-
-#: src/chatpanel.cpp:433
-msgid "Show mute list"
-msgstr ""
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr "Informazioni del canale"
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr "Setta il topic..."
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr "Messaggio sul canale..."
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr "Chiudi..."
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr "Sblocca"
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr "Registra..."
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr "Annulla registrazione"
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr "Acceso"
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr "Disattivato"
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr "è attivato?"
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr "Protezione contro lo spam"
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr "ChanServ"
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr "Disconnetti"
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr "Riconnetti"
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr "Rimuovi..."
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr "Cambia password..."
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr "Setta l'accesso..."
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr "Accounts"
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr ""
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr "Amministratore"
-
-#: src/chatpanel.cpp:510
-#, fuzzy
-msgid "User"
-msgstr "Zittisci utente"
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr "Chat aperta"
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr "Partecipa alla stessa battaglia"
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr "Tempo all'interno del gioco"
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr "Recupera IP e Smurfs"
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr "Zittisci..."
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr "Zittisci per 5 minuti"
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr "Zittisci per 10minuti"
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr "Zittisci per 30 minuti"
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr "Zittisci per 2 ore"
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr "Zittisci per 1 giorno"
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr "Togli il mute"
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr "Mute"
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr "Kick..."
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr "Banna..."
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr "Togli il ban"
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr ""
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr "Op"
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr "DeOp"
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr " !! Comando: \""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr "\" parametri: \""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr "canale"
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr "battaglia"
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr "server"
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr " partecipa alla "
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr " lasciato il "
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 #, fuzzy
 msgid " ** Channel topic:"
 msgstr "Informazioni del canale"
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 #, fuzzy
 msgid " ** Set by "
 msgstr ""
 "\n"
 " * Settato da "
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr "Chat chiusa."
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr "Sei sicuro di voler incollare %d linee?"
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr ""
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr " Tu hai springlobby v"
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr " Tu non sei nel canale o il canale non esiste."
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
@@ -1611,178 +1419,29 @@ msgstr ""
 " Errore: Il comando (%s) non esiste. Usa /help per una lista dei comandi "
 "disponibili."
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr " Utente non in linea."
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr " Inviato: \""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr ""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr "ChanServ error"
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr "ChanServ non è in questo canale."
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr "Cosa dovrebbe essere il nuovo topic?"
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr "Messaggio:"
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr "Chiudi il canale..."
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr "Quale dovrebbe essere la nuova password?"
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr "Sblocca il canale"
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr "Sei sicuro di voler sbloccare questo canale?"
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr "ChanServ non è su questo server."
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr "Registra il canale"
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr "Chi dovrebbe essere considerato fondatore di questo canale?"
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr "Sei sicuro di volere eliminare la registrazione di questo canale?"
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr "Rimuovi l'account dell'utente"
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr "Quale user accaunt vuoi rimuovere?"
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr "Rimuovi account"
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr "Sei sicuro di rimuovere l'accaunt "
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr "Cambia la password"
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr "Di quale account utente vuoi cambiare la password?"
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr ""
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr "Non Implementato"
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr "Messaggio trasmesso in broadcast"
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr "Messaggio da trasmettere in broadcast"
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr "Non possiedi il mod "
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr " . Per favore scaricalo prima."
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr ""
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr "La partita è protetta da password, per entrare inseriscila."
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr "Zittisci utente"
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr "Per quanti minuti questo utente deve essere zittito?"
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr ""
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr "Motivo:"
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr "Kick l'utente"
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr "Mute l'utente"
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr "Durata:"
-
-#: src/chatpanel.cpp:1797
-#, fuzzy
-msgid "couldn't add user"
-msgstr "Non posso lanciare il browser"
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr "Connesso a lobby server"
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
@@ -1790,56 +1449,57 @@ msgstr ""
 "Server al quale connettersi. Puoi connetterti a qualsiasi server indicato "
 "nel formato indirizzo:porta"
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr "Password"
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr ""
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr ""
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
 msgstr ""
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
+#, fuzzy
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 "Nota: se non hai un account,\n"
 " puoi crearne uno gratuitamente nella\n"
 "scheda \"Registrati\"."
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr "Accesso"
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr "Registrati"
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr "Nick"
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr "Porta non valida."
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr "Porta non valida"
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
@@ -1849,26 +1509,26 @@ msgstr ""
 "\n"
 "Deve essere un numero intero tra 1 e 65535"
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr ""
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr "Indirizzo non valido"
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 #, fuzzy
 msgid "Invalid nickname"
 msgstr "Numero non valido."
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 #, fuzzy
 msgid ""
 "Registration failed, the reason was:\n"
@@ -1877,7 +1537,7 @@ msgstr ""
 "Registrazione non riuscita. Il motivo è stato:\n"
 "Le password non coincidono tra loro"
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr "Registrazione non riuscita."
 
@@ -2870,9 +2530,8 @@ msgid "Last generated spring launching script"
 msgstr "Ultimo script di avvio di spring generato"
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 #, fuzzy
 msgid "Name"
 msgstr "Partita"
@@ -2967,8 +2626,8 @@ msgstr "Crea nuova battaglia"
 msgid "Notify when users of this group hosts a battle"
 msgstr ""
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr ""
 
@@ -3065,9 +2724,8 @@ msgstr ""
 "\n"
 "salvato correttamente in:\n"
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 #, fuzzy
 msgid "Success"
 msgstr "Setta l'accesso..."
@@ -3077,7 +2735,7 @@ msgstr "Setta l'accesso..."
 msgid "Couldn't save file"
 msgstr "Non posso lanciare il browser"
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 #, fuzzy
 msgid "Default"
 msgstr "default"
@@ -3110,114 +2768,114 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr "Crea nuova battaglia"
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr ""
 "Una breve descrizione della partita, che comparirà nella lista battaglie."
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "Descrizione"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr "Seleziona il mod con il quale giocare."
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr ""
 "E' richiesta una password per partecipare. Lascia vuoto per non inserire "
 "password."
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr "Porta"
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr "Porta UDP sulla quale ospitare la partita. La predefinita è 8452."
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 #, fuzzy
 msgid "Randomly picks an available one"
 msgstr "Nessun mod disponibile"
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr "Numero di giocatori"
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr "Il numero massimo di giocatori permessi in battaglia."
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr ""
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr "NAT traversal"
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 #, fuzzy
 msgid "NAT traversal to use."
 msgstr "NAT traversal"
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr "Grado minimo richiesto"
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr "Comincia ad ospitare la battaglia."
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr "Devi prima selezionare un mod."
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr "Nessun mod selezionato."
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
@@ -3225,7 +2883,7 @@ msgstr ""
 "\n"
 "salvato correttamente in:\n"
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 #, fuzzy
 msgid ""
 "\n"
@@ -3234,17 +2892,17 @@ msgstr ""
 "\n"
 "salvato correttamente in:\n"
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
@@ -3252,74 +2910,74 @@ msgstr ""
 "\n"
 "a:\n"
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr "Browser web"
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr "Browser predefinito."
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr "Sfoglia"
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 msgid "Path"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 msgid "Use a file dialog to find the editor binary"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 #, fuzzy
 msgid "Autoconnect"
 msgstr "Riconnetti"
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 #, fuzzy
 msgid "Autoconnect on lobby start"
 msgstr "Connesso a lobby server"
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3328,74 +2986,74 @@ msgid ""
 "Uncheck to disable."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 #, fuzzy
 msgid "Tooltips"
 msgstr "&Strumenti"
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 msgid "Show Tooltips?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
 "distance"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 msgid "Match exact"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 #, fuzzy
 msgid "Start tab"
 msgstr "Metallo di partenza"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3407,7 +3065,7 @@ msgstr ""
 msgid "Choose a editor browser executable"
 msgstr ""
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 #, fuzzy
 msgid "Disconnected from server, chat closed."
 msgstr "Risposta sconosciuta dal server"
@@ -3416,128 +3074,112 @@ msgstr "Risposta sconosciuta dal server"
 msgid "Battle list"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr "Opzioni"
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 #, fuzzy
 msgid "Unit Restrictions"
 msgstr "Restrizioni unità"
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr "Spring"
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr "P2P"
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr "Chat"
 
-#: src/mainoptionstab.cpp:75
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
+msgid "Restore"
+msgstr "Ripristina"
+
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
+msgid "Apply"
+msgstr "Applica"
+
+#: src/mainoptionstab.cpp:87
 #, fuzzy
 msgid "General"
 msgstr "Senegal"
 
-#: src/mainoptionstab.cpp:78
+#: src/mainoptionstab.cpp:90
 msgid "Groups"
 msgstr ""
 
-#: src/mainoptionstab.cpp:80
-msgid "Restore"
-msgstr "Ripristina"
-
-#: src/mainoptionstab.cpp:81
-msgid "Apply"
-msgstr "Applica"
-
-#: src/mainsingleplayertab.cpp:41
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr "Partita"
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr "Inviati in totale: "
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr "Ricevuti in totale: "
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr "sconosciuto"
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr ""
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr "Pubblica nuovo file"
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 #, fuzzy
 msgid "Download Lua widgets"
 msgstr "Attiva widgets LuaUI"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr ""
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr ""
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr ""
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr ""
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr ""
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr "Inviati in totale: %.2f KB/s"
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr "Ricevuti in totale: %.2f KB/s"
@@ -3546,291 +3188,305 @@ msgstr "Ricevuti in totale: %.2f KB/s"
 msgid "SpringLobby"
 msgstr "SpringLobby"
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr "&Connetti..."
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr "&Disconnetti"
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 #, fuzzy
 msgid "&Save options"
 msgstr "Opzioni interfaccia utente"
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr "&Esci"
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+#, fuzzy
+msgid "&Save Layout"
+msgstr "Opzioni interfaccia utente"
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr "&Entra nel canale..."
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 #, fuzzy
 msgid "Channel &list"
 msgstr "Informazioni del canale"
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr "Apri &chat privata"
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr ""
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr "&Ricarica mappe/mods"
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr "Controlla nuove Versioni"
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr ""
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr "&Informazioni su"
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 #, fuzzy
 msgid "&Change language"
 msgstr "Informazioni del canale"
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr "&Segnala Bug..."
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr "&Documentazione"
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr "&File"
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+#, fuzzy
+msgid "&View"
+msgstr "&File"
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr "&Strumenti"
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr "&Aiuto"
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 #, fuzzy
 msgid "Not connected"
 msgstr "Riconnetti"
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr "&Entra nel canale..."
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr "Nome del canale in cui entrare"
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr "Apri Chat Privata..."
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr "Nome dell'utente"
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 "SpringLobby è un lobby client multipiattaforma per il motore RTS Spring"
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 #, fuzzy
 msgid "No files found"
 msgstr "Nessuna mappa trovata"
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr ""
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr ""
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr ""
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr ""
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 #, fuzzy
 msgid "Which profile do you want to be default?"
 msgstr "Quale user accaunt vuoi rimuovere?"
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr ""
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr ""
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 #, fuzzy
 msgid "Savegames"
 msgstr "Salva..."
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 msgid "Replays"
 msgstr ""
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 #, fuzzy
 msgid "Downloads"
 msgstr "Scarica"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr ""
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr "Aggiorna"
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr "Scarica"
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr "Fazione:"
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr "alleato: %d"
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr "bonus: %d%%"
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 #, fuzzy
 msgid "Show"
 msgstr "Mostra tutto"
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 #, fuzzy
 msgid "Filter"
 msgstr "File"
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 #, fuzzy
 msgid "Map details"
 msgstr "Metallo massimo"
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 #, fuzzy
 msgid "Start positions"
 msgstr "Posizioni di partenza"
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 #, fuzzy
 msgid "Minimum wind"
 msgstr "Grado minimo richiesto"
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 msgid "Average wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 #, fuzzy
 msgid "Aspect ratio"
 msgstr "Spettatore"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 #, fuzzy
 msgid "Number of start positions"
 msgstr "Posizioni di partenza"
@@ -3867,20 +3523,20 @@ msgstr "Restrizioni unità"
 msgid "Map name"
 msgstr ""
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 #, fuzzy
 msgid "Change option"
 msgstr "Opzioni interfaccia utente"
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr "s"
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr ""
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr ""
 
@@ -3948,58 +3604,58 @@ msgstr "File"
 msgid "Filesize in kilobyte"
 msgstr ""
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr "File"
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "Caricamento..."
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "Giocatori"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "savegame"
 msgstr "Salva..."
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 #, fuzzy
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr ""
 "Non posso prendere dalla tua versione di spring la libreria unitssync.\n"
 "Il gioco online sarà disabilitato."
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
 "version: %s\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -4008,18 +3664,18 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 #, fuzzy
 msgid "Invalid replay"
 msgstr "Porta non valida"
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr ""
 
@@ -4036,95 +3692,95 @@ msgstr ""
 msgid "Select Users"
 msgstr "Seleziona"
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 #, fuzzy
 msgid " is online"
 msgstr " Utente non in linea."
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr ""
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr ""
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 #, fuzzy
 msgid " just went offline"
 msgstr " Utente non in linea."
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 #, fuzzy
 msgid " opened battle "
 msgstr " partecipa alla "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr "Ingresso nel canale fallito"
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr "Non è stato possibile entrare nel canale "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr " poiché: "
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr "Messaggio del Server"
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr " ha ip:=%s"
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr " in realtà non supporta NAT traversal"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr "Sei stato allontanato dalla battaglia!"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr "Espulso dall'host"
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, c-format
 msgid "%s mutelist"
 msgstr ""
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr ""
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr ""
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy
 msgid "Download update"
 msgstr "Scarica &mappa"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -4135,7 +3791,7 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 #, fuzzy
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
@@ -4143,64 +3799,64 @@ msgstr ""
 "Per favore riprova più tardi.\n"
 "Se il problema persiste, vai su Aiuto->Segnala Bug per segnalare questo bug."
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 #, fuzzy
 msgid "Negotiation error"
 msgstr "Notifica"
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 #, fuzzy
 msgid "Invalid Value"
 msgstr "Numero non valido."
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 #, fuzzy
 msgid "No Handler"
 msgstr "Non è un numero"
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 msgid "File doesn't exit"
 msgstr ""
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "Avviata"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 #, fuzzy
 msgid "Reconnection Error"
 msgstr "Riconnetti"
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 #, fuzzy
 msgid "Unknown Error"
 msgstr "sconosciuto"
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 msgid "Download complete, location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 #, fuzzy
 msgid "Download complete."
 msgstr "Nessun mod selezionato."
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer. File location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer."
 msgstr "Non posso lanciare il browser"
@@ -4903,74 +4559,74 @@ msgid "Save Spring settings before exiting?"
 msgstr "Salvare le impostazioni di Spring prima di uscire?"
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr "Conferma necessaria"
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr ""
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr ""
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr "Salva impostazioni"
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr ""
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr ""
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr "Esci"
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr "Semplice (poche opzioni)"
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr "Esperto (tutte le opzioni)"
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr "Informazioni su"
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr "Contatta"
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr "Riconoscimenti"
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr "Segnala un bug"
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr "Modalità"
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr "Informazioni/Aiuto"
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr "Vuoi reimpostare TUTTE le impostazioni al loro valore predefinito?"
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr "Suggerimento"
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr ""
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -4993,7 +4649,7 @@ msgstr ""
 msgid "everyone reporting bugs/suggestions"
 msgstr ""
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5001,27 +4657,32 @@ msgid ""
 "please enable wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr "Errore critico"
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -5060,8 +4721,8 @@ msgstr "Impostazioni percorsi"
 msgid "Choose an unitsync library"
 msgstr "Scegli una libreria unitsync"
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr "Qualsiasi file"
 
@@ -5097,23 +4758,23 @@ msgstr "molto alto"
 msgid "can't launch default browser"
 msgstr "Non posso lanciare il browser predefinito"
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr "Non posso lanciare il browser"
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr "Non posso salvare, unitsync non è stato caricato correttamente"
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr ""
 
@@ -5121,41 +4782,41 @@ msgstr ""
 msgid "Audio Options"
 msgstr "Opzioni Audio"
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr "Risoluzione dello Schermo"
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr "Qualità dell'Acqua"
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr "Risoluzione in bit"
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr "Opzioni Modalità Video"
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr "Opzioni di Anti-Aliasing"
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr ""
 
@@ -5241,95 +4902,71 @@ msgstr ""
 msgid "Zoom"
 msgstr "Ingrandimento"
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
 msgstr ""
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr "Aggiungi bot..."
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 #, fuzzy
 msgid "Spectate only"
 msgstr "Spettatore"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 #, fuzzy
 msgid "Random start positions"
 msgstr "Posizioni di partenza"
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr "-- Seleziona --"
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr "Errore nella configurazione del gioco"
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr "Devi prima selezionare una mappa."
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
 " "
 msgstr ""
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr "Nessun bot aggiunto"
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr ""
 "Non puoi avviare una istanza di Spring mentre ce n'è un'altra già in "
 "esecuzione."
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
-msgstr "Ciao "
-
-#: src/springlobbyapp.cpp:168
-msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
-"\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
-msgstr "Benvenuto"
-
-#: src/springlobbyapp.cpp:172
+#: src/springlobbyapp.cpp:183
 msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
-msgstr ""
-
-#: src/springlobbyapp.cpp:172
-#, fuzzy
-msgid "Notice"
-msgstr "Nessuno"
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
+"\n"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:188
+#: src/springlobbyapp.cpp:183
 #, fuzzy
-msgid "Import settings?"
-msgstr "Impostazioni percorsi"
+msgid "Fatal error"
+msgstr "Errore critico"
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5337,68 +4974,76 @@ msgid ""
 "please get a wxWidgets library that supports wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 #, fuzzy
 msgid "Ignore chat"
 msgstr "Chat aperta"
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 msgid "Battle Autokick"
 msgstr ""
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 #, fuzzy
 msgid "Friends"
 msgstr "Cerca"
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr "Eseguibile Spring"
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr "Posizione"
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr "Cerca"
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr "libreria UnitSync"
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr "Configurazione automatica"
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr "Libreria"
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5425,7 +5070,7 @@ msgid ""
 "Please create manually the following folders:"
 msgstr ""
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr "Connessione scaduta"
 
@@ -5447,43 +5092,44 @@ msgstr ""
 msgid " , column "
 msgstr ""
 
-#: src/torrentlistctrl.cpp:44
-msgid "Numcopies"
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:48
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
 #, fuzzy
-msgid "MB downloaded"
-msgstr "Scarica"
-
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
-msgstr ""
+msgid "Cancel torrent"
+msgstr "Ferma tutti i torrents"
 
-#: src/torrentlistctrl.cpp:56
+#: src/torrentlistctrl.cpp:173
 #, fuzzy
-msgid "Status"
-msgstr "Stato:"
+msgid "Retry torrent"
+msgstr "Ripristina"
 
-#: src/torrentlistctrl.cpp:60
-#, c-format
-msgid "% complete"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
-msgstr ""
+#: src/torrentlistctrl.cpp:264
+#, fuzzy
+msgid "not found"
+msgstr "Nessuna mappa trovata"
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "Nessun mod selezionato."
+
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
 msgstr ""
 
 #: src/torrentoptionspanel.cpp:37
@@ -5552,11 +5198,11 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr ""
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr "Password del server"
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
@@ -5564,55 +5210,49 @@ msgstr ""
 "Registrazione avvenuta con successo,\n"
 "ora dovresti riuscire ad autenticarti."
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr "Registrazione avvenuta con successo."
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr "Registrazione non riuscita. Il motivo è stato:\n"
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr ""
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr ""
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr ""
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr ""
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr "  \"/away\" - Imposta il tuo stato come \"non al computer\"."
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr ""
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
 msgstr ""
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr "  \"/channels\" - Elenca i canali al momento attivi"
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
@@ -5620,86 +5260,86 @@ msgstr ""
 "  \"/help [comando]\" - Scrivi un comando se vuoi avere informazioni più "
 "specifiche su di esso."
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
 msgstr ""
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr "  \"/j\" - Sinonimo di /join"
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr ""
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
 "username."
 msgstr ""
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 #, fuzzy
 msgid "  \"/part\" - Leaves current channel."
 msgstr "  \"/channels\" - Elenca i canali al momento attivi"
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 #, fuzzy
 msgid "  \"/p\" - Alias to /part."
 msgstr "  \"/j\" - Sinonimo di /join"
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr ""
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 #, fuzzy
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr ""
 "  \"/sayver\" - Comunica in chat la versione di springlobby che stai usando."
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr ""
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 #, fuzzy
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr "  \"/ver\" - Mostra la versione di SpringLobby in uso"
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr "Comandi di chat:"
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr "  \"/me azione\" - Manda un messaggio di azione in stile IRC"
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
 msgstr ""
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr "Nessun topic scritto finora."
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr "il topic \""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr ""
 "\" non è stato trovato. Digita \"/help topics\" solo per i topic disponibili"
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 #, fuzzy
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
@@ -5709,57 +5349,57 @@ msgstr ""
 "Non posso prendere dalla tua versione di spring la libreria unitssync.\n"
 "Il gioco online sarà disabilitato."
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 msgstr ""
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 #, fuzzy
 msgid "Online play is currently disabled."
 msgstr "Il gioco onlie sarà disabilitato."
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 #, fuzzy
 msgid "Disconnected from server."
 msgstr "Risposta sconosciuta dal server"
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 #, fuzzy
 msgid "Connection failure"
 msgstr "Connessione scaduta"
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr ""
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr ""
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr "Messaggio del server"
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr "La battaglia attuale è stata chiusa dall'host."
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr "Battaglia chiusa"
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
@@ -5770,15 +5410,15 @@ msgstr ""
 "dovresti controllare meglio le tue impostazioni prima di provare\n"
 "a giocare online."
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr "Errore nelle impostazioni di Spring"
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5786,11 +5426,50 @@ msgid ""
 "download finished"
 msgstr ""
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr ""
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr "Ciao "
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr "Benvenuto"
+
+#: src/ui.cpp:1242
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid "Notice"
+msgstr "Nessuno"
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+#, fuzzy
+msgid "Import settings?"
+msgstr "Impostazioni percorsi"
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
@@ -5800,15 +5479,15 @@ msgstr ""
 "Per favore riprova più tardi.\n"
 "Se il problema persiste, vai su Aiuto->Segnala Bug per segnalare questo bug."
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr "La tua versione: "
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr "Ultima Versione: "
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
@@ -5816,7 +5495,7 @@ msgstr ""
 "La tua versione di SpringLobby non è aggiornata.\n"
 "\n"
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid ""
 "\n"
 "\n"
@@ -5824,26 +5503,22 @@ msgid ""
 "effect next you launch the lobby again."
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 #, fuzzy
 msgid "Not up to date"
 msgstr "Non aggiornato"
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr "Non aggiornato"
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
 msgstr ""
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 #, fuzzy
 msgid ""
 "There was an error downloading for the latest version.\n"
@@ -5854,11 +5529,11 @@ msgstr ""
 "Per favore riprova più tardi.\n"
 "Se il problema persiste, vai su Aiuto->Segnala Bug per segnalare questo bug."
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
+#: src/updater/updater.cpp:92
 #, fuzzy, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
@@ -5866,18 +5541,18 @@ msgstr ""
 "Per favore riprova più tardi.\n"
 "Se il problema persiste, vai su Aiuto->Segnala Bug per segnalare questo bug."
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr ""
 
@@ -6003,16 +5678,16 @@ msgstr ""
 msgid "Unknown"
 msgstr "sconosciuto"
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr ""
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 #, fuzzy
 msgid "Add to group..."
 msgstr "Aggiungi bot..."
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 #, fuzzy
 msgid "Remove from group"
 msgstr "Rimuovi l'account dell'utente"
@@ -6090,6 +5765,215 @@ msgstr ""
 #~ msgid "cpu"
 #~ msgstr "cpu"
 
+#~ msgid "Copy"
+#~ msgstr "Copia"
+
+#~ msgid "Clear"
+#~ msgstr "Pulisci"
+
+#~ msgid "Channel info"
+#~ msgstr "Informazioni del canale"
+
+#~ msgid "Set topic..."
+#~ msgstr "Setta il topic..."
+
+#~ msgid "Channel message..."
+#~ msgstr "Messaggio sul canale..."
+
+#~ msgid "Lock..."
+#~ msgstr "Chiudi..."
+
+#~ msgid "Unlock"
+#~ msgstr "Sblocca"
+
+#~ msgid "Register..."
+#~ msgstr "Registra..."
+
+#~ msgid "Unregister"
+#~ msgstr "Annulla registrazione"
+
+#~ msgid "On"
+#~ msgstr "Acceso"
+
+#~ msgid "Off"
+#~ msgstr "Disattivato"
+
+#~ msgid "Is on?"
+#~ msgstr "è attivato?"
+
+#~ msgid "Spam protection"
+#~ msgstr "Protezione contro lo spam"
+
+#~ msgid "ChanServ"
+#~ msgstr "ChanServ"
+
+#~ msgid "Disconnect"
+#~ msgstr "Disconnetti"
+
+#~ msgid "Remove..."
+#~ msgstr "Rimuovi..."
+
+#~ msgid "Change password..."
+#~ msgstr "Cambia password..."
+
+#~ msgid "Set access..."
+#~ msgstr "Setta l'accesso..."
+
+#~ msgid "Accounts"
+#~ msgstr "Accounts"
+
+#~ msgid "Admin"
+#~ msgstr "Amministratore"
+
+#, fuzzy
+#~ msgid "User"
+#~ msgstr "Zittisci utente"
+
+#~ msgid "Open Chat"
+#~ msgstr "Chat aperta"
+
+#~ msgid "Join same battle"
+#~ msgstr "Partecipa alla stessa battaglia"
+
+#~ msgid "Ingame time"
+#~ msgstr "Tempo all'interno del gioco"
+
+#~ msgid "Retrieve IP and Smurfs"
+#~ msgstr "Recupera IP e Smurfs"
+
+#~ msgid "Mute..."
+#~ msgstr "Zittisci..."
+
+#~ msgid "Mute for 5 minutes"
+#~ msgstr "Zittisci per 5 minuti"
+
+#~ msgid "Mute for 10 minutes"
+#~ msgstr "Zittisci per 10minuti"
+
+#~ msgid "Mute for 30 minutes"
+#~ msgstr "Zittisci per 30 minuti"
+
+#~ msgid "Mute for 2 hours"
+#~ msgstr "Zittisci per 2 ore"
+
+#~ msgid "Mute for 1 day"
+#~ msgstr "Zittisci per 1 giorno"
+
+#~ msgid "Unmute"
+#~ msgstr "Togli il mute"
+
+#~ msgid "Mute"
+#~ msgstr "Mute"
+
+#~ msgid "Kick..."
+#~ msgstr "Kick..."
+
+#~ msgid "Ban..."
+#~ msgstr "Banna..."
+
+#~ msgid "Unban"
+#~ msgstr "Togli il ban"
+
+#~ msgid "Op"
+#~ msgstr "Op"
+
+#~ msgid "DeOp"
+#~ msgstr "DeOp"
+
+#~ msgid "ChanServ error"
+#~ msgstr "ChanServ error"
+
+#~ msgid "ChanServ is not in this channel."
+#~ msgstr "ChanServ non è in questo canale."
+
+#~ msgid "What should be the new topic?"
+#~ msgstr "Cosa dovrebbe essere il nuovo topic?"
+
+#~ msgid "Message:"
+#~ msgstr "Messaggio:"
+
+#~ msgid "Lock channel..."
+#~ msgstr "Chiudi il canale..."
+
+#~ msgid "What should the new password be?"
+#~ msgstr "Quale dovrebbe essere la nuova password?"
+
+#~ msgid "Unlock Channel"
+#~ msgstr "Sblocca il canale"
+
+#~ msgid "Are you sure you want to unlock this channel?"
+#~ msgstr "Sei sicuro di voler sbloccare questo canale?"
+
+#~ msgid "ChanServ is not on this server."
+#~ msgstr "ChanServ non è su questo server."
+
+#~ msgid "Register Channel"
+#~ msgstr "Registra il canale"
+
+#~ msgid "Who should be appointed founder of this channel?"
+#~ msgstr "Chi dovrebbe essere considerato fondatore di questo canale?"
+
+#~ msgid "Are you sure you want to unregister this channel?"
+#~ msgstr "Sei sicuro di volere eliminare la registrazione di questo canale?"
+
+#~ msgid "Remove User Acount"
+#~ msgstr "Rimuovi l'account dell'utente"
+
+#~ msgid "What user account do you want to remove today?"
+#~ msgstr "Quale user accaunt vuoi rimuovere?"
+
+#~ msgid "Remove Account"
+#~ msgstr "Rimuovi account"
+
+#~ msgid "Are you sure you want to remove the account "
+#~ msgstr "Sei sicuro di rimuovere l'accaunt "
+
+#~ msgid "Change User Acount Password"
+#~ msgstr "Cambia la password"
+
+#~ msgid "What user account do you want to change the password for?"
+#~ msgstr "Di quale account utente vuoi cambiare la password?"
+
+#~ msgid "Not Implemented"
+#~ msgstr "Non Implementato"
+
+#~ msgid "Broadcast Message"
+#~ msgstr "Messaggio trasmesso in broadcast"
+
+#~ msgid "Message to be broadcasted:"
+#~ msgstr "Messaggio da trasmettere in broadcast"
+
+#~ msgid "You don't have the mod "
+#~ msgstr "Non possiedi il mod "
+
+#~ msgid " . Please download it first"
+#~ msgstr " . Per favore scaricalo prima."
+
+#~ msgid "This battle is password protected, enter the password."
+#~ msgstr "La partita è protetta da password, per entrare inseriscila."
+
+#~ msgid "Mute User"
+#~ msgstr "Zittisci utente"
+
+#~ msgid "For how many minutes should the user be muted?"
+#~ msgstr "Per quanti minuti questo utente deve essere zittito?"
+
+#~ msgid "Reason:"
+#~ msgstr "Motivo:"
+
+#~ msgid "Kick user"
+#~ msgstr "Kick l'utente"
+
+#~ msgid "Mute user"
+#~ msgstr "Mute l'utente"
+
+#~ msgid "Duration:"
+#~ msgstr "Durata:"
+
+#, fuzzy
+#~ msgid "couldn't add user"
+#~ msgstr "Non posso lanciare il browser"
+
 #~ msgid "Test firewall"
 #~ msgstr "Prova firewall"
 
@@ -6121,6 +6005,10 @@ msgstr ""
 #~ msgstr "Giocatore:"
 
 #, fuzzy
+#~ msgid "MB downloaded"
+#~ msgstr "Scarica"
+
+#, fuzzy
 #~ msgid "Choose color"
 #~ msgstr "Settaggio colori"
 
diff --git a/po/pl.gmo b/po/pl.gmo
index d77b97c..7203b1b 100644
Binary files a/po/pl.gmo and b/po/pl.gmo differ
diff --git a/po/pl.po b/po/pl.po
index 4829bc0..0991f69 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the springlobby package.
 # FIRST AUTHOR <EMAIL at ADDRESS>, 2008.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: springlobby\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2008-08-22 06:20+0000\n"
 "Last-Translator: Roman Skrzypiński <romano473 at gmail.com>\n"
 "Language-Team: Polish <pl at li.org>\n"
@@ -50,8 +50,8 @@ msgid "value"
 msgstr "Wartość"
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "Anuluj"
 
@@ -104,7 +104,7 @@ msgstr "Losowo"
 msgid "Clans"
 msgstr "Klany"
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "Brak"
 
@@ -135,46 +135,46 @@ msgstr ""
 msgid "Auto select"
 msgstr "Połącz ponownie"
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "Ok"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "Opis"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "Mapa"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr "Mod"
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "Host"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "Obserwatorzy:"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 #, fuzzy
 msgid "Players"
 msgstr "Gracze:"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "Mapa"
@@ -187,11 +187,11 @@ msgstr "ÅšciÄ…gnij &mape"
 msgid "Download m&od"
 msgstr ""
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "Obserwatorzy:"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 #, fuzzy
 msgid "Active Players:"
 msgstr "Gracze:"
@@ -245,8 +245,8 @@ msgid "All"
 msgstr "Wszystko"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "Mapa"
 
@@ -259,8 +259,8 @@ msgid "Max.Player:"
 msgstr "Max. Graczy:"
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr "Mod:"
 
@@ -272,15 +272,15 @@ msgstr "Tylko mody które mam"
 msgid "    Spectator:"
 msgstr "    Obserwator:"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr ""
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "Gracze:"
 
@@ -309,64 +309,64 @@ msgstr ""
 msgid "Join"
 msgstr "Dołącz"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, c-format
 msgid "%d battles displayed"
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr ""
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr ""
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr ""
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
 msgstr ""
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr ""
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
 "Do you want to leave current battle to start a new?"
 msgstr ""
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
 " Hosting may or may not work."
 msgstr ""
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
 "Hosting may or may not work with this setting."
 msgstr ""
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -378,93 +378,93 @@ msgid ""
 " option in the hosting settings."
 msgstr ""
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr ""
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr ""
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
 msgstr ""
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "Nie znaleziono żadnych map"
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
 msgstr ""
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 msgid "Already in this battle"
 msgstr ""
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 msgid ""
 "You are already in this battle.\n"
 "\n"
 "Do you want to leave it?"
 msgstr ""
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 msgid "Already in another battle"
 msgstr ""
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 msgid ""
 "You are already in a battle.\n"
 "\n"
 "Do you want to leave your current battle and join this one?"
 msgstr ""
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
 msgstr ""
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr ""
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 msgid ""
 "Should i try to download it for you?\n"
 "You can see the progress in the \"Download Manager\" tab."
 msgstr ""
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr "Mod niedostępny"
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr "Mapa niedostępna"
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr ""
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr "Wprowadź hasło"
 
@@ -474,45 +474,45 @@ msgid "Select"
 msgstr "Wybierz..."
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr "Opcje"
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr "Wartość"
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr "Rozmiar"
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr "Prędkość wiatru"
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr "Siła pływów"
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr "Grawitacja"
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr ""
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr "Maksimum metalu"
 
@@ -533,264 +533,264 @@ msgstr ""
 msgid "Startpositions"
 msgstr "Pozycja startowa"
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr ""
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr "Dozwolone jednostki"
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr ""
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 #, fuzzy
 msgid "Disable selected units."
 msgstr "Udostępnić wszystkie jednostki."
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 #, fuzzy
 msgid "Re-enable selected units."
 msgstr "Udostępnić wszystkie jednostki."
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr ""
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr "Udostępnić wszystkie jednostki."
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr "Niedostępne jednostki"
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 #, fuzzy
 msgid "Unit restriction"
 msgstr "Niedostępne jednostki"
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr "Pseudonim"
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr "Drużyna"
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr "Sojusznik"
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr "Strona"
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr "Wybierz kolor"
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr "Obserwator"
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr "Usuń"
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 #, fuzzy
 msgid "AI (bot)\n"
 msgstr "Dodaj bota"
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 msgid "Human\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 #, fuzzy
 msgid "Spectator\n"
 msgstr "Obserwator"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 #, fuzzy
 msgid "Player\n"
 msgstr "Gracz"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 #, fuzzy
 msgid "Host\n"
 msgstr "Host"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 #, fuzzy
 msgid "Client\n"
 msgstr "Klient"
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 #, fuzzy
 msgid "Ready\n"
 msgstr "Zawsze"
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 #, fuzzy
 msgid "Not ready\n"
 msgstr "Niegotowy"
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 msgid "In sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 #, fuzzy
 msgid "Set name."
 msgstr "Usuń..."
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr "Wczytaj..."
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 #, fuzzy
 msgid "Load a saved set of options."
 msgstr "Zapisz zbiór ograniczeń"
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 #, fuzzy
 msgid "Save..."
 msgstr "Zapisz..."
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 #, fuzzy
 msgid "Save a set of options."
 msgstr "Zapisz zbiór ograniczeń"
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 #, fuzzy
 msgid "Delete..."
 msgstr "Wybierz..."
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 #, fuzzy
 msgid "Delete a set of options."
 msgstr "Zapisz zbiór ograniczeń"
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 #, fuzzy
 msgid "Set default..."
 msgstr "domyślny"
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 msgid "Mod Options"
 msgstr "Opcje Mod'u"
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr "Opcje Mapy"
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 #, fuzzy
 msgid "no options available"
 msgstr "Mod niedostępny"
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr "błąd"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 msgid "Delete preset"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 #, fuzzy
 msgid "Set mod default preset"
 msgstr "domyślny"
@@ -833,7 +833,7 @@ msgid ""
 "set) starting boxes."
 msgstr ""
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr "Opuść"
 
@@ -841,7 +841,7 @@ msgstr "Opuść"
 msgid "Leave the battle and return to the battle list"
 msgstr ""
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr "Rozpocznij"
 
@@ -1023,7 +1023,7 @@ msgstr ""
 msgid "Save"
 msgstr "Zapisz..."
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 msgid "Delete"
 msgstr ""
 
@@ -1099,7 +1099,7 @@ msgstr ""
 msgid "Find channel:"
 msgstr "kanał"
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 msgid "Choose channels to join"
 msgstr ""
 
@@ -1159,67 +1159,64 @@ msgid ""
 "Be sure that there isn't a write protection.\n"
 msgstr ""
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr ""
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr ""
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr "Normalny"
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr "TÅ‚o"
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr ""
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr ""
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr ""
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr "Moje wiadomości"
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr "Serwer"
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr "Klient"
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr "BÅ‚Ä…d"
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr ""
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr "Powiadomienie"
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
 "[22:30] <Dude> hi everyone\n"
@@ -1229,585 +1226,248 @@ msgid ""
 "[22:46] <Dude2> But could be better, should tweak them some more...\n"
 msgstr ""
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr "Czcionka:"
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr "domyślny"
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr "Wybierz..."
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr "Zachowanie"
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr ""
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr ""
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr ""
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr ""
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr ""
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr ""
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr ""
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr "kanał_"
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr ""
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, fuzzy, c-format
 msgid "%d users"
 msgstr "(%d użytkowników)"
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr ""
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr "Wyślij"
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr ""
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr "Kopiuj"
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-msgid "Clear"
-msgstr "Wyczyść"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr ""
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr ""
-
-#: src/chatpanel.cpp:433
-msgid "Show mute list"
-msgstr ""
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr ""
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr ""
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr ""
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr "Zablokuj..."
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr "Odblokuj"
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr "Zarejestruj..."
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr "Wyrejestruj"
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr "WÅ‚Ä…cz"
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr "Wyłącz"
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr ""
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr ""
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr ""
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr "Rozłącz"
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr "Połącz ponownie"
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr "Usuń..."
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr "Zmiana hasła..."
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr ""
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr "Konta"
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr ""
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr "Admin"
-
-#: src/chatpanel.cpp:510
-#, fuzzy
-msgid "User"
-msgstr "serwer"
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr ""
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr ""
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr ""
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr ""
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr ""
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr ""
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr ""
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr ""
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr ""
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr ""
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr ""
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr ""
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr ""
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr ""
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr ""
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr ""
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr ""
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr ""
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr ""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr ""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr "kanał"
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr "bitwa"
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr "serwer"
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr ""
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr ""
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 msgid " ** Channel topic:"
 msgstr ""
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 msgid " ** Set by "
 msgstr ""
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr ""
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr ""
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr ""
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr ""
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr ""
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
 "commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr ""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr ""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr "\""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr ""
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr ""
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr ""
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr ""
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr ""
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr ""
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr ""
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr ""
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr ""
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr ""
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr ""
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr ""
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr ""
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr ""
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr ""
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr ""
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr ""
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr ""
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr ""
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr ""
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr ""
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr ""
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr ""
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr ""
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr ""
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr ""
-
-#: src/chatpanel.cpp:1797
-msgid "couldn't add user"
-msgstr ""
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr ""
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
 msgstr ""
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr ""
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr ""
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr ""
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
 msgstr ""
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr ""
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr ""
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr ""
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr ""
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr ""
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
 "It must be an integer between 1 and 65535"
 msgstr ""
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr ""
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 #, fuzzy
 msgid "Invalid nickname"
 msgstr "Nieprawidłowa liczba"
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 msgid ""
 "Registration failed, the reason was:\n"
 "Password / confirmation mismatch (or empty passwort)"
 msgstr ""
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr ""
 
@@ -2800,9 +2460,8 @@ msgid "Last generated spring launching script"
 msgstr ""
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 #, fuzzy
 msgid "Name"
 msgstr "Pseudonim"
@@ -2893,8 +2552,8 @@ msgstr ""
 msgid "Notify when users of this group hosts a battle"
 msgstr ""
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr ""
 
@@ -2984,9 +2643,8 @@ msgstr "kanał"
 msgid "File successfully saved"
 msgstr ""
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 msgid "Success"
 msgstr ""
 
@@ -2994,7 +2652,7 @@ msgstr ""
 msgid "Couldn't save file"
 msgstr ""
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 #, fuzzy
 msgid "Default"
 msgstr "domyślny"
@@ -3027,204 +2685,204 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr ""
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr ""
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "Opis"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr ""
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr ""
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr ""
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr ""
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 #, fuzzy
 msgid "Randomly picks an available one"
 msgstr "Mod niedostępny"
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr ""
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr ""
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr ""
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr ""
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 msgid "NAT traversal to use."
 msgstr ""
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr ""
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr ""
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr ""
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 msgid ""
 "\n"
 "successfully unzipped in:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 msgid "Path"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 msgid "Use a file dialog to find the editor binary"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 #, fuzzy
 msgid "Autoconnect"
 msgstr "Połącz ponownie"
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 msgid "Autoconnect on lobby start"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3233,73 +2891,73 @@ msgid ""
 "Uncheck to disable."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 msgid "Tooltips"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 msgid "Show Tooltips?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
 "distance"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 msgid "Match exact"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 #, fuzzy
 msgid "Start tab"
 msgstr "PoczÄ…tkowy Metal"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3311,7 +2969,7 @@ msgstr ""
 msgid "Choose a editor browser executable"
 msgstr ""
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 msgid "Disconnected from server, chat closed."
 msgstr ""
 
@@ -3319,127 +2977,111 @@ msgstr ""
 msgid "Battle list"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr "Opcje"
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 #, fuzzy
 msgid "Unit Restrictions"
 msgstr "Niedostępne jednostki"
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr ""
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr ""
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr ""
 
-#: src/mainoptionstab.cpp:75
-msgid "General"
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
+msgid "Restore"
 msgstr ""
 
-#: src/mainoptionstab.cpp:78
-msgid "Groups"
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
+msgid "Apply"
 msgstr ""
 
-#: src/mainoptionstab.cpp:80
-msgid "Restore"
+#: src/mainoptionstab.cpp:87
+msgid "General"
 msgstr ""
 
-#: src/mainoptionstab.cpp:81
-msgid "Apply"
+#: src/mainoptionstab.cpp:90
+msgid "Groups"
 msgstr ""
 
-#: src/mainsingleplayertab.cpp:41
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr ""
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr ""
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 #, fuzzy
 msgid "Download Lua widgets"
 msgstr "ÅšciÄ…gnij &mape"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr ""
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr ""
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr ""
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr ""
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr ""
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr ""
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr ""
@@ -3448,288 +3090,301 @@ msgstr ""
 msgid "SpringLobby"
 msgstr ""
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr ""
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr ""
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 #, fuzzy
 msgid "&Save options"
 msgstr "Opcje Mapy"
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr ""
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+#, fuzzy
+msgid "&Save Layout"
+msgstr "Opcje Mapy"
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr ""
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 #, fuzzy
 msgid "Channel &list"
 msgstr "kanał"
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr ""
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr ""
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr ""
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr ""
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr ""
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr ""
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 #, fuzzy
 msgid "&Change language"
 msgstr "kanał"
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr ""
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr ""
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr ""
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+msgid "&View"
+msgstr ""
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr ""
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 #, fuzzy
 msgid "Not connected"
 msgstr "Połącz ponownie"
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr ""
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr ""
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr ""
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr ""
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 #, fuzzy
 msgid "No files found"
 msgstr "Nie znaleziono żadnych map"
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr ""
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr ""
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr ""
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr ""
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 msgid "Which profile do you want to be default?"
 msgstr ""
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr ""
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr ""
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 #, fuzzy
 msgid "Savegames"
 msgstr "Zapisz..."
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 #, fuzzy
 msgid "Replays"
 msgstr "Zawsze"
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 #, fuzzy
 msgid "Downloads"
 msgstr "ÅšciÄ…gnij &mape"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr ""
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr ""
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr ""
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr ""
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr ""
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr ""
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 msgid "Show"
 msgstr ""
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 msgid "Filter"
 msgstr ""
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 #, fuzzy
 msgid "Map details"
 msgstr "Maksimum metalu"
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 #, fuzzy
 msgid "Start positions"
 msgstr "Pozycja startowa"
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 msgid "Minimum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 #, fuzzy
 msgid "Average wind"
 msgstr "Przeciętny"
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 #, fuzzy
 msgid "Aspect ratio"
 msgstr "Obserwator"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 #, fuzzy
 msgid "Number of start positions"
 msgstr "Losowe pozycje startowe"
@@ -3766,20 +3421,20 @@ msgstr "Niedostępne jednostki"
 msgid "Map name"
 msgstr ""
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 #, fuzzy
 msgid "Change option"
 msgstr "Opcje Mapy"
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr ""
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr ""
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr ""
 
@@ -3843,55 +3498,55 @@ msgstr ""
 msgid "Filesize in kilobyte"
 msgstr ""
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "Wczytaj..."
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "Zawsze"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "savegame"
 msgstr "Zapisz..."
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr ""
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
 "version: %s\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -3900,18 +3555,18 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 #, fuzzy
 msgid "Invalid replay"
 msgstr "Nieprawidłowa liczba"
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr ""
 
@@ -3928,93 +3583,93 @@ msgstr ""
 msgid "Select Users"
 msgstr "Zaznacz wszystko"
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 #, fuzzy
 msgid " is online"
 msgstr "Rozłącz"
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr ""
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr ""
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 msgid " just went offline"
 msgstr ""
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 msgid " opened battle "
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr ""
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr ""
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr ""
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, c-format
 msgid "%s mutelist"
 msgstr ""
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr ""
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr ""
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy
 msgid "Download update"
 msgstr "ÅšciÄ…gnij &mape"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -4025,68 +3680,68 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 #, fuzzy
 msgid "Negotiation error"
 msgstr "Powiadomienie"
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 #, fuzzy
 msgid "Invalid Value"
 msgstr "Nieprawidłowa liczba"
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 #, fuzzy
 msgid "No Handler"
 msgstr "Rozłącz"
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 #, fuzzy
 msgid "File doesn't exit"
 msgstr "Mapa nie istnieje"
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "Rozpoczęta"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 #, fuzzy
 msgid "Reconnection Error"
 msgstr "Połącz ponownie"
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 msgid "Unknown Error"
 msgstr ""
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 msgid "Download complete, location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 #, fuzzy
 msgid "Download complete."
 msgstr "ÅšciÄ…gnij &mape"
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer. File location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer."
 msgstr ""
 
@@ -4750,74 +4405,74 @@ msgid "Save Spring settings before exiting?"
 msgstr ""
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr ""
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr ""
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr ""
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr ""
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr ""
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr ""
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr ""
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr ""
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr ""
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr ""
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr ""
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr ""
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr ""
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr ""
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr ""
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr ""
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr ""
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr ""
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -4840,7 +4495,7 @@ msgstr ""
 msgid "everyone reporting bugs/suggestions"
 msgstr ""
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -4848,27 +4503,32 @@ msgid ""
 "please enable wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr ""
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -4907,8 +4567,8 @@ msgstr ""
 msgid "Choose an unitsync library"
 msgstr ""
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr ""
 
@@ -4944,23 +4604,23 @@ msgstr ""
 msgid "can't launch default browser"
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr ""
 
@@ -4968,41 +4628,41 @@ msgstr ""
 msgid "Audio Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr ""
 
@@ -5088,92 +4748,69 @@ msgstr ""
 msgid "Zoom"
 msgstr ""
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
 msgstr ""
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr ""
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 #, fuzzy
 msgid "Spectate only"
 msgstr "Obserwator"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 #, fuzzy
 msgid "Random start positions"
 msgstr "Losowe pozycje startowe"
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr ""
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr ""
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr ""
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
 " "
 msgstr ""
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr ""
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
+#: src/springlobbyapp.cpp:183
 msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
 "\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
-msgstr ""
-
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:172
-msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
-msgstr ""
-
-#: src/springlobbyapp.cpp:172
+#: src/springlobbyapp.cpp:183
 #, fuzzy
-msgid "Notice"
-msgstr "Brak"
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
-msgstr ""
-
-#: src/springlobbyapp.cpp:188
-msgid "Import settings?"
-msgstr ""
+msgid "Fatal error"
+msgstr "błąd"
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5181,66 +4818,74 @@ msgid ""
 "please get a wxWidgets library that supports wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 msgid "Ignore chat"
 msgstr ""
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 msgid "Battle Autokick"
 msgstr ""
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 msgid "Friends"
 msgstr ""
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr ""
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr ""
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr ""
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr ""
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5267,7 +4912,7 @@ msgid ""
 "Please create manually the following folders:"
 msgstr ""
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr ""
 
@@ -5289,42 +4934,43 @@ msgstr ""
 msgid " , column "
 msgstr ""
 
-#: src/torrentlistctrl.cpp:44
-msgid "Numcopies"
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:48
-msgid "MB downloaded"
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
+#, fuzzy
+msgid "Cancel torrent"
+msgstr "Anuluj"
+
+#: src/torrentlistctrl.cpp:173
+msgid "Retry torrent"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:56
+#: src/torrentlistctrl.cpp:264
 #, fuzzy
-msgid "Status"
-msgstr "Status:"
-
-#: src/torrentlistctrl.cpp:60
-#, c-format
-msgid "% complete"
-msgstr ""
+msgid "not found"
+msgstr "Nie znaleziono żadnych map"
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
-msgstr ""
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "ÅšciÄ…gnij &mape"
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
 msgstr ""
 
 #: src/torrentoptionspanel.cpp:37
@@ -5393,214 +5039,208 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr ""
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr "Hasło serwera"
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
 msgstr ""
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr ""
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr ""
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr ""
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr ""
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr ""
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr ""
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr ""
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr ""
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
 msgstr ""
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr ""
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
 msgstr ""
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
 msgstr ""
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr ""
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr ""
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
 "username."
 msgstr ""
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 msgid "  \"/part\" - Leaves current channel."
 msgstr ""
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 msgid "  \"/p\" - Alias to /part."
 msgstr ""
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr ""
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr ""
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr ""
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr ""
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr ""
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr ""
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
 msgstr ""
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr ""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr ""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr ""
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
 "\n"
 "Online play is currently disabled."
 msgstr ""
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 msgstr ""
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 msgid "Online play is currently disabled."
 msgstr ""
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 msgid "Disconnected from server."
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 #, fuzzy
 msgid "Connection failure"
 msgstr "Kontynuuj"
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr ""
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr "(%d użytkowników)"
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr ""
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr ""
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr ""
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
 "to play online."
 msgstr ""
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5608,32 +5248,70 @@ msgid ""
 "download finished"
 msgstr ""
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr ""
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr ""
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr ""
+
+#: src/ui.cpp:1242
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid "Notice"
+msgstr "Brak"
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+msgid "Import settings?"
+msgstr ""
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr ""
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr ""
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid ""
 "\n"
 "\n"
@@ -5641,52 +5319,48 @@ msgid ""
 "effect next you launch the lobby again."
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid "Not up to date"
 msgstr ""
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr ""
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
 msgstr ""
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 msgid ""
 "There was an error downloading for the latest version.\n"
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
+#: src/updater/updater.cpp:92
 #, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr ""
 
@@ -5810,15 +5484,15 @@ msgstr "Weteran"
 msgid "Unknown"
 msgstr ""
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr ""
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 msgid "Add to group..."
 msgstr ""
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 msgid "Remove from group"
 msgstr ""
 
@@ -5892,6 +5566,49 @@ msgstr ""
 #~ msgid "ally"
 #~ msgstr "Sojusznik"
 
+#~ msgid "Copy"
+#~ msgstr "Kopiuj"
+
+#~ msgid "Clear"
+#~ msgstr "Wyczyść"
+
+#~ msgid "Lock..."
+#~ msgstr "Zablokuj..."
+
+#~ msgid "Unlock"
+#~ msgstr "Odblokuj"
+
+#~ msgid "Register..."
+#~ msgstr "Zarejestruj..."
+
+#~ msgid "Unregister"
+#~ msgstr "Wyrejestruj"
+
+#~ msgid "On"
+#~ msgstr "WÅ‚Ä…cz"
+
+#~ msgid "Off"
+#~ msgstr "Wyłącz"
+
+#~ msgid "Disconnect"
+#~ msgstr "Rozłącz"
+
+#~ msgid "Remove..."
+#~ msgstr "Usuń..."
+
+#~ msgid "Change password..."
+#~ msgstr "Zmiana hasła..."
+
+#~ msgid "Accounts"
+#~ msgstr "Konta"
+
+#~ msgid "Admin"
+#~ msgstr "Admin"
+
+#, fuzzy
+#~ msgid "User"
+#~ msgstr "serwer"
+
 #, fuzzy
 #~ msgid "Tab icons"
 #~ msgstr "Opcje Mapy"
diff --git a/po/pt.gmo b/po/pt.gmo
index 87fd78e..82f2290 100644
Binary files a/po/pt.gmo and b/po/pt.gmo differ
diff --git a/po/pt.po b/po/pt.po
index fc7ae3c..1085bf5 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the springlobby package.
 # FIRST AUTHOR <EMAIL at ADDRESS>, 2008.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: springlobby\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2008-08-17 14:38+0000\n"
 "Last-Translator: fastfox <Unknown>\n"
 "Language-Team: Portuguese <pt at li.org>\n"
@@ -50,8 +50,8 @@ msgid "value"
 msgstr "Valor"
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "Cancelar"
 
@@ -104,7 +104,7 @@ msgstr "Aleatório"
 msgid "Clans"
 msgstr "Clãs"
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "Nenhum"
 
@@ -143,46 +143,46 @@ msgstr "Número de jogadores"
 msgid "Auto select"
 msgstr "Reconectar automaticamente"
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "OK"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "Descrição"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "Mapa"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr "Mod"
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "Anfitrião"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "Espectadores:"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 #, fuzzy
 msgid "Players"
 msgstr "Jogadores:"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "Mapa"
@@ -195,11 +195,11 @@ msgstr ""
 msgid "Download m&od"
 msgstr ""
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "Espectadores:"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 #, fuzzy
 msgid "Active Players:"
 msgstr "Jogadores:"
@@ -254,8 +254,8 @@ msgid "All"
 msgstr "Todos"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "Mapa:"
 
@@ -268,8 +268,8 @@ msgid "Max.Player:"
 msgstr "Max. de jogadores:"
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr "Mod:"
 
@@ -281,15 +281,15 @@ msgstr "Apenas mods que possuo"
 msgid "    Spectator:"
 msgstr "    Espectador:"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr ""
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "Jogadores:"
 
@@ -318,36 +318,36 @@ msgstr ""
 msgid "Join"
 msgstr "Entrar"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, c-format
 msgid "%d battles displayed"
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 "Não pode hospedar um jogo enquanto estiver offline. Por favor ligue-se a um "
 "servidor."
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr ""
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr ""
 "Hospedar jogos está desactivado devido à versão incompatível que está a usar"
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr "Erro do Spring"
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
@@ -355,11 +355,11 @@ msgstr ""
 "Já se encontra a correr uma instância do Spring, feche-a primeiro de modo a "
 "poder hospedar um novo jogo"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr "Numa batalha"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
@@ -368,7 +368,7 @@ msgstr ""
 "Já se encontra numa batalha.\n"
 "Deseja sair da batalha actual e começar uma nova?"
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
@@ -378,7 +378,7 @@ msgstr ""
 " O teste de portas não é possível.\n"
 " A criação de novos jogos poderá não funcionar."
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
@@ -387,7 +387,7 @@ msgstr ""
 "O servidor usado para testar a sua porta %d está inacessível.\n"
 "A criação de novos jogos poderá não funcionar com esta opção"
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -399,16 +399,16 @@ msgid ""
 " option in the hosting settings."
 msgstr ""
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr ""
 "A batalha não começou porque o mod que escolheu não pôde ser encontrado. "
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr "Erro ao iniciar a batalha."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
@@ -416,11 +416,11 @@ msgstr ""
 "Não foi possível encontrar mapas na sua instalação do Spring. Isto pode "
 "ocorrer quando as opções do Spring estão incorrectas."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "Nenhum mapa encontrado"
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
@@ -428,12 +428,12 @@ msgstr ""
 "Entrar em batalhas está desactivado devido à versão do Spring que está a "
 "usar ser incompatível."
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid "Already in this battle"
 msgstr "Numa batalha"
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid ""
 "You are already in this battle.\n"
@@ -443,12 +443,12 @@ msgstr ""
 "Já se encontra numa batalha.\n"
 "Deseja sair da batalha actual e começar uma nova?"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid "Already in another battle"
 msgstr "Numa batalha"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid ""
 "You are already in a battle.\n"
@@ -459,7 +459,7 @@ msgstr ""
 "\n"
 "Deseja deixar a batalha actual e entrar nesta?"
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
@@ -467,17 +467,17 @@ msgstr ""
 "Já se encontra a correr uma instância do Spring, feche-a de modo a poder "
 "entrar noutra batalha."
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr "Deseja que o leve à página de downloads?"
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 msgid ""
 "Should i try to download it for you?\n"
 "You can see the progress in the \"Download Manager\" tab."
 msgstr ""
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
@@ -485,11 +485,11 @@ msgstr ""
 "Precisa de descarregar o mod antes de entrar neste jogo.\n"
 "\n"
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr "O mod não está disponível"
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
@@ -497,15 +497,15 @@ msgstr ""
 "Precisa de descarregar o mapa para poder jogar nesta batalha.\n"
 "\n"
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr "Mapa não disponível"
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr "Palavra chave da batalha"
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr "Introduza a palavra chave"
 
@@ -515,45 +515,45 @@ msgid "Select"
 msgstr "Seleccionar..."
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr "Opção"
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr "Valor"
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr "Tamanho"
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr "Velocidade do vento"
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr "Força das marés"
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr "Gravidade"
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr "Raio de extração"
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr ""
 
@@ -575,265 +575,265 @@ msgstr "Escolher durante o jogo"
 msgid "Startpositions"
 msgstr "Posições iniciais"
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr "Restrições de unidades"
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr "Unidades permitidas"
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr "As unidades nesta lista estarão disponíveis durante o jogo."
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 #, fuzzy
 msgid "Disable selected units."
 msgstr "Permitir todas as unidades."
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 #, fuzzy
 msgid "Re-enable selected units."
 msgstr "Permitir todas as unidades."
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr ""
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr "Permitir todas as unidades."
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr "Unidades proibidas"
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr "As unidades nesta lista não estarão disponíveis durante o jogo."
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 #, fuzzy
 msgid "Unit restriction"
 msgstr "Restrições de unidades"
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr "Alcunha"
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr "Equipa"
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr "Aliado"
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr "Bonus de Recursos"
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr "Facção"
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr "Definir cor"
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr "Definir Bónus de Recusos"
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr "Espectador"
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr "Expulsar"
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr "Por favor introduza um valor entre 0 e 100"
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 #, fuzzy
 msgid "AI (bot)\n"
 msgstr "Adicionar robô"
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 #, fuzzy
 msgid "Human\n"
 msgstr "Omã"
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 #, fuzzy
 msgid "Spectator\n"
 msgstr "Espectador"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 #, fuzzy
 msgid "Player\n"
 msgstr "Jogador:"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 #, fuzzy
 msgid "Host\n"
 msgstr "Anfitrião"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 #, fuzzy
 msgid "Client\n"
 msgstr "Cliente"
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 #, fuzzy
 msgid "Ready\n"
 msgstr "Sempre"
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 #, fuzzy
 msgid "Not ready\n"
 msgstr "Não pronto"
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 msgid "In sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 #, fuzzy
 msgid "Set name."
 msgstr "Definir acesso..."
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr "Carregar..."
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 #, fuzzy
 msgid "Load a saved set of options."
 msgstr "Carregar um conjunto de restrições salvas."
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 #, fuzzy
 msgid "Save..."
 msgstr "Guardar..."
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 #, fuzzy
 msgid "Save a set of options."
 msgstr "Guardar um conjunto de restrições."
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 #, fuzzy
 msgid "Delete..."
 msgstr "Seleccionar..."
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 #, fuzzy
 msgid "Delete a set of options."
 msgstr "Guardar um conjunto de restrições."
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 #, fuzzy
 msgid "Set default..."
 msgstr "pré-definido"
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 msgid "Mod Options"
 msgstr "Opções do Mod"
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr "Opções do Mapa"
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 #, fuzzy
 msgid "no options available"
 msgstr "O mod não está disponível"
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 msgid "Delete preset"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 #, fuzzy
 msgid "Set mod default preset"
 msgstr "pré-definido"
@@ -880,7 +880,7 @@ msgid ""
 "set) starting boxes."
 msgstr ""
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr "Sair"
 
@@ -888,7 +888,7 @@ msgstr "Sair"
 msgid "Leave the battle and return to the battle list"
 msgstr "Deixar a batalha e voltar à lista de batalhas"
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr "Começar"
 
@@ -1072,7 +1072,7 @@ msgstr ""
 msgid "Save"
 msgstr "Guardar..."
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 msgid "Delete"
 msgstr ""
 
@@ -1152,7 +1152,7 @@ msgstr ""
 msgid "Find channel:"
 msgstr "canal"
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 msgid "Choose channels to join"
 msgstr ""
 
@@ -1219,67 +1219,64 @@ msgstr ""
 "Não é possível abrir os ficheiros de registo.\n"
 "Verifique se não existe protecção contra a escrita.\n"
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr "Cores e tipos de letra"
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr "Usar as cores do sistema"
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr "Normal"
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr "Fundo"
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr "Acção"
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr "Realçar"
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr "Entrar/Sair"
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr "As minhas mensagens"
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr "Servidor"
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr "Cliente"
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr "Erro"
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr ""
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr "Notificação"
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 #, fuzzy
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
@@ -1296,328 +1293,139 @@ msgstr ""
 "[22:45] <Dude> Dude2: orl?\n"
 "[22:46] <Dude2> But could be better, should tweak them some more...\n"
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr "Tipo de Letra:"
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr "pré-definido"
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr "Seleccionar..."
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr "Comportamento"
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr ""
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr ""
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr ""
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr "Realçar palavras"
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr "Palavras a realçar nas conversas:"
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr "introduza uma lista separada por ;"
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr ""
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr ""
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr "#"
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, fuzzy, c-format
 msgid "%d users"
 msgstr "Expulsar utilizador"
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr ""
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr "Enviar"
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr ""
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr "Copiar"
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-msgid "Clear"
-msgstr "Limpar"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr "Entrar automaticamente neste canal"
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr "Mostrar Mensagens de Entrada/Saída"
-
-#: src/chatpanel.cpp:433
-msgid "Show mute list"
-msgstr ""
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr "Informação do canal"
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr "Definir tópico..."
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr "Menssagem do canal..."
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr "Trancar..."
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr ""
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr "Registar..."
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr "Remover o Registo"
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr "Ligado"
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr "Desligado"
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr ""
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr "Protecção de spam"
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr "ChanServ"
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr "Desligar"
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr "Reconectar automaticamente"
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr "Remover..."
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr "Alterar senha..."
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr "Definir acesso..."
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr "Contas"
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr ""
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr "Admin"
-
-#: src/chatpanel.cpp:510
-#, fuzzy
-msgid "User"
-msgstr "Silenciar Utilizador"
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr "Abrir canal"
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr "Entrar na mesma batalha"
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr "Tempo de jogo"
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr ""
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr "Silenciar..."
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr "Silenciar durante 5 minutos"
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr "Silenciar durante 10 minutos"
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr "Silenciar durante 30 minutos"
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr "Silenciar durante 2 horas"
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr "Silenciar durante 1 dia"
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr ""
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr "Silenciar"
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr "Expulsar..."
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr "Banir..."
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr "Desbanir"
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr ""
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr ""
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr ""
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr " !! Comando: \""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr "\" params: \""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr "canal"
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr "batalha"
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr "servidor"
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr ""
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr ""
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 #, fuzzy
 msgid " ** Channel topic:"
 msgstr "Informação do canal"
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 #, fuzzy
 msgid " ** Set by "
 msgstr ""
 "\n"
 " * Definido por "
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr "Conversa fechada."
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr "Tem a certeza de que pretende colar %d linhas?"
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr ""
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr " Tem o SpringLobby v"
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr " Não está num canal ou o canal não existe."
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
@@ -1626,7 +1434,7 @@ msgstr ""
 " Erro: O comando (%s) não existe, use /help para obter uma lista dos "
 "comandos disponíveis."
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
@@ -1634,171 +1442,23 @@ msgstr ""
 " Não está numa batalha ou a batalha não existe, use /help para obter uma "
 "lista dos comandos disponíveis."
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr " O utilizador está offline"
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr " Enviado: \""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr "\""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr "Erro do ChanServ"
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr "O ChanServ não está neste canal"
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr "Qual deve ser o novo tópico?"
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr "Mensagem:"
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr "Trancar canal..."
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr "Qual deverá ser a nova senha?"
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr "Destrancar canal"
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr "Tem a certeza de que pretende destrancar este canal?"
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr "O ChanServ não está neste servidor."
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr "Quem deve ser indicado como fundador deste canal?"
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr "Remover Conta de Utilizador"
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr "Que conta de utilizador pretende remover hoje?"
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr "Remover Conta"
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr "Tem a certeza que pretende remover a conta "
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr ""
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr "De que conta de utilizador pretende mudar a senha?"
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr "Qual deverá ser a nova senha?"
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr "Não Implementado"
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr ""
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr ""
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr "Não possui o mod "
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr " . Por favor descarregue-o primeiro"
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr "Mod não disponível"
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr "Esta batalha está protegida com palavra-chave, introduza-a."
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr "Silenciar Utilizador"
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr "Por quantos minutos deverá o utilizador ser silenciado?"
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr "Expulsar Utilizador"
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr "Razão:"
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr "Expulsar utilizador"
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr "Silenciar utilizador"
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr "Duração:"
-
-#: src/chatpanel.cpp:1797
-msgid "couldn't add user"
-msgstr ""
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr ""
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
@@ -1806,20 +1466,20 @@ msgstr ""
 "Servidor a ligar. Pode ligar a qualquer servidor introduzindo-o no formato "
 "endereçoDoServidor:porta."
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr "Senha"
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr "Lembrar senha"
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr "Ligar automaticamente da próxima vez"
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
@@ -1827,34 +1487,34 @@ msgstr ""
 "lembrar os detalhes da ligação e ligar automaticamente ao servidor da "
 "próxima vez que iniciar o lobby"
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr "Autentificação"
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr "Registar"
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr "Alcunha"
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr "Porta inválida."
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr "Porta inválida"
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
@@ -1864,26 +1524,26 @@ msgstr ""
 "\n"
 "Tem de ser um inteiro entre 1 e 65535"
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr "Máquina/porta inválida."
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr "Máquina inválida"
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 #, fuzzy
 msgid "Invalid nickname"
 msgstr "Número inválido"
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 #, fuzzy
 msgid ""
 "Registration failed, the reason was:\n"
@@ -1892,7 +1552,7 @@ msgstr ""
 "O registo falhou, a razão foi:\n"
 "Senha / confirmação não idênticas"
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr "O registo falhou."
 
@@ -2885,9 +2545,8 @@ msgid "Last generated spring launching script"
 msgstr "Último script de lançamento gerado pelo Spring"
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 #, fuzzy
 msgid "Name"
 msgstr "Alcunha"
@@ -2982,8 +2641,8 @@ msgstr "Criar nova batalha"
 msgid "Notify when users of this group hosts a battle"
 msgstr ""
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr ""
 
@@ -3076,9 +2735,8 @@ msgstr "Escolher durante o jogo"
 msgid "File successfully saved"
 msgstr ""
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 #, fuzzy
 msgid "Success"
 msgstr "Definir acesso..."
@@ -3087,7 +2745,7 @@ msgstr "Definir acesso..."
 msgid "Couldn't save file"
 msgstr ""
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 #, fuzzy
 msgid "Default"
 msgstr "pré-definido"
@@ -3120,207 +2778,207 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr "Criar nova batalha"
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr "Uma descrição curta do jogo que irá aparecer na lista das batalhas."
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "Descrição"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr "Escolha o mod com que pretende jogar."
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr ""
 "A senha necessária para participar neste jogo. Mantenha vazio para não haver "
 "senha"
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr "Porta"
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr ""
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 #, fuzzy
 msgid "Randomly picks an available one"
 msgstr "O mod não está disponível"
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr "Número de jogadores"
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr "O número máximo de jogadores permitidos na batalha"
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr ""
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr ""
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 msgid "NAT traversal to use."
 msgstr ""
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr "Patente Mínima Necessária"
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr ""
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr ""
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 msgid ""
 "\n"
 "successfully unzipped in:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 msgid "Path"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 msgid "Use a file dialog to find the editor binary"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 #, fuzzy
 msgid "Autoconnect"
 msgstr "Reconectar automaticamente"
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 #, fuzzy
 msgid "Autoconnect on lobby start"
 msgstr "Ligar automaticamente ao último servidor"
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3329,73 +2987,73 @@ msgid ""
 "Uncheck to disable."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 msgid "Tooltips"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 msgid "Show Tooltips?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
 "distance"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 msgid "Match exact"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 #, fuzzy
 msgid "Start tab"
 msgstr "Metal inicial"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3407,7 +3065,7 @@ msgstr ""
 msgid "Choose a editor browser executable"
 msgstr ""
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 msgid "Disconnected from server, chat closed."
 msgstr ""
 
@@ -3415,128 +3073,112 @@ msgstr ""
 msgid "Battle list"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr "Opções"
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 #, fuzzy
 msgid "Unit Restrictions"
 msgstr "Restrições de unidades"
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr ""
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr ""
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr ""
 
-#: src/mainoptionstab.cpp:75
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
+msgid "Restore"
+msgstr ""
+
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
+msgid "Apply"
+msgstr ""
+
+#: src/mainoptionstab.cpp:87
 #, fuzzy
 msgid "General"
 msgstr "Senegal"
 
-#: src/mainoptionstab.cpp:78
+#: src/mainoptionstab.cpp:90
 msgid "Groups"
 msgstr ""
 
-#: src/mainoptionstab.cpp:80
-msgid "Restore"
-msgstr ""
-
-#: src/mainoptionstab.cpp:81
-msgid "Apply"
-msgstr ""
-
-#: src/mainsingleplayertab.cpp:41
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr ""
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr ""
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 #, fuzzy
 msgid "Download Lua widgets"
 msgstr "Descarga falhada"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr ""
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr ""
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr ""
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr ""
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr ""
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr ""
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr ""
@@ -3545,290 +3187,303 @@ msgstr ""
 msgid "SpringLobby"
 msgstr ""
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr ""
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr ""
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 #, fuzzy
 msgid "&Save options"
 msgstr "Opções do Mapa"
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr ""
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+#, fuzzy
+msgid "&Save Layout"
+msgstr "Opções do Mapa"
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr ""
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 #, fuzzy
 msgid "Channel &list"
 msgstr "Informação do canal"
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr ""
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr ""
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr ""
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr ""
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr ""
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr ""
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 #, fuzzy
 msgid "&Change language"
 msgstr "Informação do canal"
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr ""
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr ""
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr ""
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+msgid "&View"
+msgstr ""
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr ""
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 #, fuzzy
 msgid "Not connected"
 msgstr "Reconectar automaticamente"
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr ""
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr ""
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr ""
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr ""
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 #, fuzzy
 msgid "No files found"
 msgstr "Nenhum mapa encontrado"
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr ""
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr ""
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr ""
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr ""
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 #, fuzzy
 msgid "Which profile do you want to be default?"
 msgstr "Que conta de utilizador pretende remover hoje?"
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr ""
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr ""
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 #, fuzzy
 msgid "Savegames"
 msgstr "Guardar..."
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 #, fuzzy
 msgid "Replays"
 msgstr "Sempre"
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 #, fuzzy
 msgid "Downloads"
 msgstr "Descarga falhada"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr ""
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr ""
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr ""
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr ""
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr ""
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr ""
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 msgid "Show"
 msgstr ""
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 #, fuzzy
 msgid "Filter"
 msgstr "Justo"
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 #, fuzzy
 msgid "Map details"
 msgstr "Opções do Mapa"
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 #, fuzzy
 msgid "Start positions"
 msgstr "Posições iniciais"
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 #, fuzzy
 msgid "Minimum wind"
 msgstr "Patente Mínima Necessária"
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 msgid "Average wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 #, fuzzy
 msgid "Aspect ratio"
 msgstr "Espectador"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 #, fuzzy
 msgid "Number of start positions"
 msgstr "Posições iniciais aleatórias"
@@ -3865,20 +3520,20 @@ msgstr "Unidades proibidas"
 msgid "Map name"
 msgstr ""
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 #, fuzzy
 msgid "Change option"
 msgstr "Opções do Mapa"
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr ""
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr ""
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr ""
 
@@ -3944,49 +3599,49 @@ msgstr ""
 msgid "Filesize in kilobyte"
 msgstr ""
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "Carregar..."
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "Sempre"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "savegame"
 msgstr "Guardar..."
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr ""
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
 "version: %s\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 #, fuzzy
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
@@ -3995,7 +3650,7 @@ msgstr ""
 "Precisa de descarregar o mod antes de entrar neste jogo.\n"
 "\n"
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -4004,18 +3659,18 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 #, fuzzy
 msgid "Invalid replay"
 msgstr "Porta inválida"
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr ""
 
@@ -4032,95 +3687,95 @@ msgstr ""
 msgid "Select Users"
 msgstr "Seleccionar tudo"
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 #, fuzzy
 msgid " is online"
 msgstr " O utilizador está offline"
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr ""
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr ""
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 #, fuzzy
 msgid " just went offline"
 msgstr " O utilizador está offline"
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 #, fuzzy
 msgid " opened battle "
 msgstr "Criar nova batalha"
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr ""
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr ""
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr ""
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, c-format
 msgid "%s mutelist"
 msgstr ""
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr ""
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr ""
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy
 msgid "Download update"
 msgstr "Descarga completa"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -4131,69 +3786,69 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 #, fuzzy
 msgid "Negotiation error"
 msgstr "Notificação"
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 #, fuzzy
 msgid "Invalid Value"
 msgstr "Número inválido"
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 #, fuzzy
 msgid "No Handler"
 msgstr "Não é um número"
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 #, fuzzy
 msgid "File doesn't exit"
 msgstr "O mapa não existe."
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "Iniciado"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 #, fuzzy
 msgid "Reconnection Error"
 msgstr "Reconectar automaticamente"
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 msgid "Unknown Error"
 msgstr ""
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 #, fuzzy
 msgid "Download complete, location is: "
 msgstr "Descarga completa"
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 #, fuzzy
 msgid "Download complete."
 msgstr "Descarga completa"
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer. File location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer."
 msgstr ""
 
@@ -4861,74 +4516,74 @@ msgid "Save Spring settings before exiting?"
 msgstr ""
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr ""
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr ""
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr ""
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr ""
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr ""
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr ""
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr ""
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr ""
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr ""
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr ""
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr ""
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr ""
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr ""
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr ""
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr ""
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr ""
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr ""
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr ""
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -4951,7 +4606,7 @@ msgstr ""
 msgid "everyone reporting bugs/suggestions"
 msgstr ""
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -4959,27 +4614,32 @@ msgid ""
 "please enable wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr ""
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -5018,8 +4678,8 @@ msgstr ""
 msgid "Choose an unitsync library"
 msgstr ""
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr ""
 
@@ -5055,23 +4715,23 @@ msgstr ""
 msgid "can't launch default browser"
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr ""
 
@@ -5079,41 +4739,41 @@ msgstr ""
 msgid "Audio Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr ""
 
@@ -5199,92 +4859,68 @@ msgstr ""
 msgid "Zoom"
 msgstr ""
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
 msgstr ""
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr ""
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 #, fuzzy
 msgid "Spectate only"
 msgstr "Espectador"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 #, fuzzy
 msgid "Random start positions"
 msgstr "Posições iniciais aleatórias"
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr ""
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr ""
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr ""
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
 " "
 msgstr ""
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr ""
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
+#: src/springlobbyapp.cpp:183
 msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
 "\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
-msgstr ""
-
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
-msgstr ""
-
-#: src/springlobbyapp.cpp:172
-msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
-msgstr ""
-
-#: src/springlobbyapp.cpp:172
-#, fuzzy
-msgid "Notice"
-msgstr "Nenhum"
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:188
-msgid "Import settings?"
+#: src/springlobbyapp.cpp:183
+msgid "Fatal error"
 msgstr ""
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5292,68 +4928,76 @@ msgid ""
 "please get a wxWidgets library that supports wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 #, fuzzy
 msgid "Ignore chat"
 msgstr "Abrir canal"
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 msgid "Battle Autokick"
 msgstr ""
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 #, fuzzy
 msgid "Friends"
 msgstr "Fixo"
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr ""
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr ""
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr ""
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr ""
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5380,7 +5024,7 @@ msgid ""
 "Please create manually the following folders:"
 msgstr ""
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr ""
 
@@ -5402,43 +5046,43 @@ msgstr ""
 msgid " , column "
 msgstr ""
 
-#: src/torrentlistctrl.cpp:44
-msgid "Numcopies"
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:48
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
 #, fuzzy
-msgid "MB downloaded"
-msgstr "Descarga falhada"
+msgid "Cancel torrent"
+msgstr "Cancelar"
 
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
+#: src/torrentlistctrl.cpp:173
+msgid "Retry torrent"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:56
-#, fuzzy
-msgid "Status"
-msgstr "Estado:"
-
-#: src/torrentlistctrl.cpp:60
-#, c-format
-msgid "% complete"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
-msgstr ""
+#: src/torrentlistctrl.cpp:264
+#, fuzzy
+msgid "not found"
+msgstr "Nenhum mapa encontrado"
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "Descarga completa"
+
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
 msgstr ""
 
 #: src/torrentoptionspanel.cpp:37
@@ -5507,11 +5151,11 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr ""
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr ""
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
@@ -5519,204 +5163,198 @@ msgstr ""
 "Registo com sucesso,\n"
 "agora deverá conseguir iniciar a sessão."
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr "Registo com sucesso"
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr "O registo falhou, a razão foi:\n"
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr ""
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr ""
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr ""
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr ""
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr ""
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr ""
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
 msgstr ""
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr ""
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
 msgstr ""
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
 msgstr ""
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr ""
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr ""
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
 "username."
 msgstr ""
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 msgid "  \"/part\" - Leaves current channel."
 msgstr ""
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 msgid "  \"/p\" - Alias to /part."
 msgstr ""
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr ""
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr ""
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr ""
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr ""
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr ""
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr ""
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
 msgstr ""
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr ""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr ""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr ""
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
 "\n"
 "Online play is currently disabled."
 msgstr ""
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 msgstr ""
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 msgid "Online play is currently disabled."
 msgstr ""
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 msgid "Disconnected from server."
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 #, fuzzy
 msgid "Connection failure"
 msgstr "Continuar"
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr ""
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr ""
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr ""
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr ""
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr ""
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
 "to play online."
 msgstr ""
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5724,32 +5362,70 @@ msgid ""
 "download finished"
 msgstr ""
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr ""
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr ""
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr ""
+
+#: src/ui.cpp:1242
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid "Notice"
+msgstr "Nenhum"
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+msgid "Import settings?"
+msgstr ""
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr ""
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr ""
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid ""
 "\n"
 "\n"
@@ -5757,52 +5433,48 @@ msgid ""
 "effect next you launch the lobby again."
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid "Not up to date"
 msgstr ""
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr ""
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
 msgstr ""
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 msgid ""
 "There was an error downloading for the latest version.\n"
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
+#: src/updater/updater.cpp:92
 #, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr ""
 
@@ -5927,16 +5599,16 @@ msgstr ""
 msgid "Unknown"
 msgstr ""
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr ""
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 #, fuzzy
 msgid "Add to group..."
 msgstr "Adicionar Robô"
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 #, fuzzy
 msgid "Remove from group"
 msgstr "Remover Conta de Utilizador"
@@ -6016,6 +5688,193 @@ msgstr ""
 #~ msgid "cpu"
 #~ msgstr "cpu"
 
+#~ msgid "Copy"
+#~ msgstr "Copiar"
+
+#~ msgid "Clear"
+#~ msgstr "Limpar"
+
+#~ msgid "Auto join this channel"
+#~ msgstr "Entrar automaticamente neste canal"
+
+#~ msgid "Display Join/Leave Messages"
+#~ msgstr "Mostrar Mensagens de Entrada/Saída"
+
+#~ msgid "Channel info"
+#~ msgstr "Informação do canal"
+
+#~ msgid "Set topic..."
+#~ msgstr "Definir tópico..."
+
+#~ msgid "Channel message..."
+#~ msgstr "Menssagem do canal..."
+
+#~ msgid "Lock..."
+#~ msgstr "Trancar..."
+
+#~ msgid "Register..."
+#~ msgstr "Registar..."
+
+#~ msgid "Unregister"
+#~ msgstr "Remover o Registo"
+
+#~ msgid "On"
+#~ msgstr "Ligado"
+
+#~ msgid "Off"
+#~ msgstr "Desligado"
+
+#~ msgid "Spam protection"
+#~ msgstr "Protecção de spam"
+
+#~ msgid "ChanServ"
+#~ msgstr "ChanServ"
+
+#~ msgid "Disconnect"
+#~ msgstr "Desligar"
+
+#~ msgid "Remove..."
+#~ msgstr "Remover..."
+
+#~ msgid "Change password..."
+#~ msgstr "Alterar senha..."
+
+#~ msgid "Set access..."
+#~ msgstr "Definir acesso..."
+
+#~ msgid "Accounts"
+#~ msgstr "Contas"
+
+#~ msgid "Admin"
+#~ msgstr "Admin"
+
+#, fuzzy
+#~ msgid "User"
+#~ msgstr "Silenciar Utilizador"
+
+#~ msgid "Open Chat"
+#~ msgstr "Abrir canal"
+
+#~ msgid "Join same battle"
+#~ msgstr "Entrar na mesma batalha"
+
+#~ msgid "Ingame time"
+#~ msgstr "Tempo de jogo"
+
+#~ msgid "Mute..."
+#~ msgstr "Silenciar..."
+
+#~ msgid "Mute for 5 minutes"
+#~ msgstr "Silenciar durante 5 minutos"
+
+#~ msgid "Mute for 10 minutes"
+#~ msgstr "Silenciar durante 10 minutos"
+
+#~ msgid "Mute for 30 minutes"
+#~ msgstr "Silenciar durante 30 minutos"
+
+#~ msgid "Mute for 2 hours"
+#~ msgstr "Silenciar durante 2 horas"
+
+#~ msgid "Mute for 1 day"
+#~ msgstr "Silenciar durante 1 dia"
+
+#~ msgid "Mute"
+#~ msgstr "Silenciar"
+
+#~ msgid "Kick..."
+#~ msgstr "Expulsar..."
+
+#~ msgid "Ban..."
+#~ msgstr "Banir..."
+
+#~ msgid "Unban"
+#~ msgstr "Desbanir"
+
+#~ msgid "ChanServ error"
+#~ msgstr "Erro do ChanServ"
+
+#~ msgid "ChanServ is not in this channel."
+#~ msgstr "O ChanServ não está neste canal"
+
+#~ msgid "What should be the new topic?"
+#~ msgstr "Qual deve ser o novo tópico?"
+
+#~ msgid "Message:"
+#~ msgstr "Mensagem:"
+
+#~ msgid "Lock channel..."
+#~ msgstr "Trancar canal..."
+
+#~ msgid "What should the new password be?"
+#~ msgstr "Qual deverá ser a nova senha?"
+
+#~ msgid "Unlock Channel"
+#~ msgstr "Destrancar canal"
+
+#~ msgid "Are you sure you want to unlock this channel?"
+#~ msgstr "Tem a certeza de que pretende destrancar este canal?"
+
+#~ msgid "ChanServ is not on this server."
+#~ msgstr "O ChanServ não está neste servidor."
+
+#~ msgid "Who should be appointed founder of this channel?"
+#~ msgstr "Quem deve ser indicado como fundador deste canal?"
+
+#~ msgid "Remove User Acount"
+#~ msgstr "Remover Conta de Utilizador"
+
+#~ msgid "What user account do you want to remove today?"
+#~ msgstr "Que conta de utilizador pretende remover hoje?"
+
+#~ msgid "Remove Account"
+#~ msgstr "Remover Conta"
+
+#~ msgid "Are you sure you want to remove the account "
+#~ msgstr "Tem a certeza que pretende remover a conta "
+
+#~ msgid "What user account do you want to change the password for?"
+#~ msgstr "De que conta de utilizador pretende mudar a senha?"
+
+#~ msgid "What would be the new password?"
+#~ msgstr "Qual deverá ser a nova senha?"
+
+#~ msgid "Not Implemented"
+#~ msgstr "Não Implementado"
+
+#~ msgid "You don't have the mod "
+#~ msgstr "Não possui o mod "
+
+#~ msgid " . Please download it first"
+#~ msgstr " . Por favor descarregue-o primeiro"
+
+#~ msgid "Mod unavailable"
+#~ msgstr "Mod não disponível"
+
+#~ msgid "This battle is password protected, enter the password."
+#~ msgstr "Esta batalha está protegida com palavra-chave, introduza-a."
+
+#~ msgid "Mute User"
+#~ msgstr "Silenciar Utilizador"
+
+#~ msgid "For how many minutes should the user be muted?"
+#~ msgstr "Por quantos minutos deverá o utilizador ser silenciado?"
+
+#~ msgid "Kick User"
+#~ msgstr "Expulsar Utilizador"
+
+#~ msgid "Reason:"
+#~ msgstr "Razão:"
+
+#~ msgid "Kick user"
+#~ msgstr "Expulsar utilizador"
+
+#~ msgid "Mute user"
+#~ msgstr "Silenciar utilizador"
+
+#~ msgid "Duration:"
+#~ msgstr "Duração:"
+
 #~ msgid "Test firewall"
 #~ msgstr "Testar a firewall"
 
@@ -6044,6 +5903,10 @@ msgstr ""
 #~ msgstr "Jogador:"
 
 #, fuzzy
+#~ msgid "MB downloaded"
+#~ msgstr "Descarga falhada"
+
+#, fuzzy
 #~ msgid "Choose color"
 #~ msgstr "Definir cor"
 
diff --git a/po/ro.gmo b/po/ro.gmo
index a7e56a4..68a3b67 100644
Binary files a/po/ro.gmo and b/po/ro.gmo differ
diff --git a/po/ro.po b/po/ro.po
index 40955fd..37644f4 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the springlobby package.
 # FIRST AUTHOR <EMAIL at ADDRESS>, 2008.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: springlobby\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2008-09-07 20:22+0000\n"
 "Last-Translator: Danut Haiduc <danuthaiduc at gmail.com>\n"
 "Language-Team: Romanian <ro at li.org>\n"
@@ -50,8 +50,8 @@ msgid "value"
 msgstr "Valoare"
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "Anulează"
 
@@ -104,7 +104,7 @@ msgstr "Aleatoare"
 msgid "Clans"
 msgstr "Clanuri"
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "Niciunul"
 
@@ -143,46 +143,46 @@ msgstr "Numărul jucătorilor"
 msgid "Auto select"
 msgstr "Reconectează"
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "OK"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "Descriere"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "Hartă"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr "Mod"
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "Gazdă"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "Spectatori:"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 #, fuzzy
 msgid "Players"
 msgstr "Jucători:"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "Hartă"
@@ -195,11 +195,11 @@ msgstr "Descarcă &harta"
 msgid "Download m&od"
 msgstr "Descarcă &mod-ul"
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "Spectatori:"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 #, fuzzy
 msgid "Active Players:"
 msgstr "Jucători:"
@@ -254,8 +254,8 @@ msgid "All"
 msgstr "Tot"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "Hartă:"
 
@@ -268,8 +268,8 @@ msgid "Max.Player:"
 msgstr "Max. Jucători:"
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr "Mod:"
 
@@ -281,15 +281,15 @@ msgstr "Doar mod-uri pe care le am"
 msgid "    Spectator:"
 msgstr "    Spectator:"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr "%d"
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "Jucători:"
 
@@ -320,37 +320,37 @@ msgstr "Găzduieşte nou..."
 msgid "Join"
 msgstr "Alătură-te"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, c-format
 msgid "%d battles displayed"
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 "Nu puteţi găzdui un joc cât timp sunteţi deconectat. Vă rog să vă conectaţi "
 "la un server."
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr "Nu este conectat."
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr ""
 "Găzduirea e dezactivată ca urmare a versiunii incompatibile de Spring "
 "folosită."
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr "Eroare Spring"
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
@@ -358,11 +358,11 @@ msgstr ""
 "Rulaţi deja o instanţă de Spring; închideţi-o pentru a putea găzdui un nou "
 "joc"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr "Sunteţi deja într-o luptă"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
@@ -372,7 +372,7 @@ msgstr ""
 "\n"
 "Doriţi să o părăsiţi şi să deschideţi una?"
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
@@ -382,7 +382,7 @@ msgstr ""
 " Testarea porturilor nu va funcţiona.\n"
 " Găzduirea poate să eşueze."
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
@@ -391,7 +391,7 @@ msgstr ""
 "Server-ul folosit pentru testarea portului %d este inaccesibil. \n"
 "Găzduirea poate să nu funcţioneze cu această setare."
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -409,17 +409,17 @@ msgstr ""
 "Dacă totul eşuează, activaţi opţiunea Hole Punching NAT Traversal\n"
 " din setările pentru găzduire."
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr ""
 "Lupta nu a fost pornită pentru că mod-ul pe care l-aţi ales nu poate fi "
 "găsit. "
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr "Eroare la pornirea luptei."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
@@ -427,11 +427,11 @@ msgstr ""
 "Nu pot găsi hărţi în instalaţia dvs. Spring. Acest lucru se poate întâmpla "
 "şi dacă nu aţi setat corect Spring."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "Nici o hartă găsită"
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
@@ -439,12 +439,12 @@ msgstr ""
 "Alăturarea la lupte e dezactivată deoarece aveţi o versiune incompatibilă de "
 "Spring."
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid "Already in this battle"
 msgstr "Sunteţi deja într-o luptă"
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid ""
 "You are already in this battle.\n"
@@ -455,12 +455,12 @@ msgstr ""
 "\n"
 "Doriţi să o părăsiţi şi să deschideţi una?"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid "Already in another battle"
 msgstr "Sunteţi deja într-o luptă"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid ""
 "You are already in a battle.\n"
@@ -471,7 +471,7 @@ msgstr ""
 "\n"
 "Doriţi să o părăsiţi şi să vă alăturaţi acesteia?"
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
@@ -479,11 +479,11 @@ msgstr ""
 "Rulaţi deja o instanţă de Spring; închideţi-o pentru a vă putea alătura "
 "altei lupte."
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr ""
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 #, fuzzy
 msgid ""
 "Should i try to download it for you?\n"
@@ -492,31 +492,31 @@ msgstr ""
 "Să încerc să descarc pentru dvs?\n"
 "Puteţi vedea progresul sub tab-ul \"Download Manager\""
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr "Mod indisponibil"
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr "Hartă indisponibilă"
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr "Parola luptei"
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr "Introduceţi parola"
 
@@ -526,45 +526,45 @@ msgid "Select"
 msgstr "Alege..."
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr "Opţiune"
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr "Valoare"
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr "Dimensiune"
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr "Viteza vântului"
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr "Puterea valurilor"
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr "Gravitaţie"
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr "Raza extractoarelor"
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr "Maxim de metal"
 
@@ -586,267 +586,267 @@ msgstr "Aleasă în joc"
 msgid "Startpositions"
 msgstr "Poziţii de început"
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr "Unităţi restricţionate"
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr "Unităţi permise"
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr "Unităţile din această listă vor fi disponibile în joc."
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 #, fuzzy
 msgid "Disable selected units."
 msgstr "Activează toate unităţile"
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 #, fuzzy
 msgid "Re-enable selected units."
 msgstr "Activează toate unităţile"
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr ""
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr "Activează toate unităţile"
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr "Unităţi restricţionate"
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr "Unităţile din această listă nu vor fi disponibile în joc."
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 #, fuzzy
 msgid "Unit restriction"
 msgstr "Unităţi restricţionate"
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr "Porecla"
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr "Echipă"
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr "Aliat"
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr "Bonus de resurse"
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr "Parte"
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr "Setează culoarea"
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr "Setează bonusul de resurse"
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr "Spectator"
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr "Kick"
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr "Sună"
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr "Vă rog introduceţi o valoare între 0 şi 100"
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 #, fuzzy
 msgid "AI (bot)\n"
 msgstr "Adaugă bot"
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 #, fuzzy
 msgid "Human\n"
 msgstr "Oman"
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 #, fuzzy
 msgid "Spectator\n"
 msgstr "Spectator"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 #, fuzzy
 msgid "Player\n"
 msgstr "Jucător:"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 #, fuzzy
 msgid "Host\n"
 msgstr "Gazdă"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 #, fuzzy
 msgid "Client\n"
 msgstr "Client"
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 #, fuzzy
 msgid "Ready\n"
 msgstr "ÃŽntotdeauna"
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 #, fuzzy
 msgid "Not ready\n"
 msgstr "Nu sunt gata"
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 #, fuzzy
 msgid "In sync"
 msgstr "Activează v-sync"
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 #, fuzzy
 msgid "Set name."
 msgstr "Setează acces..."
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr "Încarcă..."
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 #, fuzzy
 msgid "Load a saved set of options."
 msgstr "Încarcă un set salvat de restricţii."
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 #, fuzzy
 msgid "Save..."
 msgstr "Salvează..."
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 #, fuzzy
 msgid "Save a set of options."
 msgstr "Salvează un set de restricţii"
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 #, fuzzy
 msgid "Delete..."
 msgstr "Alege..."
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 #, fuzzy
 msgid "Delete a set of options."
 msgstr "Salvează un set de restricţii"
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 #, fuzzy
 msgid "Set default..."
 msgstr "implicit"
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 msgid "Mod Options"
 msgstr "Opţiuni mod"
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr "Opţiuni hartă"
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 #, fuzzy
 msgid "no options available"
 msgstr "indisponibil"
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr "eroare"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 #, fuzzy
 msgid "Delete preset"
 msgstr "Selectaţi"
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 #, fuzzy
 msgid "Set mod default preset"
 msgstr "implicit"
@@ -893,7 +893,7 @@ msgstr ""
 "O previzualizare a hărţii selectate. Puteţi vedea poziţiile de start, sau "
 "(dacă puse) zonele de start."
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr "Părăseşte"
 
@@ -901,7 +901,7 @@ msgstr "Părăseşte"
 msgid "Leave the battle and return to the battle list"
 msgstr "Părăseşte lupta şi întoarce-te la lista de lupte"
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr "Start"
 
@@ -1088,7 +1088,7 @@ msgstr ""
 msgid "Save"
 msgstr "Salvează..."
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 #, fuzzy
 msgid "Delete"
 msgstr "Selectaţi"
@@ -1169,7 +1169,7 @@ msgstr ""
 msgid "Find channel:"
 msgstr "Intră pe canal..."
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 #, fuzzy
 msgid "Choose channels to join"
 msgstr "Numele canalului"
@@ -1239,67 +1239,64 @@ msgstr ""
 "Nu pot deschide fiÅŸierul jurnal. \n"
 "Asiguraţi-vă că nu există protecţie la scriere.\n"
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr "Culori ÅŸi font"
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr "FoloseÅŸte culorile sistemului"
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr "Normal"
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr "Fundal"
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr "Acţiune"
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr "Evidenţiere"
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr "Intră/părăseşte"
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr "Mesajele mele"
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr "Server"
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr "Client"
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr "Eroare"
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr "Marcaj de timp"
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr "Notificare"
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 #, fuzzy
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
@@ -1316,329 +1313,139 @@ msgstr ""
 "[22:45] <Tip> o serios?\n"
 "[22:46] <Tip2> Poate ar fi mai bine altcumva, le mai editez io...\n"
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr "Font"
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr "implicit"
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr "Alege..."
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr "Comportament"
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr ""
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr "Jurnale de chat"
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr "Salvează jurnalele de chat"
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr "Evidențiază cuvinte"
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr "Cuvinte de evidențiat în chat:"
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr "introduceţi o listă separată prin \";\""
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr "În plus, sună avertizare/pâlpâie bara de titlu "
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr ""
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr "#"
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, fuzzy, c-format
 msgid "%d users"
 msgstr "(%d utilizatori)"
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr "click dreapta pentru opţiuni chat"
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr "Trimite"
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr ""
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr "Copiază"
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-msgid "Clear"
-msgstr "Curăţă"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr "Intră automat în acest canal"
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr "Arată mesaje de ieşire/intrare"
-
-#: src/chatpanel.cpp:433
-#, fuzzy
-msgid "Show mute list"
-msgstr "Arată ponturi"
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr "Informaţii canal"
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr "Setează subiect..."
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr "Mesajul canalului..."
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr "Blochează..."
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr "Deblochează"
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr "Înregistrează..."
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr "Ştergere înregistrare"
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr "Pornit"
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr "Oprit"
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr "E pornit?"
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr "Protecţie spam"
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr "ChanServ"
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr "Deconectează"
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr "Reconectează"
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr "Åžterge..."
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr "Schimbă parola..."
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr "Setează acces..."
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr "Conturi"
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr "Emite..."
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr "Administrator"
-
-#: src/chatpanel.cpp:510
-#, fuzzy
-msgid "User"
-msgstr "Muţeşte utilizator"
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr "Deschide chat"
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr "Intră în aceeaşi luptă"
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr "Timp în joc"
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr "Fă rost de IP şi Pitici"
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr "Muţeşte.."
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr "Muţeşte pentru 5 minute"
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr "Muţeşte pentru 10 minute"
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr "Muţeşte pentru 30 de minute"
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr "Muţeşte pentru 2 ore"
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr "Muţeşte pentru 1 zi"
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr "Dez-muţeşte"
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr "Muţeşte"
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr "Kick..."
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr "Ban..."
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr "Unban"
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr "Dă-i palmă!"
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr "Op"
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr "DeOp"
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr " !! Comandă: \""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr "\" parametri: \""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr "canal"
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr "luptă"
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr "server"
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr " a intrat în "
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr " a părăsit "
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 #, fuzzy
 msgid " ** Channel topic:"
 msgstr "Informaţii canal"
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 #, fuzzy
 msgid " ** Set by "
 msgstr ""
 "\n"
 " * Setată de "
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr "Chat închis."
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr "Sunteţi sigur că vreţi să introduceţi %d rânduri?"
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr "Atenţie: exces de mesaje"
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr " Aveţi SpringLobby v"
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr " Nu sunteţi în canal sau canalul nu există."
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
@@ -1647,178 +1454,29 @@ msgstr ""
 " Eroare: comanda (%s) nu există, folosiţi /help pentru o listă de comenzi "
 "disponibile."
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
 msgstr " Nu sunteţi în luptă sau lupta nu există."
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr " Utilizatorul e deconectat."
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr " Trimis: \""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr "\""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr "Eroare ChanServ"
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr "ChanServ nu e în acest canal."
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr "Care va fi subiectul nou?"
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr "Mesaj:"
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr "Blochează canalul..."
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr "Care va fi parola nouă?"
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr "Deblochează canalul"
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr "Sunteţi sigur că doriţi să deblocaţi acest canal?"
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr "ChanServ nu e pe acest server."
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr "Înregistrează canal"
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr "Cine va fi numit fondatorul canalului?"
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr "Canal neînregistrat"
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr "Sunteţi sigur că doriţi să dez-înregistraţi acest canal?"
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr "Åžterge cont utilizator"
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr "Ce cont de utilizator doreşti să ştergi în această zi minunată?"
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr "Åžterge cont"
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr "Sunteţi sigur că doriţi să ştergeţi contul "
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr "Schimbă parola contului de utilizator"
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr "Pentru ce cont doriţi să schimbaţi parola?"
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr "Care va fi noua parolă?"
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr "Nu a fost implementat"
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr "Emite mesaj"
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr "Mesajul de emis:"
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr "Nu aveţi modul "
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr " . Vă rugăm descărcaţi-l mai întâi."
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr "Mod indisponibil"
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr "Această luptă e parolată; introduceţi parola."
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr "Muţeşte utilizator"
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr "Pentru câte minute să fie muţit utilizatorul?"
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr "Kick Utilizator"
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr "Motiv:"
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr "Kick utilizator"
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr "Muţeşte utilizator"
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr "Durata:"
-
-#: src/chatpanel.cpp:1797
-#, fuzzy
-msgid "couldn't add user"
-msgstr "Nu pot lansa browser."
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr "Conectare la serverul lobby"
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
@@ -1826,20 +1484,20 @@ msgstr ""
 "Serverul la care să vă conectaţi. Puteţi să vă conectaţi la orice server "
 "doriţi scriind în formatul \"adresa:portul\"."
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr "Parola"
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr ""
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr "Auto-conectare data viitoare"
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
@@ -1847,37 +1505,38 @@ msgstr ""
 "ţine minte detaliile conexiunii şi se conectează automat la următoarea "
 "pornire a lobby-ului"
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
+#, fuzzy
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 "Notă: Dacă nu aveţi cont, vă\n"
 " puteţi înregistra pe gratis la\n"
 "tab-ul \"ÃŽnregistrare\""
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr "Conectare"
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr "ÃŽnregistrare"
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr "Poreclă"
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr "Port invalid."
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr "Port invalid"
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
@@ -1887,26 +1546,26 @@ msgstr ""
 "\n"
 "Trebuie să fie un întreg între 1 şi 65535"
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr "Gazdă/port invalidă."
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr "Gazdă invalidă"
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 #, fuzzy
 msgid "Invalid nickname"
 msgstr "Număr invalid"
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 #, fuzzy
 msgid ""
 "Registration failed, the reason was:\n"
@@ -1915,7 +1574,7 @@ msgstr ""
 "Înregistrare nereuşită, motiv:\n"
 "Parolă / confirmare non-identice"
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr "Înregistrare nereuşită."
 
@@ -2908,9 +2567,8 @@ msgid "Last generated spring launching script"
 msgstr "Ultimul script pentru Spring lansat"
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 #, fuzzy
 msgid "Name"
 msgstr "Joc"
@@ -3006,8 +2664,8 @@ msgstr "Găzduieşte luptă nouă"
 msgid "Notify when users of this group hosts a battle"
 msgstr ""
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr ""
 
@@ -3104,9 +2762,8 @@ msgstr ""
 "\n"
 "salvat cu sicces în:\n"
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 #, fuzzy
 msgid "Success"
 msgstr "Setează acces..."
@@ -3116,7 +2773,7 @@ msgstr "Setează acces..."
 msgid "Couldn't save file"
 msgstr "Nu pot salva\n"
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 #, fuzzy
 msgid "Default"
 msgstr "implicit"
@@ -3149,112 +2806,112 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr "Găzduieşte luptă nouă"
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr "O descriere scurtă a jocului, aceasta va apărea în lista de lupte."
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "Descriere"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr "Alegeţi mod-ul cu care să jucaţi."
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr ""
 "Parola necesară pentru joc. Lăsaţi necompletat pentru a nu avea parolă."
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr "Port"
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr "Portul de ascultare UDP pentru găzduire. Implicit: 8452"
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 #, fuzzy
 msgid "Randomly picks an available one"
 msgstr "indisponibil"
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr "Numărul jucătorilor"
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr "Numărul maxim de jucători permis în această luptă."
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr "Hole punching"
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr "Traversare NAT"
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 #, fuzzy
 msgid "NAT traversal to use."
 msgstr "Traversare NAT"
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr "Rang minim necesar"
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr "Începe găzduirea luptei."
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr "Trebuie să alegeţi un mod prima dată."
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr "Nici un mod ales."
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
@@ -3262,7 +2919,7 @@ msgstr ""
 "\n"
 "salvat cu sicces în:\n"
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 #, fuzzy
 msgid ""
 "\n"
@@ -3271,17 +2928,17 @@ msgstr ""
 "\n"
 "salvat cu sicces în:\n"
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr "Nu pot salva\n"
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
@@ -3289,75 +2946,75 @@ msgstr ""
 "\n"
 "la:\n"
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr "Navigator web"
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr "Navigator implicit"
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr "Foloseşte preferinţa de sistem pentru browser"
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr "Specificaţi:"
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr "Specifică browser-ul preferat"
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr "Răsfoiește"
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr "Foloseşte un dialog de căutare pentru a găsi executabilul"
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 msgid "Path"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 #, fuzzy
 msgid "Use a file dialog to find the editor binary"
 msgstr "Foloseşte un dialog de căutare pentru a găsi executabilul"
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 #, fuzzy
 msgid "Autoconnect"
 msgstr "Reconectează"
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 #, fuzzy
 msgid "Autoconnect on lobby start"
 msgstr "Conectare la serverul lobby"
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3366,76 +3023,76 @@ msgid ""
 "Uncheck to disable."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 #, fuzzy
 msgid "Tooltips"
 msgstr "&Unelte"
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 #, fuzzy
 msgid "Show Tooltips?"
 msgstr "Arată ponturi"
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
 "distance"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 #, fuzzy
 msgid "Match exact"
 msgstr "Prinde exceptii AI"
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 #, fuzzy
 msgid "Start tab"
 msgstr "Metal de început"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3448,7 +3105,7 @@ msgstr "Alegeţi executabilul unui navigator"
 msgid "Choose a editor browser executable"
 msgstr "Alegeţi executabilul unui navigator"
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 #, fuzzy
 msgid "Disconnected from server, chat closed."
 msgstr "Răspuns necunoscut de la server"
@@ -3457,128 +3114,112 @@ msgstr "Răspuns necunoscut de la server"
 msgid "Battle list"
 msgstr "Listă de lupte"
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr "Cameră de luptă"
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr "Opțiuni"
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 #, fuzzy
 msgid "Unit Restrictions"
 msgstr "Unităţi restricţionate"
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr "Spring"
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr "P2P"
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr "Chat"
 
-#: src/mainoptionstab.cpp:75
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
+msgid "Restore"
+msgstr "Restaurează"
+
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
+msgid "Apply"
+msgstr "Aplică"
+
+#: src/mainoptionstab.cpp:87
 #, fuzzy
 msgid "General"
 msgstr "Senegal"
 
-#: src/mainoptionstab.cpp:78
+#: src/mainoptionstab.cpp:90
 msgid "Groups"
 msgstr ""
 
-#: src/mainoptionstab.cpp:80
-msgid "Restore"
-msgstr "Restaurează"
-
-#: src/mainoptionstab.cpp:81
-msgid "Apply"
-msgstr "Aplică"
-
-#: src/mainsingleplayertab.cpp:41
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr "Joc"
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr "Total IeÅŸire: "
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr "Total Intrare: "
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr "necunoscut"
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr "Anulează Descărcarea"
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr "Publicaţi fişier nou"
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr "Caută fişier"
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 #, fuzzy
 msgid "Download Lua widgets"
 msgstr "Activează unelte LuaUI"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr "indisponibil"
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr "seeding"
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr ""
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr "la rând"
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr "Statut: deconectat"
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr "Statut: conectat"
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr ""
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr "Statut: necunoscut"
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr "Total IeÅŸire: %.2f KB/s"
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr "Total Intrare: %.2f KB/s"
@@ -3587,294 +3228,308 @@ msgstr "Total Intrare: %.2f KB/s"
 msgid "SpringLobby"
 msgstr "SpringLobby"
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr "&Conectare..."
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr "&Deconectare"
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 #, fuzzy
 msgid "&Save options"
 msgstr "Opţiuni UI"
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr "&Termină"
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+#, fuzzy
+msgid "&Save Layout"
+msgstr "Opţiuni UI"
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr "&Intrare pe canal..."
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 #, fuzzy
 msgid "Channel &list"
 msgstr "Informaţii canal"
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr "Deschide chat &privat"
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr ""
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr "&Reîncarcă hărţi/mod-uri"
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr "Verifică pentru Versiune nouă"
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr "SpringSettings"
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr "&Despre"
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 #, fuzzy
 msgid "&Change language"
 msgstr "Informaţii canal"
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr "&Raportează o problemă..."
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr "&Documentare"
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr "&FiÅŸier"
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+#, fuzzy
+msgid "&View"
+msgstr "&FiÅŸier"
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr "&Unelte"
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr "&Ajutor"
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 #, fuzzy
 msgid "Not connected"
 msgstr "Statut: conectat"
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr "Intră pe canal..."
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr "Numele canalului"
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr "Deschide chat privat..."
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr "Nume de utilizator"
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 "SpringLobby este un client independent de platformă pentru motorul RTS "
 "Spring."
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 #, fuzzy
 msgid "No files found"
 msgstr "Nici o hartă găsită"
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr "PorneÅŸte manual sistemul de torente"
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr "OpreÅŸte manual sistemul de torente"
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr ""
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr ""
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr ""
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr ""
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 #, fuzzy
 msgid "Which profile do you want to be default?"
 msgstr "Ce cont de utilizator doreşti să ştergi în această zi minunată?"
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr ""
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr ""
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 #, fuzzy
 msgid "Savegames"
 msgstr "Salvează..."
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 #, fuzzy
 msgid "Replays"
 msgstr "ÃŽntotdeauna"
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 #, fuzzy
 msgid "Downloads"
 msgstr "Descarcă"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr ""
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr "Reincarcă"
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr "Descarcă"
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr "parte:"
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr "aliat: %d"
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr "bonus: %d%%"
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 #, fuzzy
 msgid "Show"
 msgstr "Arată totul"
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 #, fuzzy
 msgid "Filter"
 msgstr "FiÅŸier"
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 #, fuzzy
 msgid "Map details"
 msgstr "Maxim de metal"
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 #, fuzzy
 msgid "Start positions"
 msgstr "Poziţii de început"
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 #, fuzzy
 msgid "Minimum wind"
 msgstr "Rang minim necesar"
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 #, fuzzy
 msgid "Average wind"
 msgstr "Mediu"
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 #, fuzzy
 msgid "Aspect ratio"
 msgstr "Spectator"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 #, fuzzy
 msgid "Number of start positions"
 msgstr "Poziţii de început"
@@ -3917,20 +3572,20 @@ msgstr "Unităţi restricţionate"
 msgid "Map name"
 msgstr ""
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 #, fuzzy
 msgid "Change option"
 msgstr "Opţiuni UI"
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr "s"
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr "Å£"
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr "r"
 
@@ -4000,34 +3655,34 @@ msgstr "Mărime fişier (MB)"
 msgid "Filesize in kilobyte"
 msgstr "Mărime fişier (MB)"
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr "FiÅŸier"
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "Încarcă..."
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "ÃŽntotdeauna"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "savegame"
 msgstr "Salvează..."
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 #, fuzzy
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr ""
@@ -4035,24 +3690,24 @@ msgstr ""
 "\n"
 "Jocul online va fi dezactivat."
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
 "version: %s\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -4061,18 +3716,18 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 #, fuzzy
 msgid "Invalid replay"
 msgstr "Port invalid"
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr ""
 
@@ -4089,95 +3744,95 @@ msgstr ""
 msgid "Select Users"
 msgstr "Selectaţi"
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 #, fuzzy
 msgid " is online"
 msgstr " Utilizatorul e deconectat."
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr ""
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr "OnUserStatus() eşuat ! (excepţie)"
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 #, fuzzy
 msgid " just went offline"
 msgstr " Utilizatorul e deconectat."
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 #, fuzzy
 msgid " opened battle "
 msgstr " a intrat în "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr "Intrare pe canal eşuată"
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr "Nu pot intra pe canalul "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr " deoarece: "
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr "Mesaj de la Server"
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr " are ip=%s"
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr " nu suportă, de fapt, nat traversal"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr "Ai fost dat afară din luptă!"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr "Dat afară de către gazdă"
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, fuzzy, c-format
 msgid "%s mutelist"
 msgstr "Listă de lupte"
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr ""
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr ""
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy
 msgid "Download update"
 msgstr "Descărcare completă"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -4188,7 +3843,7 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 #, fuzzy
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
@@ -4197,67 +3852,67 @@ msgstr ""
 "Dacă problema persistă, vă rugăm să o raportaţi folosind Ajutor -> Raportare "
 "problemă."
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 #, fuzzy
 msgid "Negotiation error"
 msgstr "Notificare"
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 #, fuzzy
 msgid "Invalid Value"
 msgstr "Număr invalid"
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 #, fuzzy
 msgid "No Handler"
 msgstr "Nu e număr"
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 #, fuzzy
 msgid "File doesn't exit"
 msgstr "Harta nu există."
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "ÃŽnceput"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 #, fuzzy
 msgid "Reconnection Error"
 msgstr "Reconectează"
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 #, fuzzy
 msgid "Unknown Error"
 msgstr "necunoscut"
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 #, fuzzy
 msgid "Download complete, location is: "
 msgstr "Descărcare completă"
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 #, fuzzy
 msgid "Download complete."
 msgstr "Descărcare completă"
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer. File location is: "
 msgstr "Nu pot lansa browser. URL-ul este: "
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer."
 msgstr "Nu pot lansa browser."
@@ -4965,74 +4620,74 @@ msgid "Save Spring settings before exiting?"
 msgstr "Salvez setările Spring înainte de a ieşi?"
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr "Confirmare necesară"
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr "SpringSettings (mod expert)"
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr "SpringSettings (mod simplu)"
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr "Salvare setări"
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr "Restaurare setări la valori implicite"
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr "Dezactivează avertizare pt. mod expert"
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr "IeÅŸire"
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr "Simplu (puţine opţiuni)"
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr "Expert (toate opţiunile)"
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr "Despre"
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr "Contact"
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr "Autori"
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr "Raportează o problemă"
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr "Mod"
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr "Info/Ajutor"
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr "Restaurează TOATE setările la valori implicite?"
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr "Sugestie"
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr "SpringSettings (mod expert)"
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -5057,7 +4712,7 @@ msgstr ""
 msgid "everyone reporting bugs/suggestions"
 msgstr "toată lumea care a contribuit sugestii / găsit probleme"
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5069,27 +4724,32 @@ msgstr ""
 "\n"
 "vă rugăm să activaţi wxUSE_DEBUGREPORT"
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr "Eroare critică"
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -5132,8 +4792,8 @@ msgstr "Setări de cale"
 msgid "Choose an unitsync library"
 msgstr "Alegeţi o cale către unitsync"
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr "Orice fiÅŸier"
 
@@ -5173,23 +4833,23 @@ msgstr "foarte ridicat"
 msgid "can't launch default browser"
 msgstr "nu pot lansa browser-ul implicit"
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr "Nu pot lansa browser. URL-ul este: "
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr "Nu pot lansa browser."
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr "Nu pot accesa setările.\n"
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr "Nu pot salva, unitsync nu este încărcat complet."
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr "Eroare SpringSettings"
 
@@ -5197,11 +4857,11 @@ msgstr "Eroare SpringSettings"
 msgid "Audio Options"
 msgstr "Opţiuni audio"
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr "Rezoluţie ecran"
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
@@ -5209,31 +4869,31 @@ msgstr ""
 "Dacă este necesară o placă video specială,\n"
 "va fi menţionată în indicaţie."
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr "Calitatea apei"
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr "Rezoluţia în bit"
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr "Opţiuni ale calităţii de afişare"
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr "Opţiuni ale modului video"
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr "Opţiuni Anti-Aliasing"
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr "Z-/Depth-Buffer"
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr ""
 
@@ -5331,7 +4991,7 @@ msgstr "Alte opţiuni interfaţă"
 msgid "Zoom"
 msgstr "Zoom"
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
@@ -5340,33 +5000,33 @@ msgstr ""
 " Treceţi cu mouse-ul peste ea pentru a putea schimba partea, alianţa şi "
 "bonusul."
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr "Adaugă bot..."
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 #, fuzzy
 msgid "Spectate only"
 msgstr "Spectator"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 #, fuzzy
 msgid "Random start positions"
 msgstr "Poziţii de început"
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr "-- Alegeţi unul --"
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr "Eroare la setarea jocului"
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr "Trebuie să alegeţi întâi o hartă."
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
@@ -5376,61 +5036,30 @@ msgstr ""
 " Jocul se va termina repede.\n"
 " "
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr "Nici un bot adăugat"
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr "Nu puteţi porni altă instanţă de Spring cât timp alta este pornită."
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
-msgstr "Salut, "
-
-#: src/springlobbyapp.cpp:168
-msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
-"\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
-".\n"
-"Se pare că aceasta este prima dată când folosiţi SpringLobby. Am găsit o "
-"configuraţie care ar trebui să funcţioneze, dar ar trebui verificată, în "
-"special configuraţia Spring. \n"
-"\n"
-"Când aţi terminat, conectaţi-vă la un server prin meniul Fişier, şi bucuraţi-"
-"vă de un joc bun de Spring :)"
 
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
-msgstr "Bine ați venit"
-
-#: src/springlobbyapp.cpp:172
+#: src/springlobbyapp.cpp:183
 msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
-msgstr ""
-
-#: src/springlobbyapp.cpp:172
-#, fuzzy
-msgid "Notice"
-msgstr "Niciunul"
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
+"\n"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:188
+#: src/springlobbyapp.cpp:183
 #, fuzzy
-msgid "Import settings?"
-msgstr "Setări de cale"
+msgid "Fatal error"
+msgstr "Eroare critică"
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5442,69 +5071,77 @@ msgstr ""
 "\n"
 "Vă rugăm obţineţi o bibliotecă wxWidgets care suportă wxUSE_DEBUGREPORT"
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 #, fuzzy
 msgid "Ignore chat"
 msgstr "Deschide chat"
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 #, fuzzy
 msgid "Battle Autokick"
 msgstr "Listă de lupte"
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 #, fuzzy
 msgid "Friends"
 msgstr "Găseşte"
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr "Executabilul Spring"
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr "Loc"
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr "Găseşte"
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr "Biblioteca UnitSync"
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr "Configurare automată"
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr "Alegeţi un executabil Spring"
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr "Bibliotecă"
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5535,7 +5172,7 @@ msgstr ""
 "Ceva a eşuat în crearea directoarelor\n"
 "Vă rog creaţi manual următoarele foldere:"
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr "Timp de conectare expirat"
 
@@ -5559,45 +5196,45 @@ msgstr ""
 msgid " , column "
 msgstr ""
 
-#: src/torrentlistctrl.cpp:44
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
+msgstr ""
+
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
 #, fuzzy
-msgid "Numcopies"
-msgstr "Numere"
+msgid "Cancel torrent"
+msgstr "Pauză toate torrent-ele"
 
-#: src/torrentlistctrl.cpp:48
+#: src/torrentlistctrl.cpp:173
 #, fuzzy
-msgid "MB downloaded"
-msgstr "MB trimiÅŸi"
+msgid "Retry torrent"
+msgstr "Restaurează"
 
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
-msgstr "MB trimiÅŸi"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
+msgstr ""
 
-#: src/torrentlistctrl.cpp:56
+#: src/torrentlistctrl.cpp:264
 #, fuzzy
-msgid "Status"
-msgstr "Stare:"
-
-#: src/torrentlistctrl.cpp:60
-#, c-format
-msgid "% complete"
-msgstr "% complet"
+msgid "not found"
+msgstr "Nici o hartă găsită"
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
-msgstr "KB/s sus"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
+msgstr "la rând"
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
-msgstr "KB/s jos"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
+msgstr ""
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
-msgstr "Timp estimat (s)"
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "% complet"
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
-msgstr "Mărime fişier (MB)"
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
+msgstr "seeding"
 
 #: src/torrentoptionspanel.cpp:37
 msgid "Torrent system autostart"
@@ -5666,11 +5303,11 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr "Auto porneÅŸte sistemul Torrent"
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr "Parola server-ului"
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
@@ -5678,80 +5315,72 @@ msgstr ""
 "ÃŽnregistrare cu succes.\n"
 "Ar trebui să vă puteţi conecta."
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr "ÃŽnregistrare cu succes."
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr "Înregistrare nereuşită, motivul a fost:\n"
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-"\n"
-"Calea navigatorului: "
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr "Eroare de help"
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr "Scrieţi /help într-o căsuţă de chat."
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr "Ajutor comenzi SpringLobby"
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr "Comenzi globale:"
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr "  \"/away\" - Setează statutul dvs. la \"away\" - absent"
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr "  \"/back\" - Revenire la normal (din \"away\")"
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
 msgstr ""
 "  \"/changepassword parolăveche parolănouă\" - Schimbă parola contului."
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr "  \"/channels\" - Arată canalele active"
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
 msgstr "  \"/help [subiect]\" - Arată informaţii despre o comandă."
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 #, fuzzy
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
 msgstr ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Intră într-un canal"
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr "  \"/j\" - la fel ca \"/join\""
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 #, fuzzy
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr "  \"/ingame\" - Arată cât timp aţi petrecut în joc."
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 #, fuzzy
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
@@ -5760,47 +5389,47 @@ msgstr ""
 "  \"/msg utilizator [text]\" - Trimite un mesaj privat cu textul text către "
 "utilizator."
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 #, fuzzy
 msgid "  \"/part\" - Leaves current channel."
 msgstr "  \"/channels\" - Arată canalele active"
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 #, fuzzy
 msgid "  \"/p\" - Alias to /part."
 msgstr "  \"/j\" - la fel ca \"/join\""
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr "  \"/rename newalias\" - Vă schimbă pseudonimul în newalias."
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 #, fuzzy
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr "  \"/sayver\" - Spune ce versiune de SpringLobby aveţi în chat."
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr "  \"/testmd5 text\" - Dă hash md5-b64 pentru textul dat."
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 #, fuzzy
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr "  \"/ver\" - Arată ce versiune de SpringLobby aveţi."
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr "Comenzi chat:"
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr "  \"/me acţiune\" - Spune mesaj de acţiune în stil IRC"
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
@@ -5808,21 +5437,21 @@ msgstr ""
 "Dacă vă lipsesc unele comenzi, duceţi-vă în #springlobby şi încercaţi "
 "acolo :)"
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr "Nu au fost scrise subiectele încă."
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr "Subiectul \""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr ""
 "\" nu a fost găsit. Încercaţi \"/help topics\" numai pentru subiectele "
 "existente."
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 #, fuzzy
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
@@ -5833,57 +5462,57 @@ msgstr ""
 "\n"
 "Jocul online va fi dezactivat."
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 msgstr ""
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 #, fuzzy
 msgid "Online play is currently disabled."
 msgstr "Jocul online va fi dezactivat."
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 #, fuzzy
 msgid "Disconnected from server."
 msgstr "Răspuns necunoscut de la server"
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 #, fuzzy
 msgid "Connection failure"
 msgstr "Timp de conectare expirat"
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr "nu sunt deschise panouri chat active."
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr "(%d utilizatori)"
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr "Mesaj server"
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr "Lupta a fost închisă de gazdă."
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr "Luptă închisă"
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
@@ -5892,15 +5521,15 @@ msgstr ""
 "Este probabil că setările dvs. Spring nu sunt corecte.\n"
 "Ar trebui să le verificaţi înainte de a juca online."
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr "Eroare setări Spring"
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5908,11 +5537,57 @@ msgid ""
 "download finished"
 msgstr ""
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr ""
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr "Salut, "
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+".\n"
+"Se pare că aceasta este prima dată când folosiţi SpringLobby. Am găsit o "
+"configuraţie care ar trebui să funcţioneze, dar ar trebui verificată, în "
+"special configuraţia Spring. \n"
+"\n"
+"Când aţi terminat, conectaţi-vă la un server prin meniul Fişier, şi bucuraţi-"
+"vă de un joc bun de Spring :)"
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr "Bine ați venit"
+
+#: src/ui.cpp:1242
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid "Notice"
+msgstr "Niciunul"
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+#, fuzzy
+msgid "Import settings?"
+msgstr "Setări de cale"
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
@@ -5923,15 +5598,15 @@ msgstr ""
 "Dacă problema persistă, vă rugăm să o raportaţi folosind Ajutor -> Raportare "
 "problemă."
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr "Versiunea dvs.: "
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr "Ultima versiune: "
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
@@ -5939,7 +5614,7 @@ msgstr ""
 "Versiunea dvs. SpringLobby nu e actualizată.\n"
 "\n"
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid ""
 "\n"
 "\n"
@@ -5947,26 +5622,22 @@ msgid ""
 "effect next you launch the lobby again."
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 #, fuzzy
 msgid "Not up to date"
 msgstr "Neactualizat"
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr "Neactualizat"
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
 msgstr ""
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 #, fuzzy
 msgid ""
 "There was an error downloading for the latest version.\n"
@@ -5978,11 +5649,11 @@ msgstr ""
 "Dacă problema persistă, vă rugăm să o raportaţi folosind Ajutor -> Raportare "
 "problemă."
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
+#: src/updater/updater.cpp:92
 #, fuzzy, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
@@ -5991,18 +5662,18 @@ msgstr ""
 "Dacă problema persistă, vă rugăm să o raportaţi folosind Ajutor -> Raportare "
 "problemă."
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr ""
 
@@ -6129,16 +5800,16 @@ msgstr "Veteran"
 msgid "Unknown"
 msgstr "necunoscut"
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr ""
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 #, fuzzy
 msgid "Add to group..."
 msgstr "Adaugă Bot..."
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 #, fuzzy
 msgid "Remove from group"
 msgstr "Åžterge cont utilizator"
@@ -6220,6 +5891,243 @@ msgstr ""
 #~ msgid "cpu"
 #~ msgstr "cpu"
 
+#~ msgid "Copy"
+#~ msgstr "Copiază"
+
+#~ msgid "Clear"
+#~ msgstr "Curăţă"
+
+#~ msgid "Auto join this channel"
+#~ msgstr "Intră automat în acest canal"
+
+#~ msgid "Display Join/Leave Messages"
+#~ msgstr "Arată mesaje de ieşire/intrare"
+
+#, fuzzy
+#~ msgid "Show mute list"
+#~ msgstr "Arată ponturi"
+
+#~ msgid "Channel info"
+#~ msgstr "Informaţii canal"
+
+#~ msgid "Set topic..."
+#~ msgstr "Setează subiect..."
+
+#~ msgid "Channel message..."
+#~ msgstr "Mesajul canalului..."
+
+#~ msgid "Lock..."
+#~ msgstr "Blochează..."
+
+#~ msgid "Unlock"
+#~ msgstr "Deblochează"
+
+#~ msgid "Register..."
+#~ msgstr "Înregistrează..."
+
+#~ msgid "Unregister"
+#~ msgstr "Ştergere înregistrare"
+
+#~ msgid "On"
+#~ msgstr "Pornit"
+
+#~ msgid "Off"
+#~ msgstr "Oprit"
+
+#~ msgid "Is on?"
+#~ msgstr "E pornit?"
+
+#~ msgid "Spam protection"
+#~ msgstr "Protecţie spam"
+
+#~ msgid "ChanServ"
+#~ msgstr "ChanServ"
+
+#~ msgid "Disconnect"
+#~ msgstr "Deconectează"
+
+#~ msgid "Remove..."
+#~ msgstr "Åžterge..."
+
+#~ msgid "Change password..."
+#~ msgstr "Schimbă parola..."
+
+#~ msgid "Set access..."
+#~ msgstr "Setează acces..."
+
+#~ msgid "Accounts"
+#~ msgstr "Conturi"
+
+#~ msgid "Broadcast..."
+#~ msgstr "Emite..."
+
+#~ msgid "Admin"
+#~ msgstr "Administrator"
+
+#, fuzzy
+#~ msgid "User"
+#~ msgstr "Muţeşte utilizator"
+
+#~ msgid "Open Chat"
+#~ msgstr "Deschide chat"
+
+#~ msgid "Join same battle"
+#~ msgstr "Intră în aceeaşi luptă"
+
+#~ msgid "Ingame time"
+#~ msgstr "Timp în joc"
+
+#~ msgid "Retrieve IP and Smurfs"
+#~ msgstr "Fă rost de IP şi Pitici"
+
+#~ msgid "Mute..."
+#~ msgstr "Muţeşte.."
+
+#~ msgid "Mute for 5 minutes"
+#~ msgstr "Muţeşte pentru 5 minute"
+
+#~ msgid "Mute for 10 minutes"
+#~ msgstr "Muţeşte pentru 10 minute"
+
+#~ msgid "Mute for 30 minutes"
+#~ msgstr "Muţeşte pentru 30 de minute"
+
+#~ msgid "Mute for 2 hours"
+#~ msgstr "Muţeşte pentru 2 ore"
+
+#~ msgid "Mute for 1 day"
+#~ msgstr "Muţeşte pentru 1 zi"
+
+#~ msgid "Unmute"
+#~ msgstr "Dez-muţeşte"
+
+#~ msgid "Mute"
+#~ msgstr "Muţeşte"
+
+#~ msgid "Kick..."
+#~ msgstr "Kick..."
+
+#~ msgid "Ban..."
+#~ msgstr "Ban..."
+
+#~ msgid "Unban"
+#~ msgstr "Unban"
+
+#~ msgid "Slap!"
+#~ msgstr "Dă-i palmă!"
+
+#~ msgid "Op"
+#~ msgstr "Op"
+
+#~ msgid "DeOp"
+#~ msgstr "DeOp"
+
+#~ msgid "ChanServ error"
+#~ msgstr "Eroare ChanServ"
+
+#~ msgid "ChanServ is not in this channel."
+#~ msgstr "ChanServ nu e în acest canal."
+
+#~ msgid "What should be the new topic?"
+#~ msgstr "Care va fi subiectul nou?"
+
+#~ msgid "Message:"
+#~ msgstr "Mesaj:"
+
+#~ msgid "Lock channel..."
+#~ msgstr "Blochează canalul..."
+
+#~ msgid "What should the new password be?"
+#~ msgstr "Care va fi parola nouă?"
+
+#~ msgid "Unlock Channel"
+#~ msgstr "Deblochează canalul"
+
+#~ msgid "Are you sure you want to unlock this channel?"
+#~ msgstr "Sunteţi sigur că doriţi să deblocaţi acest canal?"
+
+#~ msgid "ChanServ is not on this server."
+#~ msgstr "ChanServ nu e pe acest server."
+
+#~ msgid "Register Channel"
+#~ msgstr "Înregistrează canal"
+
+#~ msgid "Who should be appointed founder of this channel?"
+#~ msgstr "Cine va fi numit fondatorul canalului?"
+
+#~ msgid "Unregister Channel"
+#~ msgstr "Canal neînregistrat"
+
+#~ msgid "Are you sure you want to unregister this channel?"
+#~ msgstr "Sunteţi sigur că doriţi să dez-înregistraţi acest canal?"
+
+#~ msgid "Remove User Acount"
+#~ msgstr "Åžterge cont utilizator"
+
+#~ msgid "What user account do you want to remove today?"
+#~ msgstr "Ce cont de utilizator doreşti să ştergi în această zi minunată?"
+
+#~ msgid "Remove Account"
+#~ msgstr "Åžterge cont"
+
+#~ msgid "Are you sure you want to remove the account "
+#~ msgstr "Sunteţi sigur că doriţi să ştergeţi contul "
+
+#~ msgid "Change User Acount Password"
+#~ msgstr "Schimbă parola contului de utilizator"
+
+#~ msgid "What user account do you want to change the password for?"
+#~ msgstr "Pentru ce cont doriţi să schimbaţi parola?"
+
+#~ msgid "What would be the new password?"
+#~ msgstr "Care va fi noua parolă?"
+
+#~ msgid "Not Implemented"
+#~ msgstr "Nu a fost implementat"
+
+#~ msgid "Broadcast Message"
+#~ msgstr "Emite mesaj"
+
+#~ msgid "Message to be broadcasted:"
+#~ msgstr "Mesajul de emis:"
+
+#~ msgid "You don't have the mod "
+#~ msgstr "Nu aveţi modul "
+
+#~ msgid " . Please download it first"
+#~ msgstr " . Vă rugăm descărcaţi-l mai întâi."
+
+#~ msgid "Mod unavailable"
+#~ msgstr "Mod indisponibil"
+
+#~ msgid "This battle is password protected, enter the password."
+#~ msgstr "Această luptă e parolată; introduceţi parola."
+
+#~ msgid "Mute User"
+#~ msgstr "Muţeşte utilizator"
+
+#~ msgid "For how many minutes should the user be muted?"
+#~ msgstr "Pentru câte minute să fie muţit utilizatorul?"
+
+#~ msgid "Kick User"
+#~ msgstr "Kick Utilizator"
+
+#~ msgid "Reason:"
+#~ msgstr "Motiv:"
+
+#~ msgid "Kick user"
+#~ msgstr "Kick utilizator"
+
+#~ msgid "Mute user"
+#~ msgstr "Muţeşte utilizator"
+
+#~ msgid "Duration:"
+#~ msgstr "Durata:"
+
+#, fuzzy
+#~ msgid "couldn't add user"
+#~ msgstr "Nu pot lansa browser."
+
 #~ msgid "Test firewall"
 #~ msgstr "Testare firewall"
 
@@ -6231,6 +6139,9 @@ msgstr ""
 #~ msgid "Tab icons"
 #~ msgstr "Opţiuni hartă"
 
+#~ msgid "not available"
+#~ msgstr "indisponibil"
+
 #, fuzzy
 #~ msgid "Chose in game"
 #~ msgstr "Aleasă în joc"
@@ -6254,6 +6165,32 @@ msgstr ""
 #~ msgstr "Jucător:"
 
 #, fuzzy
+#~ msgid "MB downloaded"
+#~ msgstr "MB trimiÅŸi"
+
+#~ msgid "MB uploaded"
+#~ msgstr "MB trimiÅŸi"
+
+#~ msgid "KB/s up"
+#~ msgstr "KB/s sus"
+
+#~ msgid "KB/s down"
+#~ msgstr "KB/s jos"
+
+#~ msgid "ETA (s)"
+#~ msgstr "Timp estimat (s)"
+
+#~ msgid "Filesize (MB)"
+#~ msgstr "Mărime fişier (MB)"
+
+#~ msgid ""
+#~ "\n"
+#~ "Broser path is: "
+#~ msgstr ""
+#~ "\n"
+#~ "Calea navigatorului: "
+
+#, fuzzy
 #~ msgid "Choose color"
 #~ msgstr "Alegeţi un director"
 
diff --git a/po/ru.gmo b/po/ru.gmo
index 46eb423..210a726 100644
Binary files a/po/ru.gmo and b/po/ru.gmo differ
diff --git a/po/ru.po b/po/ru.po
index e78d17d..ba42be6 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the springlobby package.
 # FIRST AUTHOR <EMAIL at ADDRESS>, 2008.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: springlobby\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2008-09-14 02:04+0000\n"
 "Last-Translator: Keldar <cryptbeast at gmail.com>\n"
 "Language-Team: Russian <ru at li.org>\n"
@@ -50,8 +50,8 @@ msgid "value"
 msgstr "Значение"
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "Отмена"
 
@@ -104,7 +104,7 @@ msgstr "Случайные"
 msgid "Clans"
 msgstr "Кланы"
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "Отсутствует"
 
@@ -142,46 +142,46 @@ msgstr "Число игроков"
 msgid "Auto select"
 msgstr "Автосоединение"
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "Да"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "Описание"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "Карта"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr "Мод"
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "Сервер"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "Зрители:"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 #, fuzzy
 msgid "Players"
 msgstr "Игроки:"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "Карта"
@@ -194,11 +194,11 @@ msgstr "Скачать &карту"
 msgid "Download m&od"
 msgstr "Скачать м&од"
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "Зрители:"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 #, fuzzy
 msgid "Active Players:"
 msgstr "Игроки:"
@@ -253,8 +253,8 @@ msgid "All"
 msgstr "Все"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "Карта:"
 
@@ -267,8 +267,8 @@ msgid "Max.Player:"
 msgstr "Макс. количество игроков:"
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr "Мод:"
 
@@ -280,15 +280,15 @@ msgstr "Только имеющиеся у меня моды"
 msgid "    Spectator:"
 msgstr "    Зритель:"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr "%d"
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "Игроки:"
 
@@ -320,35 +320,35 @@ msgstr "Создать игру..."
 msgid "Join"
 msgstr "Войти"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, fuzzy, c-format
 msgid "%d battles displayed"
 msgstr "%u файлов показано"
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 "Вы не можете создать игру без подлючения к серверу. Пожалуйста подлючитесь "
 "сначала."
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr "Не подлючены."
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr "Ваша версия игры не подходит, и Вы не можете создавать игры."
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr "Ошибка в Spring"
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
@@ -356,11 +356,11 @@ msgstr ""
 "Spring уже запущен, пожалуйста закройте его перед тем как создавать новую "
 "игру"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr "Уже в игре"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
@@ -370,7 +370,7 @@ msgstr ""
 "\n"
 "Хотите покинуть текущее сражение и начать новое?"
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
@@ -380,7 +380,7 @@ msgstr ""
 " тестирование портов не поддерживается.\n"
 " Сервер может не работать."
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
@@ -389,7 +389,7 @@ msgstr ""
 "Сервер, используемый для тестирования Вашего порта %d недоступен. \n"
 "Сервер может не работать с этой установкой."
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -407,15 +407,15 @@ msgstr ""
 "Если ничего не помогает, включите Hole Punching NAT Traversal опцию при "
 "создании игры."
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr "Угра не могла быть начатой, потому что выбранный мод небыл найден. "
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr "Ошибка при начатии игры."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
@@ -423,23 +423,23 @@ msgstr ""
 "Не найдено карт в Вашем Spring'е. Возможно, причина в неверной настройке "
 "Spring'а."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "Нет карт"
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
 msgstr ""
 "Невозможен вход в сражения из-за несовместимости Вашей версии Spring'а."
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid "Already in this battle"
 msgstr "Уже в игре"
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid ""
 "You are already in this battle.\n"
@@ -450,12 +450,12 @@ msgstr ""
 "\n"
 "Хотите покинуть текущее сражение и начать новое?"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid "Already in another battle"
 msgstr "Уже в игре"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid ""
 "You are already in a battle.\n"
@@ -466,7 +466,7 @@ msgstr ""
 "\n"
 "Хотите выйти из текущего сражения и войти в это?"
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
@@ -474,11 +474,11 @@ msgstr ""
 "Spring уже запущен, так что сначала закройте его перед тем, как "
 "присоединятся к другим сражениям."
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr "Хотите ли посетить страницу закачек?"
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 #, fuzzy
 msgid ""
 "Should i try to download it for you?\n"
@@ -487,7 +487,7 @@ msgstr ""
 "Хотите попробовать скачать это?\n"
 "Вы можете следить за процессом на вкладке \"Закачки\"."
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
@@ -495,11 +495,11 @@ msgstr ""
 "Необходимо установить мод для входа в эту игру.\n"
 "\n"
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr "Мод не доступен"
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
@@ -507,15 +507,15 @@ msgstr ""
 "Необходимо установить карту для входа в эту игру.\n"
 "\n"
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr "Карта не доступна"
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr "Пароль сражения"
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr "Введите пароль"
 
@@ -525,45 +525,45 @@ msgid "Select"
 msgstr "Выбрать..."
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr "Параметр"
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr "Значение"
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr "Размер"
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr "Скорость ветра"
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr "Приливная сила"
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr "Гравитация"
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr "Радиус шахты"
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr "Макс. количество металла"
 
@@ -585,162 +585,162 @@ msgstr "Выбор в самой игре"
 msgid "Startpositions"
 msgstr "Начинающие позиции"
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr "Ограничения на войска"
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr "Разрешенные войска"
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr "Войска в этом списке будут доступны в игре."
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 #, fuzzy
 msgid "Disable selected units."
 msgstr "Отключить выбранные войска."
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 #, fuzzy
 msgid "Re-enable selected units."
 msgstr "Включить заново выбранные войска."
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr "<<"
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr "Разрешить все войска."
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr "Запрещённые войска"
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr "Войска в этом списке будут запрещены в игре."
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 #, fuzzy
 msgid "Unit restriction"
 msgstr "Ограничения на войска"
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr "Псевдоним"
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr "Команда"
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr "Союзник"
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr "Бонус ресурсов"
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr "Сторона"
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr "Выбрать цвет"
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr "Установить бонус для ресурсов"
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr "Наблюдатель"
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr "Выгнать"
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr "Позвонить"
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr "Пожалуйста, введите значение между 0 и 100"
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 #, fuzzy
 msgid "AI (bot)\n"
 msgstr "Добавить бота"
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 #, fuzzy
 msgid "Human\n"
 msgstr "Оман"
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 #, fuzzy
 msgid "Spectator\n"
 msgstr "Наблюдатель"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 #, fuzzy
 msgid "Player\n"
 msgstr "Игрок:"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 #, fuzzy
 msgid "Host\n"
 msgstr "Сервер"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 #, fuzzy
 msgid "Client\n"
 msgstr "Клиент"
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 #, fuzzy
 msgid "Ready\n"
 msgstr "Всегда"
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 #, fuzzy
 msgid "Not ready\n"
 msgstr "Не готов"
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 #, fuzzy
 msgid "In sync"
 msgstr "Включить верт. синхр."
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr "Введите имя"
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
@@ -748,70 +748,70 @@ msgstr ""
 "Пожалуйста, введите имя новой группы.\n"
 "После нажатия \"Да\" Вам надо будет настроить."
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr "Сохранённые настройки"
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 msgid "Set name."
 msgstr "Установить имя."
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr "Загрузка..."
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 #, fuzzy
 msgid "Load a saved set of options."
 msgstr "Загрузить сохранённые настройки."
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 #, fuzzy
 msgid "Save..."
 msgstr "Сохранить..."
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 #, fuzzy
 msgid "Save a set of options."
 msgstr "Сохранить настройки"
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 #, fuzzy
 msgid "Delete..."
 msgstr "Удалить..."
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 #, fuzzy
 msgid "Delete a set of options."
 msgstr "Удалить настройки"
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 #, fuzzy
 msgid "Set default..."
 msgstr "Сделать по умолчанию..."
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr "Использовать текущие настройки, как по умолчанию для мода."
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 msgid "Mod Options"
 msgstr "Настройки мода"
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr "Настройки карты"
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 #, fuzzy
 msgid "no options available"
 msgstr "недоступно"
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 #, fuzzy
 msgid ""
 "Cannot load an options set without a name\n"
@@ -820,40 +820,40 @@ msgstr ""
 "Невозможно удалить настройки без имени\n"
 "Пожалуйста, выберите настройки из списка и попробуйте снова."
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr "ошибка"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 #, fuzzy
 msgid "Enter preset name"
 msgstr "Введите имя"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 #, fuzzy
 msgid "Cannot save an options set without a name."
 msgstr ""
 "Невозможно загрузить настройки без имени\n"
 "Пожалуйста, выберите настройки из списка и попробуйте снова."
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 #, fuzzy
 msgid "Delete preset"
 msgstr "Удалить"
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 #, fuzzy
 msgid "Set mod default preset"
 msgstr "Сделать по умолчанию..."
@@ -901,7 +901,7 @@ msgstr ""
 "Предпросмотр выбранной карты. Вы можете увидеть начальные позиции или (если "
 "включено) или начальные зоны."
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr "Покинуть"
 
@@ -909,7 +909,7 @@ msgstr "Покинуть"
 msgid "Leave the battle and return to the battle list"
 msgstr "Покинуть сражение и вернуться к списку сражений"
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr "Начать"
 
@@ -1100,7 +1100,7 @@ msgstr "Загрузить настройки сражения"
 msgid "Save"
 msgstr "Сохранить..."
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 #, fuzzy
 msgid "Delete"
 msgstr "Удалить"
@@ -1184,7 +1184,7 @@ msgstr "Двойное нажатие для входа"
 msgid "Find channel:"
 msgstr "Найти канал:"
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 #, fuzzy
 msgid "Choose channels to join"
 msgstr "Выберите канал для входа"
@@ -1254,67 +1254,64 @@ msgstr ""
 "Ошибка открытия файла журнала. \n"
 "Убедитесь, что он не защищен от записи.\n"
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr "Цвета и шрифт"
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr "Использовать системные цвета"
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr "Нормальная"
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr "Фон"
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr "Действие"
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr "Подсветка"
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr "Войти/Уйти"
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr "Мои сообщения"
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr "Сервер"
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr "Клиент"
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr "Ошибка"
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr "Временная метка"
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr "Уведомление"
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 #, fuzzy
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
@@ -1331,328 +1328,139 @@ msgstr ""
 "[22:45] <Dude> Dude2: ты так думаешь?\n"
 "[22:46] <Dude2> Ну должен быть лудше, надо изменить его больше...\n"
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr "Шрифт:"
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr "по умолчанию"
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr "Выбрать..."
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr "Поведение"
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr "Играть звуки уведомлений"
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr "Журналы разговоров"
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr "Сохранить журналы разговоров"
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr "Подсвечивать слова"
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr "Слова для подсветки в разговоре:"
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr "введите ; разделённый список"
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr "Дополнительно играть звук/мерцать заголовком"
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr "канал_"
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr "#"
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, fuzzy, c-format
 msgid "%d users"
 msgstr "(%d игроков)"
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr "правое нажатие для настроек (напр., автовход)"
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr "Сказать"
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr ""
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr "Копировать"
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-msgid "Clear"
-msgstr "Очистить"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr "Автоматически присоединяться к каналу"
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr "Показывать сообщения прихода/ухода"
-
-#: src/chatpanel.cpp:433
-msgid "Show mute list"
-msgstr "Показать список молчания"
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr "Информация канала"
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr "Поставить заголовок..."
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr "Сообщение каналу..."
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr "Запереть..."
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr "Отпереть"
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr "Зарегистрировать..."
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr "Отменить регистрацию"
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr "Вкл."
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr "Выкл."
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr "Включено?"
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr "Защита от спама"
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr "ChanServ"
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr "Отсоединиться"
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr "Пересоединиться"
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr "Удалить..."
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr "Изменить пароль..."
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr "Установить доступ..."
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr "Аккаунты"
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr "Сказать всем..."
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr "Администратор"
-
-#: src/chatpanel.cpp:510
-#, fuzzy
-msgid "User"
-msgstr "Завставить молчать пользов."
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr "Открыть разговор"
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr "Присоединится к тому же сражению"
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr "Время, проведенное в игре"
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr "Узнать IP адреса и не настоящих новичков"
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr "Заставить молчать..."
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr "Молчание на 5 минут"
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr "Молчание на 10 минут"
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr "Молчание на 30 минут"
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr "Молчание на 2 часа"
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr "Молчание на 1 день"
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr "Снять молчание"
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr "Заставить молчать"
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr "Выгнать..."
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr "Запретить..."
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr "Снять запрет"
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr "Шлёпнуть!"
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr "Оператор"
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr "Снять оператора"
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr " !! Комманда: \""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr "\" параметры: \""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr "канал"
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr "сражение"
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr "сервер"
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr " присоединился к "
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr " ушел из "
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 #, fuzzy
 msgid " ** Channel topic:"
 msgstr "Информация канала"
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 #, fuzzy
 msgid " ** Set by "
 msgstr ""
 "\n"
 " * Установлено "
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr "Разговор закрыт."
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr "Вы уветены, что хотите вставить %d строк?"
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr "Предупреждение флуда"
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr " Ваш SpringLobby версии v"
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr " Вы не в канале, или етот канал не существует"
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
@@ -1661,7 +1469,7 @@ msgstr ""
 " Ошибка: Команда (%s) не существует, используйте /help для отображения "
 "списка доступных команд."
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
@@ -1669,171 +1477,23 @@ msgstr ""
 " Вы не в сражении, или такого сражения не существует, используите /help чтоб "
 "увидеть список возможных комманд"
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr " Пользователь отключен."
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr " Послано: \""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr "\""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr "Ошибка ChanServ"
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr "ChanServ не присутствует в этом канале."
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr "Какой должен быть новый заголовок?"
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr "Сообщение:"
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr "Запереть канал..."
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr "Какой новый пароль поставить?"
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr "Отпереть канал..."
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr "Вы уверены, что хотите открыть этот канал?"
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr "ChanServ не на сервере."
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr "Зарегестрировать канал"
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr "Кто должен быть основателем этого канала?"
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr "Отмена регистрации канала"
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr "Вы уверены, что хотите отменить регистрацию этого канала?"
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr "Удалить учетную запись"
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr "Какую учетную запись Вы хотите удалить?"
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr "Удалить аккаунт"
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr "Вы уверены вы хотите удалить аккаунт? "
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr "Изменить пароль"
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr "Пароль какой учетной записи вы хотите изменить?"
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr "Какой новый пароль?"
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr "Не реализовано"
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr "Сообщение всем"
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr "Сообщение всем:"
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr "У Вас нет мода"
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr " . Пожалуйста, установите сначала"
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr "Мод не доступен"
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr "Сражение под паролем, введите пароль:"
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr "Завставить молчать пользов."
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr "На сколько минут надо заставить молчать пользов.?"
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr "Выгнать пользов."
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr "Причина:"
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr "Выгнать пользов."
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr "Заставить молчать пользов."
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr "Продолжительность:"
-
-#: src/chatpanel.cpp:1797
-msgid "couldn't add user"
-msgstr "невозможно добавить пользов."
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr "Подлючится к серверу"
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
@@ -1841,20 +1501,20 @@ msgstr ""
 "Подключиться к серверу. Вы можете ввести адрес:порт сервера к которому "
 "хотите подключиться."
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr "Пароль"
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr "Запомнить пароль"
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr "Подключаться автоматически"
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
@@ -1862,37 +1522,38 @@ msgstr ""
 "запомнить установки подключения и подключиться к этому серверу автоматически "
 "при следующей загрузке лобби"
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
+#, fuzzy
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 "Примечание: если вы не зарегестрированы, то можете\n"
 " зарегестрироваться бесплатно на \n"
 "вкладке \"Регистрация\"."
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr "Войти"
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr "Зарегистрироваться"
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr "Псевдоним"
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr "Неверный порт."
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr "Неверный порт"
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
@@ -1902,15 +1563,15 @@ msgstr ""
 "\n"
 "Он должен быть целым числом между 1 и 65535"
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr "Неверный адрес/порт."
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr "Неверный адрес"
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
@@ -1918,12 +1579,12 @@ msgstr ""
 "Введённый псевдоним содержит неразрешённые символы: )? &%.\n"
 " Пожалуйста, попробуйте снова"
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 #, fuzzy
 msgid "Invalid nickname"
 msgstr "Неправильный псевдоним"
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 #, fuzzy
 msgid ""
 "Registration failed, the reason was:\n"
@@ -1932,7 +1593,7 @@ msgstr ""
 "Регистрация не удалась, причина:\n"
 "Пароль / подтверждение не совпадают (или пустой пароль)"
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr "Ошибка регистрации."
 
@@ -2925,9 +2586,8 @@ msgid "Last generated spring launching script"
 msgstr "Последний созданный script для запуска Spring'а"
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 #, fuzzy
 msgid "Name"
 msgstr "Имя"
@@ -3022,8 +2682,8 @@ msgstr "Уведомлять о создании сражений"
 msgid "Notify when users of this group hosts a battle"
 msgstr "Уведомлять, когда пользователи этой группы создают сражения"
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr "Пропускать личное"
 
@@ -3121,9 +2781,8 @@ msgstr ""
 "\n"
 "успешно сохранено в:\n"
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 msgid "Success"
 msgstr "Успешно"
 
@@ -3132,7 +2791,7 @@ msgstr "Успешно"
 msgid "Couldn't save file"
 msgstr "Невозможно сохранить\n"
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 #, fuzzy
 msgid "Default"
 msgstr "По умолчанию"
@@ -3166,111 +2825,111 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr "Создать новое сражение"
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr "Краткое описание игры, которое будет отображаться в списке сражений."
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "Описание"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 #, fuzzy
 msgid "Automatically write the battle description when a user joins."
 msgstr "Запирать сражение, когда оно начато, и отпирать, когда закончено."
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr "Выберите мод для игры."
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr "Пароль, необходимый для входа. Оставьте пустым, если нет"
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr "Порт"
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr "UDP порт для создания игры. По умолчанию 8452."
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 #, fuzzy
 msgid "Randomly picks an available one"
 msgstr "недоступно"
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr "Число игроков"
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr "Максимальное разрешённо количество игроков в сражении."
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr "Пробить дыру"
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr "NAT обход"
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 msgid "NAT traversal to use."
 msgstr "Использовать NAT обход."
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr "Минимальный требуемый уровень"
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr "Создать комнату сражения"
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr "Сначала выберите мод."
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr "Не выбран мод."
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
@@ -3278,7 +2937,7 @@ msgstr ""
 "\n"
 "успешно сохранено в:\n"
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 msgid ""
 "\n"
 "successfully unzipped in:\n"
@@ -3286,7 +2945,7 @@ msgstr ""
 "\n"
 "успешно распаковано в:\n"
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
@@ -3294,11 +2953,11 @@ msgstr ""
 "\n"
 " ошибка распаковки, пожалуйста, исправьте вручную"
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr "Невозможно сохранить\n"
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
@@ -3306,7 +2965,7 @@ msgstr ""
 "\n"
 "в:\n"
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
@@ -3314,72 +2973,72 @@ msgstr ""
 "\n"
 "Ошибка номер: "
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr "Веб браузер"
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr "Браузер по умолчанию"
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr "Исп. ваши системные настройки браузера"
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr "Точно"
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr "Определите точно Ваш браузер для использования"
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr "Просмотреть"
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr "Исп. файловый диалог для поиска веб браузера"
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 #, fuzzy
 msgid "Path"
 msgstr "Смотреть"
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 #, fuzzy
 msgid "Use a file dialog to find the editor binary"
 msgstr "Исп. файловый диалог для поиска веб браузера"
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 #, fuzzy
 msgid "Autoconnect"
 msgstr "Автосоединение"
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 "Если установлено, SpringLobby будет сразу заходить на последний "
 "использовавшийся сервер"
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 #, fuzzy
 msgid "Autoconnect on lobby start"
 msgstr "Подлючится к серверу"
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr "Сообщить статистику"
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3393,15 +3052,15 @@ msgstr ""
 "важных обновлениях.\n"
 "Уберите отметку для отключения."
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr "сообщить статистику"
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr "Автоматические обновления"
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
@@ -3409,28 +3068,28 @@ msgstr ""
 "SpringLobby при запуске может проверить доступность новой версииd и "
 "автоматически скачать его для Вас."
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr "автоматически проверить на обновления"
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 #, fuzzy
 msgid "Tooltips"
 msgstr "Подсказки"
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 msgid "Show Tooltips?"
 msgstr "Показывать подсказки?"
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr "Необходим перезапуск SpringLobby для работы настроек."
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr "Завершение через Tab"
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
@@ -3439,32 +3098,32 @@ msgstr ""
 "\"Точное совпадение\" будет заканчивать слово, только если нет вариантов.\n"
 "\"Приблизительное совпадение\" будет выбирать ближайшее совпадение"
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 msgid "Match exact"
 msgstr "Точное совпадение"
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr "Приблизительное совпадение"
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 #, fuzzy
 msgid "Start tab"
 msgstr "Начинающие количество металла"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3477,7 +3136,7 @@ msgstr "Выбрать исполняемый файл браузера"
 msgid "Choose a editor browser executable"
 msgstr "Выбрать исполняемый файл браузера"
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 #, fuzzy
 msgid "Disconnected from server, chat closed."
 msgstr "Неизвестный ответ от сервера"
@@ -3486,128 +3145,112 @@ msgstr "Неизвестный ответ от сервера"
 msgid "Battle list"
 msgstr "Список сражений"
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr "Комната сражения"
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr "Настройки"
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 #, fuzzy
 msgid "Unit Restrictions"
 msgstr "Ограничения на войска"
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr "Spring"
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr "P2P"
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr "Разговор"
 
-#: src/mainoptionstab.cpp:75
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
+msgid "Restore"
+msgstr "Восстановить"
+
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
+msgid "Apply"
+msgstr "Применить"
+
+#: src/mainoptionstab.cpp:87
 #, fuzzy
 msgid "General"
 msgstr "Главное"
 
-#: src/mainoptionstab.cpp:78
+#: src/mainoptionstab.cpp:90
 msgid "Groups"
 msgstr "Группы"
 
-#: src/mainoptionstab.cpp:80
-msgid "Restore"
-msgstr "Восстановить"
-
-#: src/mainoptionstab.cpp:81
-msgid "Apply"
-msgstr "Применить"
-
-#: src/mainsingleplayertab.cpp:41
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr "Игра"
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr "Передача: "
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr "Всего исходящих: "
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr "Всего входящих: "
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr "неизвестно"
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr "Отмена загрузки"
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr "Разместить файл"
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr "Поиск файла"
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 #, fuzzy
 msgid "Download Lua widgets"
 msgstr "Включить LuaUI фишки"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr "недоступно"
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr "раздача"
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr "получение"
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr "запрошено"
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr "Состояние: не подключен"
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr "Состояние: подключен"
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr "Статус: на паузе (в игре)"
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr "Статус: неизвестно"
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr "Исходящий всего: %.2f KB/s"
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr "Входящих всего: %.2f KB/s"
@@ -3616,294 +3259,308 @@ msgstr "Входящих всего: %.2f KB/s"
 msgid "SpringLobby"
 msgstr "SpringLobby"
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr "&Соединение"
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr "&Отсоединение"
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 #, fuzzy
 msgid "&Save options"
 msgstr "&Сохранить настройки"
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr "&Выйти"
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+#, fuzzy
+msgid "&Save Layout"
+msgstr "&Сохранить настройки"
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr "&Присоединится..."
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 #, fuzzy
 msgid "Channel &list"
 msgstr "Информация о канале"
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr "Открыт личный &разговор..."
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr "Автовход на каналы..."
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr "&Перезагрузить карты/моды"
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr "Найти новую версию SpringLobby"
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr "Настройка Spring"
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr "&О программе"
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 #, fuzzy
 msgid "&Change language"
 msgstr "Имя канала"
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr "&Сообщить об ошибке..."
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr "&Документация"
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr "&Файл"
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+#, fuzzy
+msgid "&View"
+msgstr "&Файл"
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr "&Сервис"
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr "&Справка"
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr "Вам нужно присоединиться к серверу для просмотра списка каналов"
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 #, fuzzy
 msgid "Not connected"
 msgstr "Не подключено"
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr "Присоединится к каналу..."
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr "Имя канала для присоединения"
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr "Начать личный разговор..."
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr "Имя пользователя"
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 #, fuzzy
 msgid "No files found"
 msgstr "Нет карт"
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr "&Запустить систему потоков (torrents)"
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr "&Остановить систему потоков (torrents)"
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 #, fuzzy
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr "Необходим перезапуск SpringLobby для работы настроек."
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr ""
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr ""
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 #, fuzzy
 msgid "Enter a profile name"
 msgstr "Введите имя"
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr ""
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 #, fuzzy
 msgid "Which profile do you want to be default?"
 msgstr "Какую учетную запись Вы хотите удалить?"
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr "Многопользов. игра"
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr "Одиночная игра"
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 #, fuzzy
 msgid "Savegames"
 msgstr "Сохранить..."
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 #, fuzzy
 msgid "Replays"
 msgstr "Всегда"
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 #, fuzzy
 msgid "Downloads"
 msgstr "Скачать"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr "Металл: %.1f%%"
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr "Обновить"
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr "Скачать"
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr "сторона:"
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr "союз:   %d"
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr "бонус: %d%%"
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 #, fuzzy
 msgid "Show"
 msgstr "Показать всё"
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 #, fuzzy
 msgid "Filter"
 msgstr " Отсеивание "
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 #, fuzzy
 msgid "Map details"
 msgstr "Макс. количество металла"
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 #, fuzzy
 msgid "Start positions"
 msgstr "Начинающие позиции"
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 #, fuzzy
 msgid "Minimum wind"
 msgstr "Минимальный требуемый уровень"
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 #, fuzzy
 msgid "Average wind"
 msgstr "Средний"
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 #, fuzzy
 msgid "Aspect ratio"
 msgstr "Наблюдатель"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 #, fuzzy
 msgid "Number of start positions"
 msgstr "Случайные стартовые позиции"
@@ -3946,20 +3603,20 @@ msgstr "Список ограничений на войска"
 msgid "Map name"
 msgstr "Имя карты"
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 #, fuzzy
 msgid "Change option"
 msgstr "&Сохранить настройки"
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr "с"
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr "ц"
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr "Ñ€"
 
@@ -4027,38 +3684,38 @@ msgstr "Размер файла"
 msgid "Filesize in kilobyte"
 msgstr "Размер файла в KB:"
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr "Файл"
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr "Смотреть"
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "Загрузка..."
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr "Обновить список"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "Всегда"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "savegame"
 msgstr "Сохранить..."
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr "Невозможно проверить версию Spring'а через unitsync библиотеку."
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, fuzzy, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
@@ -4066,11 +3723,11 @@ msgid ""
 msgstr ""
 "Не найдено совместимых версий Spring'а, этот сервер требует версию: %s\n"
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr "Ваши текущие версии:"
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
 "\n"
@@ -4078,7 +3735,7 @@ msgstr ""
 "Вам необходимо иметь мод для просмотра этого повтора.\n"
 "\n"
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -4087,18 +3744,18 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 #, fuzzy
 msgid "Invalid replay"
 msgstr "Неверный порт"
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr "Невозможно удалить повтор: "
 
@@ -4115,95 +3772,95 @@ msgstr "Введите текст для отсеивания пользоват
 msgid "Select Users"
 msgstr "Выберите пользователей"
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 #, fuzzy
 msgid " is online"
 msgstr " в сети"
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr " сейчас "
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr "OnUserStatus() failed ! (exception)"
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 #, fuzzy
 msgid " just went offline"
 msgstr " только что ушёл"
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 #, fuzzy
 msgid " opened battle "
 msgstr " присоединился к "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr "Неудачный вход на канал"
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr "Невозможно войти на канал"
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr " ,потому что: "
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr "Сообщение сервера"
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr " имел ip=%s"
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr " не поддерживает NAT обход"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr "Вас выгнали из сражения!"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr "Был выгнан сервером"
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr "Начать список молчания для "
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, fuzzy, c-format
 msgid "%s mutelist"
 msgstr "список молчания"
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr " осталось неизвестно времени"
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr " %d минут осталось"
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr "Завершить список молчания для "
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy
 msgid "Download update"
 msgstr "Закачка завершена"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -4214,7 +3871,7 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 #, fuzzy
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
@@ -4223,67 +3880,67 @@ msgstr ""
 "Если проблема повторится, пожалуйста, возпользуйтесь меню Помощь->Сообщить "
 "об ошибке для сообщения об этой ошибке."
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 #, fuzzy
 msgid "Negotiation error"
 msgstr "Уведомление"
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 #, fuzzy
 msgid "Invalid Value"
 msgstr "Неправильное число"
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 #, fuzzy
 msgid "No Handler"
 msgstr "Это не число"
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 #, fuzzy
 msgid "File doesn't exit"
 msgstr "Нет такой карты."
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "Включено"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 #, fuzzy
 msgid "Reconnection Error"
 msgstr "Пересоединиться"
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 #, fuzzy
 msgid "Unknown Error"
 msgstr "неизвестно"
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 #, fuzzy
 msgid "Download complete, location is: "
 msgstr "Закачка завершена"
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 #, fuzzy
 msgid "Download complete."
 msgstr "Закачка завершена"
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer. File location is: "
 msgstr "Невозможно запустить браузер. URL адрес: "
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer."
 msgstr "Невозможно запустить браузер"
@@ -4992,74 +4649,74 @@ msgid "Save Spring settings before exiting?"
 msgstr "Сохранить настройки Spring'а перед выходом?"
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr "Необходимо подтверждение"
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr "Настройки Spring'а (режим эксперта)"
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr "Настройки Spring'а (простой режим)"
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr "Созранить настройки"
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr "Сбросить значения настроек"
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr "Отключить предупреждение режима эксперта"
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr "Выход"
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr "Просто (мало опций)"
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr "Эксперт (все опции"
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr "О программе"
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr "Связь"
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr "Авторы"
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr "Сообщить об ошибке"
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr "Режим"
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr "Инфо/Помощь"
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr "Сбросить все настройки?"
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr "Подсказка"
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr "Настройки Spring'а (режим эксперта)"
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -5082,7 +4739,7 @@ msgstr "спасибо за приглашение, использование 
 msgid "everyone reporting bugs/suggestions"
 msgstr "все сообщаю ошибки/предложения"
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5094,27 +4751,32 @@ msgstr ""
 "\n"
 "пожалуйста, включите wxUSE_DEBUGREPORT"
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr "Главная ошибка"
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -5157,8 +4819,8 @@ msgstr "Настройка пути"
 msgid "Choose an unitsync library"
 msgstr "Выберите библиотеку unitsync"
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr "Любой файл"
 
@@ -5198,23 +4860,23 @@ msgstr "очень высоко"
 msgid "can't launch default browser"
 msgstr "невозможно запустить стандартный браузер"
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr "Невозможно запустить браузер. URL адрес: "
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr "Невозможно запустить браузер"
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr "Невозможно получить доступ к Вашим настройкам.\n"
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr "Невозможно сохранить, т.к. unitsync не загружен"
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr "Ошибка настроек Spring'а"
 
@@ -5222,41 +4884,41 @@ msgstr "Ошибка настроек Spring'а"
 msgid "Audio Options"
 msgstr "Настройки звука"
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr "Разрешение экрана"
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr "Качество воды"
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr "Разрешение"
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr "Настройки качество отображения"
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr "Настройки режима видео"
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr "Настройки Anti-Aliasing"
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr "Z-/Глубина-Буфер"
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr "Bump-mapped вода"
 
@@ -5362,7 +5024,7 @@ msgstr "Разное. UI настройки"
 msgid "Zoom"
 msgstr "Приближение"
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
@@ -5370,33 +5032,33 @@ msgstr ""
 "Вы можете разместить значок солнце/бота на определённом месте появления.\n"
 " Наведите на значок для появления окна и настройки стороны, союза и бонуса."
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr "Добавить бота"
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 #, fuzzy
 msgid "Spectate only"
 msgstr "Наблюдатель"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 #, fuzzy
 msgid "Random start positions"
 msgstr "Случайные стартовые позиции"
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr "-- Выберите --"
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr "Ошибка настроек игры"
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr "Сначала выберите карту."
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
@@ -5406,64 +5068,30 @@ msgstr ""
 " Игра завершится очень быстро.\n"
 " "
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr "Нет ботов"
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr "Вы не можете запустить Spring, пока запущен другой"
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
-msgstr "Привет "
-
-#: src/springlobbyapp.cpp:168
-msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
-"\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
-",\n"
-"Похоже это Ваше первое время со SpringLobby. Я полагаю настройки, которые, "
-"как мне кажется, будут работать у Вас, но Вы должны проверить их, особенно "
-"настроки Spring'а. \n"
-"\n"
-"Когда Вы завершите, Вы можете идти в меню Файл, соединиться с сервером и "
-"получать удовольствие от классной игры в Spring :)"
 
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
-msgstr "Добро пожаловать"
-
-#: src/springlobbyapp.cpp:172
-#, fuzzy
+#: src/springlobbyapp.cpp:183
 msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
-msgstr ""
-"По умолчанию SpringLobby сообщает некоторую статистику.?\n"
-"Вы можете отключить это в закладке настроек --> Главные."
-
-#: src/springlobbyapp.cpp:172
-#, fuzzy
-msgid "Notice"
-msgstr "Замечание"
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
+"\n"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:188
+#: src/springlobbyapp.cpp:183
 #, fuzzy
-msgid "Import settings?"
-msgstr "Настройка пути"
+msgid "Fatal error"
+msgstr "Главная ошибка"
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5476,69 +5104,77 @@ msgstr ""
 "пожалуйста, возьмите wxWidgets библиотеку, которая поддерживает "
 "wxUSE_DEBUGREPORT"
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 #, fuzzy
 msgid "Ignore chat"
 msgstr "Пропускать разговор"
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 #, fuzzy
 msgid "Battle Autokick"
 msgstr "Сразу выгнать"
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 #, fuzzy
 msgid "Friends"
 msgstr "Найти"
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr "Исполняемые Spring'а"
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr "Местоположение"
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr "Найти"
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr "UnitSync библиотека"
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr "Авто настройка"
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr "Выбрать исполняемый Spring'а"
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr "Библиотека"
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr "Выбрать UnitSync библиотеку"
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5571,7 +5207,7 @@ msgstr ""
 "Что-то происзошло не так при создании папок\n"
 "Пожалуйста, создайте вручную следующие папки:"
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr "Время ожидания для соединения истекло"
 
@@ -5595,45 +5231,45 @@ msgstr "линия"
 msgid " , column "
 msgstr " , столбец "
 
-#: src/torrentlistctrl.cpp:44
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
+msgstr ""
+
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
 #, fuzzy
-msgid "Numcopies"
-msgstr "число копий"
+msgid "Cancel torrent"
+msgstr "Остановить все потоки"
 
-#: src/torrentlistctrl.cpp:48
+#: src/torrentlistctrl.cpp:173
 #, fuzzy
-msgid "MB downloaded"
-msgstr "MB скачано"
+msgid "Retry torrent"
+msgstr "Восстановить"
 
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
-msgstr "MB загружено"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
+msgstr ""
 
-#: src/torrentlistctrl.cpp:56
+#: src/torrentlistctrl.cpp:264
 #, fuzzy
-msgid "Status"
-msgstr "Статус:"
-
-#: src/torrentlistctrl.cpp:60
-#, fuzzy, c-format
-msgid "% complete"
-msgstr "Закачка завершена"
+msgid "not found"
+msgstr "Нет карт"
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
-msgstr "KB/s ушло"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
+msgstr "запрошено"
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
-msgstr "KB/s пришло"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
+msgstr "получение"
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
-msgstr "осталось (сек.)"
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "Закачка завершена"
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
-msgstr "Размер файла (MB)"
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
+msgstr "раздача"
 
 #: src/torrentoptionspanel.cpp:37
 msgid "Torrent system autostart"
@@ -5703,11 +5339,11 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr "Ошибка системы потоков"
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr "Пароль сервера"
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
@@ -5715,47 +5351,39 @@ msgstr ""
 "Регистрация прошла успешно,\n"
 "теперь вы можете подключиться."
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr "Регистрация прошла успешно!"
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr "Регистрация не удалась, причина:\n"
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-"\n"
-"Пусть просмотра: "
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr "Ошибка помощи"
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr "Введите /help в строке разговора."
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr "SpringLobby помощь по командам."
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr "Общие команды:"
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr "  \"/away\" - Ставит Ваш статус как \"отошёл\","
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr "  \"/back\" - Отменяет статус \"отошёл\","
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
@@ -5763,11 +5391,11 @@ msgstr ""
 "  \"/changepassword oldpassword newpassword\" - Меняет текущий пароль "
 "аккаунта."
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr "  \"/channels\" - Показывает все каналы."
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
@@ -5775,23 +5403,23 @@ msgstr ""
 "  \"/help [topic]\" - Вставьте заголовок (topic), если Вы хотите более "
 "детальную информацию об этой команде."
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 #, fuzzy
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
 msgstr ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Зайти на канал."
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr "  \"/j\" - Тоже, что и /join."
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 #, fuzzy
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr "  \"/ingame\" - Показывает, как много часов Вы были в игре."
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 #, fuzzy
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
@@ -5800,50 +5428,50 @@ msgstr ""
 "  \"/msg username [text]\" - послать личное сообщение, содержащее текст "
 "(text) для пользователя (username)."
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 #, fuzzy
 msgid "  \"/part\" - Leaves current channel."
 msgstr "  \"/channels\" - Показывает все каналы."
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 #, fuzzy
 msgid "  \"/p\" - Alias to /part."
 msgstr "  \"/j\" - Тоже, что и /join."
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr ""
 "  \"/rename newalias\" - Меняет Ваш текущий псевдоним (nickname) на новый "
 "(newalias)."
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 #, fuzzy
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr "  \"/sayver\" - Сказать версию Вашего springlobby в разговоре."
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr ""
 "  \"/testmd5 text\" - Сообщает md5-b64 содержимое введённого текста (text)."
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 #, fuzzy
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr "  \"/ver\" - Показывает версию Вашего SpringLobby."
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr "Команды разговора:"
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr "  \"/me action\" - Сказать о действии в стиле IRC."
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
@@ -5851,20 +5479,20 @@ msgstr ""
 "Если Вы потеряли какие-то команды, идите на #springlobby и попробуйте ввеси "
 "их там :)"
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr "Не введён заголовок."
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr "Заголовок \""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr ""
 "\" не был найден. Вводите \"/help topics\" только для доступных заголовков."
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
 "\n"
@@ -5874,7 +5502,7 @@ msgstr ""
 "\n"
 "Игра с другими будет недоступна."
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
@@ -5882,50 +5510,50 @@ msgid ""
 msgstr ""
 "Не найдено совместимых версий Spring'а, этот сервер требует версию: %s\n"
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 #, fuzzy
 msgid "Online play is currently disabled."
 msgstr "Игра в интернет отключена."
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 #, fuzzy
 msgid "Disconnected from server."
 msgstr "Неизвестный ответ от сервера"
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 #, fuzzy
 msgid "Connection failure"
 msgstr "Время ожидания для соединения истекло"
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr "нет открытых работающих вкладок разговора"
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr "(%d игроков)"
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr "Сообщение сервера"
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr "Сражение было закрыто сервером."
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr "Сражение закрыто"
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
@@ -5935,15 +5563,15 @@ msgstr ""
 "Вы должны проверить Ваши настройки перет тем, как попробовать\n"
 "играть с другими."
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr "Ошибка в настройках Spring'а"
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5951,11 +5579,60 @@ msgid ""
 "download finished"
 msgstr ""
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr ""
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr "Привет "
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+",\n"
+"Похоже это Ваше первое время со SpringLobby. Я полагаю настройки, которые, "
+"как мне кажется, будут работать у Вас, но Вы должны проверить их, особенно "
+"настроки Spring'а. \n"
+"\n"
+"Когда Вы завершите, Вы можете идти в меню Файл, соединиться с сервером и "
+"получать удовольствие от классной игры в Spring :)"
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr "Добро пожаловать"
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+"По умолчанию SpringLobby сообщает некоторую статистику.?\n"
+"Вы можете отключить это в закладке настроек --> Главные."
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid "Notice"
+msgstr "Замечание"
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+#, fuzzy
+msgid "Import settings?"
+msgstr "Настройка пути"
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
@@ -5966,15 +5643,15 @@ msgstr ""
 "Если проблема повторится, пожалуйста, возпользуйтесь меню Помощь->Сообщить "
 "об ошибке для сообщения об этой ошибке."
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr "Ваша версия: "
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr "Новейшая версия: "
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
@@ -5982,7 +5659,7 @@ msgstr ""
 "Версия Вашего SpringLobby не обновлена.\n"
 "\n"
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 #, fuzzy
 msgid ""
 "\n"
@@ -5995,20 +5672,16 @@ msgstr ""
 "Хотите скачать новую версию? Это будет автоматически сделано при следующем "
 "запуске SpringLobby."
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 #, fuzzy
 msgid "Not up to date"
 msgstr "Не обновлено"
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr "Не обновлено"
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
@@ -6017,7 +5690,7 @@ msgstr ""
 "Пожалуйста обновите вручную или включите разрешение к записи для текущего "
 "пользователя."
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 msgid ""
 "There was an error downloading for the latest version.\n"
 "Please try again later.\n"
@@ -6028,11 +5701,11 @@ msgstr ""
 "Если проблема повторится, пожалуйста, возпользуйтесь меню Помощь->Сообщить "
 "об ошибке для сообщения об этой ошибке."
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
-#, c-format
+#: src/updater/updater.cpp:92
+#, fuzzy, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
@@ -6042,18 +5715,18 @@ msgstr ""
 "Пожалуйста, возпользуйтесь меню Помощь->Сообщить об ошибке для сообщения об "
 "этой ошибке."
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr "Обновление завершено. Изменения вступят в силу после перезапуска."
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr ""
 
@@ -6183,16 +5856,16 @@ msgstr "Ветеран"
 msgid "Unknown"
 msgstr "неизвестно"
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr "Создать группу..."
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 #, fuzzy
 msgid "Add to group..."
 msgstr "Добавить в группу..."
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 #, fuzzy
 msgid "Remove from group"
 msgstr "Удалить из группы"
@@ -6274,6 +5947,241 @@ msgstr ""
 #~ msgid "cpu"
 #~ msgstr "ЦП"
 
+#~ msgid "Copy"
+#~ msgstr "Копировать"
+
+#~ msgid "Clear"
+#~ msgstr "Очистить"
+
+#~ msgid "Auto join this channel"
+#~ msgstr "Автоматически присоединяться к каналу"
+
+#~ msgid "Display Join/Leave Messages"
+#~ msgstr "Показывать сообщения прихода/ухода"
+
+#~ msgid "Show mute list"
+#~ msgstr "Показать список молчания"
+
+#~ msgid "Channel info"
+#~ msgstr "Информация канала"
+
+#~ msgid "Set topic..."
+#~ msgstr "Поставить заголовок..."
+
+#~ msgid "Channel message..."
+#~ msgstr "Сообщение каналу..."
+
+#~ msgid "Lock..."
+#~ msgstr "Запереть..."
+
+#~ msgid "Unlock"
+#~ msgstr "Отпереть"
+
+#~ msgid "Register..."
+#~ msgstr "Зарегистрировать..."
+
+#~ msgid "Unregister"
+#~ msgstr "Отменить регистрацию"
+
+#~ msgid "On"
+#~ msgstr "Вкл."
+
+#~ msgid "Off"
+#~ msgstr "Выкл."
+
+#~ msgid "Is on?"
+#~ msgstr "Включено?"
+
+#~ msgid "Spam protection"
+#~ msgstr "Защита от спама"
+
+#~ msgid "ChanServ"
+#~ msgstr "ChanServ"
+
+#~ msgid "Disconnect"
+#~ msgstr "Отсоединиться"
+
+#~ msgid "Remove..."
+#~ msgstr "Удалить..."
+
+#~ msgid "Change password..."
+#~ msgstr "Изменить пароль..."
+
+#~ msgid "Set access..."
+#~ msgstr "Установить доступ..."
+
+#~ msgid "Accounts"
+#~ msgstr "Аккаунты"
+
+#~ msgid "Broadcast..."
+#~ msgstr "Сказать всем..."
+
+#~ msgid "Admin"
+#~ msgstr "Администратор"
+
+#, fuzzy
+#~ msgid "User"
+#~ msgstr "Завставить молчать пользов."
+
+#~ msgid "Open Chat"
+#~ msgstr "Открыть разговор"
+
+#~ msgid "Join same battle"
+#~ msgstr "Присоединится к тому же сражению"
+
+#~ msgid "Ingame time"
+#~ msgstr "Время, проведенное в игре"
+
+#~ msgid "Retrieve IP and Smurfs"
+#~ msgstr "Узнать IP адреса и не настоящих новичков"
+
+#~ msgid "Mute..."
+#~ msgstr "Заставить молчать..."
+
+#~ msgid "Mute for 5 minutes"
+#~ msgstr "Молчание на 5 минут"
+
+#~ msgid "Mute for 10 minutes"
+#~ msgstr "Молчание на 10 минут"
+
+#~ msgid "Mute for 30 minutes"
+#~ msgstr "Молчание на 30 минут"
+
+#~ msgid "Mute for 2 hours"
+#~ msgstr "Молчание на 2 часа"
+
+#~ msgid "Mute for 1 day"
+#~ msgstr "Молчание на 1 день"
+
+#~ msgid "Unmute"
+#~ msgstr "Снять молчание"
+
+#~ msgid "Mute"
+#~ msgstr "Заставить молчать"
+
+#~ msgid "Kick..."
+#~ msgstr "Выгнать..."
+
+#~ msgid "Ban..."
+#~ msgstr "Запретить..."
+
+#~ msgid "Unban"
+#~ msgstr "Снять запрет"
+
+#~ msgid "Slap!"
+#~ msgstr "Шлёпнуть!"
+
+#~ msgid "Op"
+#~ msgstr "Оператор"
+
+#~ msgid "DeOp"
+#~ msgstr "Снять оператора"
+
+#~ msgid "ChanServ error"
+#~ msgstr "Ошибка ChanServ"
+
+#~ msgid "ChanServ is not in this channel."
+#~ msgstr "ChanServ не присутствует в этом канале."
+
+#~ msgid "What should be the new topic?"
+#~ msgstr "Какой должен быть новый заголовок?"
+
+#~ msgid "Message:"
+#~ msgstr "Сообщение:"
+
+#~ msgid "Lock channel..."
+#~ msgstr "Запереть канал..."
+
+#~ msgid "What should the new password be?"
+#~ msgstr "Какой новый пароль поставить?"
+
+#~ msgid "Unlock Channel"
+#~ msgstr "Отпереть канал..."
+
+#~ msgid "Are you sure you want to unlock this channel?"
+#~ msgstr "Вы уверены, что хотите открыть этот канал?"
+
+#~ msgid "ChanServ is not on this server."
+#~ msgstr "ChanServ не на сервере."
+
+#~ msgid "Register Channel"
+#~ msgstr "Зарегестрировать канал"
+
+#~ msgid "Who should be appointed founder of this channel?"
+#~ msgstr "Кто должен быть основателем этого канала?"
+
+#~ msgid "Unregister Channel"
+#~ msgstr "Отмена регистрации канала"
+
+#~ msgid "Are you sure you want to unregister this channel?"
+#~ msgstr "Вы уверены, что хотите отменить регистрацию этого канала?"
+
+#~ msgid "Remove User Acount"
+#~ msgstr "Удалить учетную запись"
+
+#~ msgid "What user account do you want to remove today?"
+#~ msgstr "Какую учетную запись Вы хотите удалить?"
+
+#~ msgid "Remove Account"
+#~ msgstr "Удалить аккаунт"
+
+#~ msgid "Are you sure you want to remove the account "
+#~ msgstr "Вы уверены вы хотите удалить аккаунт? "
+
+#~ msgid "Change User Acount Password"
+#~ msgstr "Изменить пароль"
+
+#~ msgid "What user account do you want to change the password for?"
+#~ msgstr "Пароль какой учетной записи вы хотите изменить?"
+
+#~ msgid "What would be the new password?"
+#~ msgstr "Какой новый пароль?"
+
+#~ msgid "Not Implemented"
+#~ msgstr "Не реализовано"
+
+#~ msgid "Broadcast Message"
+#~ msgstr "Сообщение всем"
+
+#~ msgid "Message to be broadcasted:"
+#~ msgstr "Сообщение всем:"
+
+#~ msgid "You don't have the mod "
+#~ msgstr "У Вас нет мода"
+
+#~ msgid " . Please download it first"
+#~ msgstr " . Пожалуйста, установите сначала"
+
+#~ msgid "Mod unavailable"
+#~ msgstr "Мод не доступен"
+
+#~ msgid "This battle is password protected, enter the password."
+#~ msgstr "Сражение под паролем, введите пароль:"
+
+#~ msgid "Mute User"
+#~ msgstr "Завставить молчать пользов."
+
+#~ msgid "For how many minutes should the user be muted?"
+#~ msgstr "На сколько минут надо заставить молчать пользов.?"
+
+#~ msgid "Kick User"
+#~ msgstr "Выгнать пользов."
+
+#~ msgid "Reason:"
+#~ msgstr "Причина:"
+
+#~ msgid "Kick user"
+#~ msgstr "Выгнать пользов."
+
+#~ msgid "Mute user"
+#~ msgstr "Заставить молчать пользов."
+
+#~ msgid "Duration:"
+#~ msgstr "Продолжительность:"
+
+#~ msgid "couldn't add user"
+#~ msgstr "невозможно добавить пользов."
+
 #~ msgid "Test firewall"
 #~ msgstr "Проверить фаирволл"
 
@@ -6296,6 +6204,9 @@ msgstr ""
 #~ msgid "Tab icons"
 #~ msgstr "Настройки карты"
 
+#~ msgid "not available"
+#~ msgstr "недоступно"
+
 #, fuzzy
 #~ msgid "Chose in game"
 #~ msgstr "Выбор в самой игре"
@@ -6324,9 +6235,38 @@ msgstr ""
 #~ msgid "Player"
 #~ msgstr "Игрок:"
 
+#~ msgid "numcopies"
+#~ msgstr "число копий"
+
+#, fuzzy
+#~ msgid "MB downloaded"
+#~ msgstr "MB скачано"
+
+#~ msgid "MB uploaded"
+#~ msgstr "MB загружено"
+
 #~ msgid "status"
 #~ msgstr "состояние"
 
+#~ msgid "KB/s up"
+#~ msgstr "KB/s ушло"
+
+#~ msgid "KB/s down"
+#~ msgstr "KB/s пришло"
+
+#~ msgid "ETA (s)"
+#~ msgstr "осталось (сек.)"
+
+#~ msgid "Filesize (MB)"
+#~ msgstr "Размер файла (MB)"
+
+#~ msgid ""
+#~ "\n"
+#~ "Broser path is: "
+#~ msgstr ""
+#~ "\n"
+#~ "Пусть просмотра: "
+
 #, fuzzy
 #~ msgid "Choose color"
 #~ msgstr "Выберите цвет"
diff --git a/po/springlobby.pot b/po/springlobby.pot
index 9e3d873..aeced51 100644
--- a/po/springlobby.pot
+++ b/po/springlobby.pot
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -13,9 +13,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: springlobby 0.29\n"
+"Project-Id-Version: springlobby 0.33\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -48,8 +48,8 @@ msgid "value"
 msgstr ""
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr ""
 
@@ -102,7 +102,7 @@ msgstr ""
 msgid "Clans"
 msgstr ""
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr ""
 
@@ -132,44 +132,44 @@ msgstr ""
 msgid "Auto select"
 msgstr ""
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr ""
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr ""
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr ""
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr ""
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr ""
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 msgid "Spectators"
 msgstr ""
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 msgid "Players"
 msgstr ""
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 msgid "Max"
 msgstr ""
 
@@ -181,11 +181,11 @@ msgstr ""
 msgid "Download m&od"
 msgstr ""
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr ""
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 msgid "Active Players:"
 msgstr ""
 
@@ -238,8 +238,8 @@ msgid "All"
 msgstr ""
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr ""
 
@@ -252,8 +252,8 @@ msgid "Max.Player:"
 msgstr ""
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr ""
 
@@ -265,15 +265,15 @@ msgstr ""
 msgid "    Spectator:"
 msgstr ""
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr ""
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr ""
 
@@ -301,64 +301,64 @@ msgstr ""
 msgid "Join"
 msgstr ""
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, c-format
 msgid "%d battles displayed"
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr ""
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr ""
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr ""
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
 msgstr ""
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr ""
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
 "Do you want to leave current battle to start a new?"
 msgstr ""
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
 " Hosting may or may not work."
 msgstr ""
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
 "Hosting may or may not work with this setting."
 msgstr ""
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -370,93 +370,93 @@ msgid ""
 " option in the hosting settings."
 msgstr ""
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr ""
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr ""
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
 msgstr ""
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr ""
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
 msgstr ""
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 msgid "Already in this battle"
 msgstr ""
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 msgid ""
 "You are already in this battle.\n"
 "\n"
 "Do you want to leave it?"
 msgstr ""
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 msgid "Already in another battle"
 msgstr ""
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 msgid ""
 "You are already in a battle.\n"
 "\n"
 "Do you want to leave your current battle and join this one?"
 msgstr ""
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
 msgstr ""
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr ""
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 msgid ""
 "Should i try to download it for you?\n"
 "You can see the progress in the \"Download Manager\" tab."
 msgstr ""
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr ""
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr ""
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr ""
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr ""
 
@@ -465,45 +465,45 @@ msgid "Select"
 msgstr ""
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr ""
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr ""
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr ""
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr ""
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr ""
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr ""
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr ""
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr ""
 
@@ -524,246 +524,246 @@ msgstr ""
 msgid "Startpositions"
 msgstr ""
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr ""
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr ""
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr ""
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 msgid "Disable selected units."
 msgstr ""
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 msgid "Re-enable selected units."
 msgstr ""
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr ""
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr ""
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr ""
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "Unit restriction"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 msgid "AI (bot)\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 msgid "Human\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 msgid "Spectator\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 msgid "Player\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 msgid "Host\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 msgid "Client\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 msgid "Ready\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 msgid "Not ready\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 msgid "In sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 msgid "Set name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 msgid "Load a saved set of options."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 msgid "Save..."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 msgid "Save a set of options."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 msgid "Delete..."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 msgid "Delete a set of options."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 msgid "Set default..."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 msgid "Mod Options"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 msgid "no options available"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 msgid "Delete preset"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 msgid "Set mod default preset"
 msgstr ""
 
@@ -805,7 +805,7 @@ msgid ""
 "set) starting boxes."
 msgstr ""
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr ""
 
@@ -813,7 +813,7 @@ msgstr ""
 msgid "Leave the battle and return to the battle list"
 msgstr ""
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr ""
 
@@ -990,7 +990,7 @@ msgstr ""
 msgid "Save"
 msgstr ""
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 msgid "Delete"
 msgstr ""
 
@@ -1063,7 +1063,7 @@ msgstr ""
 msgid "Find channel:"
 msgstr ""
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 msgid "Choose channels to join"
 msgstr ""
 
@@ -1121,67 +1121,64 @@ msgid ""
 "Be sure that there isn't a write protection.\n"
 msgstr ""
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr ""
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr ""
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr ""
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr ""
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr ""
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr ""
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr ""
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr ""
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr ""
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr ""
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr ""
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr ""
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
 "[22:30] <Dude> hi everyone\n"
@@ -1191,583 +1188,247 @@ msgid ""
 "[22:46] <Dude2> But could be better, should tweak them some more...\n"
 msgstr ""
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr ""
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr ""
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr ""
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr ""
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr ""
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr ""
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr ""
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr ""
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr ""
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr ""
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr ""
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr ""
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr ""
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, c-format
 msgid "%d users"
 msgstr ""
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr ""
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr ""
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr ""
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr ""
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-msgid "Clear"
-msgstr ""
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr ""
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr ""
-
-#: src/chatpanel.cpp:433
-msgid "Show mute list"
-msgstr ""
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr ""
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr ""
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr ""
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr ""
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr ""
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr ""
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr ""
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr ""
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr ""
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr ""
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr ""
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr ""
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr ""
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr ""
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr ""
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr ""
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr ""
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr ""
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr ""
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr ""
-
-#: src/chatpanel.cpp:510
-msgid "User"
-msgstr ""
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr ""
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr ""
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr ""
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr ""
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr ""
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr ""
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr ""
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr ""
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr ""
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr ""
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr ""
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr ""
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr ""
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr ""
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr ""
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr ""
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr ""
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr ""
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr ""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr ""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr ""
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr ""
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr ""
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr ""
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr ""
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 msgid " ** Channel topic:"
 msgstr ""
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 msgid " ** Set by "
 msgstr ""
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr ""
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr ""
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr ""
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr ""
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr ""
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
 "commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr ""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr ""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr ""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr ""
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr ""
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr ""
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr ""
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr ""
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr ""
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr ""
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr ""
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr ""
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr ""
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr ""
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr ""
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr ""
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr ""
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr ""
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr ""
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr ""
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr ""
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr ""
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr ""
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr ""
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr ""
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr ""
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr ""
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr ""
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr ""
-
-#: src/chatpanel.cpp:1797
-msgid "couldn't add user"
-msgstr ""
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr ""
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
 msgstr ""
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr ""
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr ""
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr ""
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
 msgstr ""
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr ""
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr ""
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr ""
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr ""
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr ""
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
 "It must be an integer between 1 and 65535"
 msgstr ""
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr ""
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid "Invalid nickname"
 msgstr ""
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 msgid ""
 "Registration failed, the reason was:\n"
 "Password / confirmation mismatch (or empty passwort)"
 msgstr ""
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr ""
 
@@ -2760,9 +2421,8 @@ msgid "Last generated spring launching script"
 msgstr ""
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 msgid "Name"
 msgstr ""
 
@@ -2848,8 +2508,8 @@ msgstr ""
 msgid "Notify when users of this group hosts a battle"
 msgstr ""
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr ""
 
@@ -2937,9 +2597,8 @@ msgstr ""
 msgid "File successfully saved"
 msgstr ""
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 msgid "Success"
 msgstr ""
 
@@ -2947,7 +2606,7 @@ msgstr ""
 msgid "Couldn't save file"
 msgstr ""
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 msgid "Default"
 msgstr ""
 
@@ -2978,201 +2637,201 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr ""
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr ""
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 msgid "Autopaste description"
 msgstr ""
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr ""
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr ""
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr ""
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr ""
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Randomly picks an available one"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr ""
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr ""
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr ""
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr ""
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 msgid "NAT traversal to use."
 msgstr ""
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr ""
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr ""
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr ""
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 msgid ""
 "\n"
 "successfully unzipped in:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 msgid "Path"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 msgid "Use a file dialog to find the editor binary"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 msgid "Autoconnect"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 msgid "Autoconnect on lobby start"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3181,72 +2840,72 @@ msgid ""
 "Uncheck to disable."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 msgid "Tooltips"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 msgid "Show Tooltips?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
 "distance"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 msgid "Match exact"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 msgid "Start tab"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3258,7 +2917,7 @@ msgstr ""
 msgid "Choose a editor browser executable"
 msgstr ""
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 msgid "Disconnected from server, chat closed."
 msgstr ""
 
@@ -3266,125 +2925,109 @@ msgstr ""
 msgid "Battle list"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 msgid "Unit Restrictions"
 msgstr ""
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr ""
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr ""
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr ""
 
-#: src/mainoptionstab.cpp:75
-msgid "General"
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
+msgid "Restore"
 msgstr ""
 
-#: src/mainoptionstab.cpp:78
-msgid "Groups"
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
+msgid "Apply"
 msgstr ""
 
-#: src/mainoptionstab.cpp:80
-msgid "Restore"
+#: src/mainoptionstab.cpp:87
+msgid "General"
 msgstr ""
 
-#: src/mainoptionstab.cpp:81
-msgid "Apply"
+#: src/mainoptionstab.cpp:90
+msgid "Groups"
 msgstr ""
 
-#: src/mainsingleplayertab.cpp:41
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr ""
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr ""
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 msgid "Download Lua widgets"
 msgstr ""
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr ""
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr ""
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr ""
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr ""
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr ""
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr ""
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr ""
@@ -3393,276 +3036,288 @@ msgstr ""
 msgid "SpringLobby"
 msgstr ""
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr ""
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr ""
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 msgid "&Save options"
 msgstr ""
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr ""
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+msgid "&Save Layout"
+msgstr ""
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr ""
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 msgid "Channel &list"
 msgstr ""
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr ""
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr ""
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr ""
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr ""
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr ""
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr ""
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 msgid "&Change language"
 msgstr ""
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr ""
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr ""
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr ""
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+msgid "&View"
+msgstr ""
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr ""
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "Not connected"
 msgstr ""
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr ""
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr ""
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr ""
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr ""
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "No files found"
 msgstr ""
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr ""
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr ""
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr ""
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr ""
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 msgid "Which profile do you want to be default?"
 msgstr ""
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr ""
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr ""
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 msgid "Savegames"
 msgstr ""
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 msgid "Replays"
 msgstr ""
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 msgid "Downloads"
 msgstr ""
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr ""
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr ""
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr ""
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr ""
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr ""
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr ""
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 msgid "Show"
 msgstr ""
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 msgid "Filter"
 msgstr ""
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 msgid "Map details"
 msgstr ""
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 msgid "Start positions"
 msgstr ""
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 msgid "Minimum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 msgid "Average wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 msgid "Aspect ratio"
 msgstr ""
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 msgid "Number of start positions"
 msgstr ""
 
@@ -3695,19 +3350,19 @@ msgstr ""
 msgid "Map name"
 msgstr ""
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 msgid "Change option"
 msgstr ""
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr ""
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr ""
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr ""
 
@@ -3767,52 +3422,52 @@ msgstr ""
 msgid "Filesize in kilobyte"
 msgstr ""
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Load"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 msgid "replay"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 msgid "savegame"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr ""
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
 "version: %s\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -3821,17 +3476,17 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid "Invalid replay"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr ""
 
@@ -3847,91 +3502,91 @@ msgstr ""
 msgid "Select Users"
 msgstr ""
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 msgid " is online"
 msgstr ""
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr ""
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr ""
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 msgid " just went offline"
 msgstr ""
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 msgid " opened battle "
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr ""
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr ""
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr ""
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, c-format
 msgid "%s mutelist"
 msgstr ""
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr ""
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr ""
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 msgid "Download update"
 msgstr ""
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -3942,61 +3597,61 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 msgid "Negotiation error"
 msgstr ""
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 msgid "Invalid Value"
 msgstr ""
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 msgid "No Handler"
 msgstr ""
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 msgid "File doesn't exit"
 msgstr ""
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 msgid "Action Aborted"
 msgstr ""
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 msgid "Reconnection Error"
 msgstr ""
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 msgid "Unknown Error"
 msgstr ""
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 msgid "Download complete, location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 msgid "Download complete."
 msgstr ""
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer. File location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer."
 msgstr ""
 
@@ -4652,74 +4307,74 @@ msgid "Save Spring settings before exiting?"
 msgstr ""
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr ""
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr ""
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr ""
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr ""
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr ""
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr ""
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr ""
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr ""
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr ""
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr ""
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr ""
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr ""
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr ""
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr ""
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr ""
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr ""
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr ""
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr ""
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -4742,7 +4397,7 @@ msgstr ""
 msgid "everyone reporting bugs/suggestions"
 msgstr ""
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -4750,27 +4405,32 @@ msgid ""
 "please enable wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr ""
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -4809,8 +4469,8 @@ msgstr ""
 msgid "Choose an unitsync library"
 msgstr ""
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr ""
 
@@ -4846,23 +4506,23 @@ msgstr ""
 msgid "can't launch default browser"
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr ""
 
@@ -4870,41 +4530,41 @@ msgstr ""
 msgid "Audio Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr ""
 
@@ -4990,89 +4650,66 @@ msgstr ""
 msgid "Zoom"
 msgstr ""
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
 msgstr ""
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr ""
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 msgid "Spectate only"
 msgstr ""
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 msgid "Random start positions"
 msgstr ""
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr ""
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr ""
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr ""
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
 " "
 msgstr ""
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr ""
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
+#: src/springlobbyapp.cpp:183
 msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
 "\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
-msgstr ""
-
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:172
-msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
-msgstr ""
-
-#: src/springlobbyapp.cpp:172
-msgid "Notice"
-msgstr ""
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
-msgstr ""
-
-#: src/springlobbyapp.cpp:188
-msgid "Import settings?"
+#: src/springlobbyapp.cpp:183
+msgid "Fatal error"
 msgstr ""
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5080,66 +4717,74 @@ msgid ""
 "please get a wxWidgets library that supports wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 msgid "Ignore chat"
 msgstr ""
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 msgid "Battle Autokick"
 msgstr ""
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 msgid "Friends"
 msgstr ""
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr ""
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr ""
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr ""
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr ""
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5166,7 +4811,7 @@ msgid ""
 "Please create manually the following folders:"
 msgstr ""
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr ""
 
@@ -5188,41 +4833,40 @@ msgstr ""
 msgid " , column "
 msgstr ""
 
-#: src/torrentlistctrl.cpp:44
-msgid "Numcopies"
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:48
-msgid "MB downloaded"
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
+msgid "Cancel torrent"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
+#: src/torrentlistctrl.cpp:173
+msgid "Retry torrent"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:56
-msgid "Status"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:60
-#, c-format
-msgid "% complete"
+#: src/torrentlistctrl.cpp:264
+msgid "not found"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
+#: src/torrentlistctrl.cpp:267
+msgid "complete"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
 msgstr ""
 
 #: src/torrentoptionspanel.cpp:37
@@ -5291,213 +4935,207 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr ""
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr ""
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
 msgstr ""
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr ""
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr ""
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr ""
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr ""
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr ""
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr ""
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr ""
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr ""
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
 msgstr ""
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr ""
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
 msgstr ""
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
 msgstr ""
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr ""
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr ""
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
 "username."
 msgstr ""
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 msgid "  \"/part\" - Leaves current channel."
 msgstr ""
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 msgid "  \"/p\" - Alias to /part."
 msgstr ""
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr ""
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr ""
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr ""
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr ""
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr ""
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr ""
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
 msgstr ""
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr ""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr ""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr ""
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
 "\n"
 "Online play is currently disabled."
 msgstr ""
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 msgstr ""
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 msgid "Online play is currently disabled."
 msgstr ""
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 msgid "Disconnected from server."
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid "Connection failure"
 msgstr ""
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr ""
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr ""
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr ""
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr ""
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr ""
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
 "to play online."
 msgstr ""
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5505,32 +5143,69 @@ msgid ""
 "download finished"
 msgstr ""
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr ""
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr ""
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr ""
+
+#: src/ui.cpp:1242
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+
+#: src/ui.cpp:1242
+msgid "Notice"
+msgstr ""
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+msgid "Import settings?"
+msgstr ""
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr ""
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr ""
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid ""
 "\n"
 "\n"
@@ -5538,52 +5213,48 @@ msgid ""
 "effect next you launch the lobby again."
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid "Not up to date"
 msgstr ""
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr ""
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
 msgstr ""
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 msgid ""
 "There was an error downloading for the latest version.\n"
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
+#: src/updater/updater.cpp:92
 #, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr ""
 
@@ -5703,15 +5374,15 @@ msgstr ""
 msgid "Unknown"
 msgstr ""
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr ""
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 msgid "Add to group..."
 msgstr ""
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 msgid "Remove from group"
 msgstr ""
 
diff --git a/po/sv.gmo b/po/sv.gmo
index 9093c47..d32417f 100644
Binary files a/po/sv.gmo and b/po/sv.gmo differ
diff --git a/po/sv.po b/po/sv.po
index 41b87f4..89bd8f4 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the SpringLobby package.
 # Tommy Carlsson <tc at springlobby.info>, 2008.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: SpringLobby 0.0.1-svn\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2008-08-02 17:18+0000\n"
 "Last-Translator: nanker <Unknown>\n"
 "Language-Team: Swedish\n"
@@ -53,8 +53,8 @@ msgid "value"
 msgstr "Värde"
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "Avbryt"
 
@@ -107,7 +107,7 @@ msgstr "Slumpmässiga"
 msgid "Clans"
 msgstr ""
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "Ingen"
 
@@ -139,46 +139,46 @@ msgstr "Antal spelare"
 msgid "Auto select"
 msgstr "Ã…teranslut"
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "Ok"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "Beskrivning"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "Karta"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr "Mod"
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "Värd"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "Spektatorer:"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 #, fuzzy
 msgid "Players"
 msgstr "Spelare:"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "Karta"
@@ -191,11 +191,11 @@ msgstr "Ladda ner &karta"
 msgid "Download m&od"
 msgstr "Ladda ner &mod"
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "Spektatorer:"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 #, fuzzy
 msgid "Active Players:"
 msgstr "Spelare:"
@@ -250,8 +250,8 @@ msgid "All"
 msgstr "Alla"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "Karta:"
 
@@ -264,8 +264,8 @@ msgid "Max.Player:"
 msgstr "Max.Spelare:"
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr "Mod:"
 
@@ -277,15 +277,15 @@ msgstr "Bara moddar som jag har"
 msgid "    Spectator:"
 msgstr "    Spektator:"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr ""
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "Spelare:"
 
@@ -316,46 +316,46 @@ msgstr "Hosta nytt.."
 msgid "Join"
 msgstr "GÃ¥ med"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, c-format
 msgid "%d battles displayed"
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 "Du kan inte skapa ett spel när du är nerkopplad. Var god koppla upp dig mot "
 "lobby serven."
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr "Inte uppkopplad."
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr ""
 "Du kan inte skapa spel eftersom din version av Spring inte är kompatibel."
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr "Spring fel"
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
 msgstr "Spring körs redan, stäng det innan du försöker starta ett nytt spel."
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr "Du är redan inne i ett spel"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
@@ -365,21 +365,21 @@ msgstr ""
 "\n"
 "Vill du gå ur detta och starta ett nytt?"
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
 " Hosting may or may not work."
 msgstr ""
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
 "Hosting may or may not work with this setting."
 msgstr ""
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -391,25 +391,25 @@ msgid ""
 " option in the hosting settings."
 msgstr ""
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr "Spelet kunde inte startas eftersom modden du valt inte kunde hittas. "
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr "Kunde inte starta spel."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
 msgstr ""
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "Inga kartor funna"
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
@@ -417,12 +417,12 @@ msgstr ""
 "Du kan inte gå med i nätverks spel eftersom din Spring version är "
 "inkompatibel."
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid "Already in this battle"
 msgstr "Du är redan inne i ett spel"
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid ""
 "You are already in this battle.\n"
@@ -433,12 +433,12 @@ msgstr ""
 "\n"
 "Vill du gå ur detta och starta ett nytt?"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid "Already in another battle"
 msgstr "Du är redan inne i ett spel"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid ""
 "You are already in a battle.\n"
@@ -449,47 +449,47 @@ msgstr ""
 "\n"
 "Vill du gå ur detta och starta ett nytt?"
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
 msgstr "Spring körs redan, stäng det innan du försöker starta ett nytt spel."
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr ""
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 msgid ""
 "Should i try to download it for you?\n"
 "You can see the progress in the \"Download Manager\" tab."
 msgstr ""
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr "Modden inte tillgänlig"
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr "Kartan inte tillgänglig"
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr "Spelets lösenord"
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr "Skriv in lösenord"
 
@@ -499,45 +499,45 @@ msgid "Select"
 msgstr "Välj..."
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr "Alternativ"
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr "Värde"
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr "Storlek"
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr "Vindhastighet"
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr "Strömstyrka"
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr "Gravitation"
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr "Extractor radie"
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr "Max metal"
 
@@ -559,264 +559,264 @@ msgstr "Välj i spelet"
 msgid "Startpositions"
 msgstr "Start positioner"
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr "Enhets begränsningar"
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr "Tillåtna enheter"
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr "Enheter i den här listan kan användas i spelet."
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 #, fuzzy
 msgid "Disable selected units."
 msgstr "Tillåt alla enheter."
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 #, fuzzy
 msgid "Re-enable selected units."
 msgstr "Tillåt alla enheter."
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr ""
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr "Tillåt alla enheter."
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr "Begränsade enheter"
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr "Enheter i den här listan kan inte användas i spelet."
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 #, fuzzy
 msgid "Unit restriction"
 msgstr "Enhets begränsningar"
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr "Smeknamn"
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr "Team"
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr "Allians"
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr "Resurs bonus"
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr "Sida"
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr "Välj färg"
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr "Sätt resurs bonus"
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr "Spektator"
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr "Släng ut"
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr "Ring"
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr "Var god välj ett nummer mellan 0 och 100"
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 #, fuzzy
 msgid "AI (bot)\n"
 msgstr "Lägg till bot"
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 msgid "Human\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 #, fuzzy
 msgid "Spectator\n"
 msgstr "Spektator"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 #, fuzzy
 msgid "Player\n"
 msgstr "Spelare:"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 #, fuzzy
 msgid "Host\n"
 msgstr "Värd"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 #, fuzzy
 msgid "Client\n"
 msgstr "Klient"
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 msgid "Ready\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 #, fuzzy
 msgid "Not ready\n"
 msgstr "Inte redo"
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 msgid "In sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 #, fuzzy
 msgid "Set name."
 msgstr "Sätt åtkomst..."
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr "Ladda..."
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 #, fuzzy
 msgid "Load a saved set of options."
 msgstr "Ladda lista från fil."
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 #, fuzzy
 msgid "Save..."
 msgstr "Spara..."
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 #, fuzzy
 msgid "Save a set of options."
 msgstr "Spara lista till fil."
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 #, fuzzy
 msgid "Delete..."
 msgstr "Välj..."
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 #, fuzzy
 msgid "Delete a set of options."
 msgstr "Spara lista till fil."
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 #, fuzzy
 msgid "Set default..."
 msgstr "standard"
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 msgid "Mod Options"
 msgstr "Mod alternativ"
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr "Kart alternativ"
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 #, fuzzy
 msgid "no options available"
 msgstr "Modden inte tillgänlig"
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr "fel"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 #, fuzzy
 msgid "Delete preset"
 msgstr "Välj"
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 #, fuzzy
 msgid "Set mod default preset"
 msgstr "standard"
@@ -859,7 +859,7 @@ msgid ""
 "set) starting boxes."
 msgstr ""
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr "Lämna"
 
@@ -867,7 +867,7 @@ msgstr "Lämna"
 msgid "Leave the battle and return to the battle list"
 msgstr ""
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr "Starta"
 
@@ -1050,7 +1050,7 @@ msgstr ""
 msgid "Save"
 msgstr "Spara..."
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 #, fuzzy
 msgid "Delete"
 msgstr "Välj"
@@ -1131,7 +1131,7 @@ msgstr ""
 msgid "Find channel:"
 msgstr "GÃ¥ med i kanal..."
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 #, fuzzy
 msgid "Choose channels to join"
 msgstr "Namn på kanalen"
@@ -1201,67 +1201,64 @@ msgstr ""
 "Kunde inte skapa log filen.\n"
 "Kontrollera att den inte är skrivskyddad.\n"
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr "Färger och font"
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr "Använd systemfärger"
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr "Normal"
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr "Bakgrund"
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr "Händelse"
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr "Markering"
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr "Gå med/Lämna"
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr "Mina medelanden"
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr "Server"
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr "Klient"
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr "Felmedelanden"
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr "Tids stämpel"
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr "PÃ¥minnelse"
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 #, fuzzy
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
@@ -1278,506 +1275,168 @@ msgstr ""
 "[22:45] <Kompis> Kompis2: orl?\n"
 "[22:46] <Kompis2> But could be better, should tweak them some more...\n"
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr "Font:"
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr "standard"
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr "Välj..."
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr ""
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr ""
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr "Chat loggar"
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr "Spara chat loggar"
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr "Markera ord"
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr "Ord som ska bli markerade"
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr ""
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr ""
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr ""
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr ""
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, fuzzy, c-format
 msgid "%d users"
 msgstr "(%d användare)"
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr ""
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr "Skicka"
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr ""
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr "Kopiera"
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-msgid "Clear"
-msgstr "Rensa"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr "GÃ¥ med denna kanalen automatiskt"
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr "Visa gå med/lämna medelanden"
-
-#: src/chatpanel.cpp:433
-msgid "Show mute list"
-msgstr ""
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr "Kanal information"
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr "Sätt ämne..."
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr "Kanal medelande..."
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr "LÃ¥s..."
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr "LÃ¥s upp..."
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr "Registrera..."
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr "Avregistrera"
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr "PÃ¥"
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr "Av"
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr "Är på?"
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr "Spam skydd"
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr "ChanServ"
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr "Koppla ned"
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr "Ã…teranslut"
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr "Ta bort..."
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr "Ändra lösenord..."
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr "Sätt åtkomst..."
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr "Konton"
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr "Broadcasta..."
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr "Administrering"
-
-#: src/chatpanel.cpp:510
-#, fuzzy
-msgid "User"
-msgstr "Tysta användare"
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr "Öppna chat"
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr "GÃ¥ med samma spel"
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr "Spel tid"
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr ""
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr "Tysta..."
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr "Tysta i 5 minuter"
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr "Tysta i 10 minuter"
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr "Tysta i 30 minuter"
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr "Tysta i 2 timmar"
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr "Tysta i en dag"
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr "Avtysta"
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr "Tysta"
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr "Sparka..."
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr "Banna..."
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr "Avbanna"
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr "Slap!"
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr "Op"
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr "DeOp"
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr ""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr ""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr "kanal"
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr "spel"
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr "server"
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr " gick med i "
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr " gick ur "
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 #, fuzzy
 msgid " ** Channel topic:"
 msgstr "Kanal information"
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 #, fuzzy
 msgid " ** Set by "
 msgstr ""
 "\n"
 " * Satt av "
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr "Chat stängd."
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr "Är du säker på att du vill klistra in %d rader?"
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr "Flood varning"
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr " Du har SpringLobby v"
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr " Du är inte i kanalen eller så finns den inte."
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
 "commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr " Användaren är ner kopplad."
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr " Skickade: \""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr "\""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr "ChanServ fel"
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr "ChanServ är inte i kanalen"
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr "Vad ska det nya ämnet vara?"
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr "Medelande:"
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr "LÃ¥s kanalen..."
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr "Ange lösenord"
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr "LÃ¥s upp kanalen"
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr "Är du säker på att du vill låsa kanalen?"
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr "ChanServ finns inte på servern."
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr "Registrera kanalen"
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr "Vem skall vara grundare till den här kanalen?"
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr "Avregistrera kanalen"
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr "Är du säker på att du vill avregistrera kanalen?"
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr "Ta bort användarkonto"
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr "Vilket användar konto vill du ta bort idag?"
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr "Ta bort konto"
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr "Är du säker på att du vill ta bort kontot "
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr "Ändra användar lösenord"
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr "Vilken användare vill du byta lösenord för?"
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr "Vad ska det nya lösenordet bli?"
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr "Inte implementerad"
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr "Broadcasta medelande"
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr "Medelande att broadcasta:"
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr ""
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr "Detta spelet är lösenords skyddat skriv in lösenordet."
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr "Tysta användare"
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr "I hur många minuter skall han bli tystad?"
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr "Sparka ut användare"
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr "Anledning:"
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr "Sparka ut användare"
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr "Tysta användare"
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr "Hur länge?"
-
-#: src/chatpanel.cpp:1797
-#, fuzzy
-msgid "couldn't add user"
-msgstr "Kunde inte starta webbläsaren."
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr "Anslut till lobby server"
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
@@ -1785,56 +1444,57 @@ msgstr ""
 "Servern du vill ansluta till. Du kan skriva in vilken adress du vill med "
 "formatet host:port."
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr "Lösenord"
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr ""
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr ""
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
 msgstr ""
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
+#, fuzzy
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 "Notera: Om du inte har något konto\n"
 "ännu kan du skapa ett under \"Registrering\"\n"
 "fliken."
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr "Login"
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr "Registrering"
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr "Smeknamn"
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr "Felaktig port."
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr "Felaktig port"
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
@@ -1844,33 +1504,33 @@ msgstr ""
 "\n"
 "Det måste liga inom 1 till 65535"
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr "Felaktig host/port"
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr "Felaktig host"
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 #, fuzzy
 msgid "Invalid nickname"
 msgstr "Felaktigt nummer"
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 #, fuzzy
 msgid ""
 "Registration failed, the reason was:\n"
 "Password / confirmation mismatch (or empty passwort)"
 msgstr "Registreringen misslyckades på grund av att lösenorden inte matchade."
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr "Registreringen misslyckades."
 
@@ -2863,9 +2523,8 @@ msgid "Last generated spring launching script"
 msgstr "Det senast skapade start skriptet"
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 #, fuzzy
 msgid "Name"
 msgstr "Spel"
@@ -2959,8 +2618,8 @@ msgstr "Starta nytt spel"
 msgid "Notify when users of this group hosts a battle"
 msgstr ""
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr ""
 
@@ -3054,9 +2713,8 @@ msgstr "Välj i spelet"
 msgid "File successfully saved"
 msgstr ""
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 #, fuzzy
 msgid "Success"
 msgstr "Sätt åtkomst..."
@@ -3066,7 +2724,7 @@ msgstr "Sätt åtkomst..."
 msgid "Couldn't save file"
 msgstr "Kunde inte starta webbläsaren."
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 #, fuzzy
 msgid "Default"
 msgstr "standard"
@@ -3099,206 +2757,206 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr "Starta nytt spel"
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr "En kort beskrivning, denna kommer visas i spel listan."
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "Beskrivning"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr "Välj den mod som ska användas."
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr "Lösenordet som behövs för spelet. Behåll tomt för att inte ha lösenord"
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr "Port"
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr "UDP porten att spela spelet på. Standard är 8452."
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 #, fuzzy
 msgid "Randomly picks an available one"
 msgstr "Modden inte tillgänlig"
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr "Antal spelare"
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr "Maximala antalet spelare tillåtna i spelet."
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr "Hole punching"
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr "NAT traversal"
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 #, fuzzy
 msgid "NAT traversal to use."
 msgstr "NAT traversal"
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr "Minsta rang som behövs"
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr "Starta spel lobbyn."
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr "Du måste välja en mod först."
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr "Ingen mod vald."
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 msgid ""
 "\n"
 "successfully unzipped in:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr "Webbläsare"
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr "Standard webbläsare"
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr "Ange:"
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr "Bläddra"
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 msgid "Path"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 msgid "Use a file dialog to find the editor binary"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 #, fuzzy
 msgid "Autoconnect"
 msgstr "Ã…teranslut"
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 #, fuzzy
 msgid "Autoconnect on lobby start"
 msgstr "Anslut till lobby server"
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3307,74 +2965,74 @@ msgid ""
 "Uncheck to disable."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 #, fuzzy
 msgid "Tooltips"
 msgstr "&Verktyg"
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 msgid "Show Tooltips?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
 "distance"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 msgid "Match exact"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 #, fuzzy
 msgid "Start tab"
 msgstr "Start metall"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3387,7 +3045,7 @@ msgstr "Ange en webbläsar exekverbar"
 msgid "Choose a editor browser executable"
 msgstr "Ange en webbläsar exekverbar"
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 #, fuzzy
 msgid "Disconnected from server, chat closed."
 msgstr "Anslut till lobby server"
@@ -3396,127 +3054,111 @@ msgstr "Anslut till lobby server"
 msgid "Battle list"
 msgstr "Spel lista"
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr "Spel lobby"
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr "Alternativ"
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 #, fuzzy
 msgid "Unit Restrictions"
 msgstr "Enhets begränsningar"
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr "Spring"
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr ""
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr "Chat"
 
-#: src/mainoptionstab.cpp:75
-msgid "General"
-msgstr ""
-
-#: src/mainoptionstab.cpp:78
-msgid "Groups"
-msgstr ""
-
-#: src/mainoptionstab.cpp:80
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
 msgid "Restore"
 msgstr "Återställ"
 
-#: src/mainoptionstab.cpp:81
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
 msgid "Apply"
 msgstr "Spara"
 
-#: src/mainsingleplayertab.cpp:41
+#: src/mainoptionstab.cpp:87
+msgid "General"
+msgstr ""
+
+#: src/mainoptionstab.cpp:90
+msgid "Groups"
+msgstr ""
+
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr "Spel"
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr ""
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 #, fuzzy
 msgid "Download Lua widgets"
 msgstr "Ladda ner"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr ""
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr ""
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr ""
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr ""
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr ""
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr ""
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr ""
@@ -3525,291 +3167,305 @@ msgstr ""
 msgid "SpringLobby"
 msgstr "SpringLobby"
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr "&Koppla upp..."
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr "Koppla &ner..."
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 #, fuzzy
 msgid "&Save options"
 msgstr "Kart alternativ"
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr "&Avsluta"
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+#, fuzzy
+msgid "&Save Layout"
+msgstr "Kart alternativ"
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr "&GÃ¥ med kanal..."
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 #, fuzzy
 msgid "Channel &list"
 msgstr "Kanal information"
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr "Öppna privat &chat fönster..."
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr ""
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr "&Ladda om kartor/moddar"
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr "Kolla efter ny &version"
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr "Spring inställningar"
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr "&Om"
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 #, fuzzy
 msgid "&Change language"
 msgstr "Kanal information"
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr "&Rapportera bugg..."
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr "&Dokumentation"
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr "&Arkiv"
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+#, fuzzy
+msgid "&View"
+msgstr "&Arkiv"
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr "&Verktyg"
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr "&Hjälp"
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 #, fuzzy
 msgid "Not connected"
 msgstr "Ã…teranslut"
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr "GÃ¥ med i kanal..."
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr "Namn på kanalen"
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr "Öppna privat chat..."
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr "Namn på användaren"
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 #, fuzzy
 msgid "No files found"
 msgstr "Inga kartor funna"
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr ""
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr ""
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr ""
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr ""
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 #, fuzzy
 msgid "Which profile do you want to be default?"
 msgstr "Vilket användar konto vill du ta bort idag?"
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr ""
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr ""
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 #, fuzzy
 msgid "Savegames"
 msgstr "Spara..."
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 msgid "Replays"
 msgstr ""
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 #, fuzzy
 msgid "Downloads"
 msgstr "Ladda ner"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr ""
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr "Läs om"
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr "Ladda ner"
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr "sida:"
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr "ally:   %d"
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr "bonus: %d%%"
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 #, fuzzy
 msgid "Show"
 msgstr "Visa alla"
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 #, fuzzy
 msgid "Filter"
 msgstr "Alla filer"
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 #, fuzzy
 msgid "Map details"
 msgstr "Max metal"
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 #, fuzzy
 msgid "Start positions"
 msgstr "Start positioner"
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 #, fuzzy
 msgid "Minimum wind"
 msgstr "Minsta rang som behövs"
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 #, fuzzy
 msgid "Average wind"
 msgstr "Medelmåttig"
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 #, fuzzy
 msgid "Aspect ratio"
 msgstr "Spektator"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 #, fuzzy
 msgid "Number of start positions"
 msgstr "Start positioner"
@@ -3852,20 +3508,20 @@ msgstr "Begränsade enheter"
 msgid "Map name"
 msgstr ""
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 #, fuzzy
 msgid "Change option"
 msgstr "Kart alternativ"
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr "s"
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr "c"
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr "r"
 
@@ -3932,34 +3588,34 @@ msgstr "&Arkiv"
 msgid "Filesize in kilobyte"
 msgstr ""
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "Ladda..."
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "Spelare:"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "savegame"
 msgstr "Spara..."
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 #, fuzzy
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr ""
@@ -3967,24 +3623,24 @@ msgstr ""
 "\n"
 "Multiplayer spel kommer att inaktiveras."
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
 "version: %s\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -3993,18 +3649,18 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 #, fuzzy
 msgid "Invalid replay"
 msgstr "Felaktig port"
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr ""
 
@@ -4021,95 +3677,95 @@ msgstr ""
 msgid "Select Users"
 msgstr "Välj"
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 #, fuzzy
 msgid " is online"
 msgstr " Användaren är ner kopplad."
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr ""
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr ""
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 #, fuzzy
 msgid " just went offline"
 msgstr " Användaren är ner kopplad."
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 #, fuzzy
 msgid " opened battle "
 msgstr " gick med i "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr "Kunde inte gå med  kanal"
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr "Kunde inte gå med i kanal "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr " anledning: "
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr "Server medelande"
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr ""
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr "Du blev ut sparkad från spelet."
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr "Ut sparkad ur spelet"
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, fuzzy, c-format
 msgid "%s mutelist"
 msgstr "Spel lista"
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr ""
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr ""
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy
 msgid "Download update"
 msgstr "Ladda ner &karta"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -4120,7 +3776,7 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 #, fuzzy
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
@@ -4128,64 +3784,64 @@ msgstr ""
 "Försök igen senare.\n"
 "Om problemet kvarstår var god rapportera detta."
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 #, fuzzy
 msgid "Negotiation error"
 msgstr "PÃ¥minnelse"
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 #, fuzzy
 msgid "Invalid Value"
 msgstr "Felaktigt nummer"
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 #, fuzzy
 msgid "No Handler"
 msgstr "Inget nummer"
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 msgid "File doesn't exit"
 msgstr ""
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "Startade"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 #, fuzzy
 msgid "Reconnection Error"
 msgstr "Ã…teranslut"
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 msgid "Unknown Error"
 msgstr ""
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 msgid "Download complete, location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 #, fuzzy
 msgid "Download complete."
 msgstr "Ingen mod vald."
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer. File location is: "
 msgstr "Kunde inte starta webläsaren. URL: "
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer."
 msgstr "Kunde inte starta webbläsaren."
@@ -4855,74 +4511,74 @@ msgid "Save Spring settings before exiting?"
 msgstr ""
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr ""
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr ""
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr ""
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr ""
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr ""
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr ""
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr ""
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr ""
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr ""
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr ""
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr ""
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr ""
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr ""
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr ""
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr ""
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr ""
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr ""
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr ""
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -4945,7 +4601,7 @@ msgstr ""
 msgid "everyone reporting bugs/suggestions"
 msgstr ""
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -4953,27 +4609,32 @@ msgid ""
 "please enable wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr "Kritiskt fel"
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -5012,8 +4673,8 @@ msgstr ""
 msgid "Choose an unitsync library"
 msgstr "Ange unitsync bibliotek"
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr "Alla filer"
 
@@ -5049,23 +4710,23 @@ msgstr ""
 msgid "can't launch default browser"
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr "Kunde inte starta webläsaren. URL: "
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr "Kunde inte starta webbläsaren."
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr ""
 
@@ -5073,41 +4734,41 @@ msgstr ""
 msgid "Audio Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr ""
 
@@ -5193,97 +4854,69 @@ msgstr ""
 msgid "Zoom"
 msgstr ""
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
 msgstr ""
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr "Lägg till bot..."
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 #, fuzzy
 msgid "Spectate only"
 msgstr "Spektator"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 #, fuzzy
 msgid "Random start positions"
 msgstr "Start positioner"
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr "-- Välj en --"
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr "Kunde inte start spel"
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr "Du måste välja en karta först."
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
 " "
 msgstr ""
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr ""
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr "Spring körs redan stäng av det innan du startar ett nytt spel"
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
-msgstr "Hej "
-
-#: src/springlobbyapp.cpp:168
-msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
-"\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
-"Det ser ut som om detta är den första gången du använder SpringLobby. Jag "
-"har gissat mig till en konfiguration som jag tror skall fungera men du borde "
-"kolla igenom den för säkerhets skull.\n"
-"När du är klar är det bara att börja spel Spring :)"
-
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
-msgstr "Välkommen"
 
-#: src/springlobbyapp.cpp:172
+#: src/springlobbyapp.cpp:183
 msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
-msgstr ""
-
-#: src/springlobbyapp.cpp:172
-#, fuzzy
-msgid "Notice"
-msgstr "Ingen"
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
+"\n"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:188
+#: src/springlobbyapp.cpp:183
 #, fuzzy
-msgid "Import settings?"
-msgstr "Spring inställningar"
+msgid "Fatal error"
+msgstr "Kritiskt fel"
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5295,69 +4928,77 @@ msgstr ""
 "\n"
 "Var god fixa en wxWidgets version som har stöd för wxUSE_DEBUGREPORT"
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 #, fuzzy
 msgid "Ignore chat"
 msgstr "Öppna chat"
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 #, fuzzy
 msgid "Battle Autokick"
 msgstr "Spel lista"
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 #, fuzzy
 msgid "Friends"
 msgstr "Hitta"
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr "Spring exekverbar"
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr "Plats"
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr "Hitta"
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr "Unitsync bibliotek"
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr "Automatisk konfiguration"
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr "Ange Spring exekverbar"
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr "Bibliotek"
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5384,7 +5025,7 @@ msgid ""
 "Please create manually the following folders:"
 msgstr ""
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr ""
 
@@ -5406,43 +5047,44 @@ msgstr ""
 msgid " , column "
 msgstr ""
 
-#: src/torrentlistctrl.cpp:44
-msgid "Numcopies"
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:48
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
 #, fuzzy
-msgid "MB downloaded"
-msgstr "Ladda ner"
-
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
-msgstr ""
+msgid "Cancel torrent"
+msgstr "Avbryt"
 
-#: src/torrentlistctrl.cpp:56
+#: src/torrentlistctrl.cpp:173
 #, fuzzy
-msgid "Status"
-msgstr "Status:"
+msgid "Retry torrent"
+msgstr "Återställ"
 
-#: src/torrentlistctrl.cpp:60
-#, c-format
-msgid "% complete"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
-msgstr ""
+#: src/torrentlistctrl.cpp:264
+#, fuzzy
+msgid "not found"
+msgstr "Inga kartor funna"
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "Ingen mod vald."
+
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
 msgstr ""
 
 #: src/torrentoptionspanel.cpp:37
@@ -5511,11 +5153,11 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr ""
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr "Lösenord"
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
@@ -5523,63 +5165,55 @@ msgstr ""
 "Registreringen lyckades,\n"
 "du ska nu kunna logga in."
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr "Registreringen lyckades"
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr "Registreringen misslyckades med meddelandet:\n"
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-"\n"
-"Webbläsarens plats är: "
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr "Hjälp fel"
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr "Skriv /help i chatten."
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr "SpringLobby kommando hjälp."
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr "Globala kommandon:"
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr "  \"/away\" - Sätter din status till borta."
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr "  \"/back\" - Sätter din status till närvarande."
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
 msgstr ""
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr "  \"/channels\" - Listar alla aktiva kanaler."
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
 msgstr "  \"/help [ämne]\" - Visar hjälp om ett visst ämne."
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 #, fuzzy
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
@@ -5587,80 +5221,80 @@ msgstr ""
 "  \"/join kanal [lösenord] [,kanal2 [lösenord22]]\" - Gå med i en kanal "
 "eller flera."
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr "  \"/j\" - Alias till /join."
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 #, fuzzy
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr "  \"/ingame\" - Visar hur mycket spel tid du har."
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
 "username."
 msgstr ""
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 #, fuzzy
 msgid "  \"/part\" - Leaves current channel."
 msgstr "  \"/channels\" - Listar alla aktiva kanaler."
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 #, fuzzy
 msgid "  \"/p\" - Alias to /part."
 msgstr "  \"/j\" - Alias till /join."
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr "  \"/rename nyttsmeknamn\" - Ändrar ditt smeknamn."
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 #, fuzzy
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr "  \"/sayver\" - Säger vilken version av SpringLobby du har i chatten."
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr ""
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 #, fuzzy
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr "  \"/ver\" - Visar vilken version av SpringLobby du har."
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr "Chat kommandon:"
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr "  \"/me action\" - Aktions medelande a la IRC."
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
 msgstr "Om du saknar något kommando, gå till #springlobby och skriv det där :)"
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr "Det finns inga ämnen ännu."
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr "Ämnet \""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr "\" hittades inte. Skriv \"/help\" för att se vilka som finns."
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 #, fuzzy
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
@@ -5671,56 +5305,56 @@ msgstr ""
 "\n"
 "Multiplayer spel kommer att inaktiveras."
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 msgstr ""
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 #, fuzzy
 msgid "Online play is currently disabled."
 msgstr "Multiplayer spel kommer att inaktiveras."
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 #, fuzzy
 msgid "Disconnected from server."
 msgstr "Anslut till lobby server"
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid "Connection failure"
 msgstr ""
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr "inga aktiva chat paneler öppna."
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr "(%d användare)"
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr "Server medelanden"
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr ""
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr ""
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
@@ -5729,15 +5363,15 @@ msgstr ""
 "Dina Spring inställningar är förmodligen inte korrekt inställda,\n"
 "du bör ta en titt på dem innan du spelar multiplayer."
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr "Spring inställnings fel"
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5745,11 +5379,54 @@ msgid ""
 "download finished"
 msgstr ""
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr ""
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr "Hej "
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+"Det ser ut som om detta är den första gången du använder SpringLobby. Jag "
+"har gissat mig till en konfiguration som jag tror skall fungera men du borde "
+"kolla igenom den för säkerhets skull.\n"
+"När du är klar är det bara att börja spel Spring :)"
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr "Välkommen"
+
+#: src/ui.cpp:1242
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid "Notice"
+msgstr "Ingen"
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+#, fuzzy
+msgid "Import settings?"
+msgstr "Spring inställningar"
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
@@ -5759,15 +5436,15 @@ msgstr ""
 "Försök igen senare.\n"
 "Om problemet kvarstår var god rapportera detta."
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr "Er version: "
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr "Senaste versionen: "
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
@@ -5775,7 +5452,7 @@ msgstr ""
 "Du har en äldre version av SpringLobby.\n"
 "\n"
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid ""
 "\n"
 "\n"
@@ -5783,26 +5460,22 @@ msgid ""
 "effect next you launch the lobby again."
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 #, fuzzy
 msgid "Not up to date"
 msgstr "Inte uppdaterad"
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr "Inte uppdaterad"
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
 msgstr ""
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 #, fuzzy
 msgid ""
 "There was an error downloading for the latest version.\n"
@@ -5813,11 +5486,11 @@ msgstr ""
 "Försök igen senare.\n"
 "Om problemet kvarstår var god rapportera detta."
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
+#: src/updater/updater.cpp:92
 #, fuzzy, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
@@ -5825,18 +5498,18 @@ msgstr ""
 "Försök igen senare.\n"
 "Om problemet kvarstår var god rapportera detta."
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr ""
 
@@ -5961,16 +5634,16 @@ msgstr "Veteran"
 msgid "Unknown"
 msgstr ""
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr ""
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 #, fuzzy
 msgid "Add to group..."
 msgstr "Lägg till bot..."
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 #, fuzzy
 msgid "Remove from group"
 msgstr "Ta bort användarkonto"
@@ -6045,6 +5718,227 @@ msgstr ""
 #~ msgid "cpu"
 #~ msgstr "cpu"
 
+#~ msgid "Copy"
+#~ msgstr "Kopiera"
+
+#~ msgid "Clear"
+#~ msgstr "Rensa"
+
+#~ msgid "Auto join this channel"
+#~ msgstr "GÃ¥ med denna kanalen automatiskt"
+
+#~ msgid "Display Join/Leave Messages"
+#~ msgstr "Visa gå med/lämna medelanden"
+
+#~ msgid "Channel info"
+#~ msgstr "Kanal information"
+
+#~ msgid "Set topic..."
+#~ msgstr "Sätt ämne..."
+
+#~ msgid "Channel message..."
+#~ msgstr "Kanal medelande..."
+
+#~ msgid "Lock..."
+#~ msgstr "LÃ¥s..."
+
+#~ msgid "Unlock"
+#~ msgstr "LÃ¥s upp..."
+
+#~ msgid "Register..."
+#~ msgstr "Registrera..."
+
+#~ msgid "Unregister"
+#~ msgstr "Avregistrera"
+
+#~ msgid "On"
+#~ msgstr "PÃ¥"
+
+#~ msgid "Off"
+#~ msgstr "Av"
+
+#~ msgid "Is on?"
+#~ msgstr "Är på?"
+
+#~ msgid "Spam protection"
+#~ msgstr "Spam skydd"
+
+#~ msgid "ChanServ"
+#~ msgstr "ChanServ"
+
+#~ msgid "Disconnect"
+#~ msgstr "Koppla ned"
+
+#~ msgid "Remove..."
+#~ msgstr "Ta bort..."
+
+#~ msgid "Change password..."
+#~ msgstr "Ändra lösenord..."
+
+#~ msgid "Set access..."
+#~ msgstr "Sätt åtkomst..."
+
+#~ msgid "Accounts"
+#~ msgstr "Konton"
+
+#~ msgid "Broadcast..."
+#~ msgstr "Broadcasta..."
+
+#~ msgid "Admin"
+#~ msgstr "Administrering"
+
+#, fuzzy
+#~ msgid "User"
+#~ msgstr "Tysta användare"
+
+#~ msgid "Open Chat"
+#~ msgstr "Öppna chat"
+
+#~ msgid "Join same battle"
+#~ msgstr "GÃ¥ med samma spel"
+
+#~ msgid "Ingame time"
+#~ msgstr "Spel tid"
+
+#~ msgid "Mute..."
+#~ msgstr "Tysta..."
+
+#~ msgid "Mute for 5 minutes"
+#~ msgstr "Tysta i 5 minuter"
+
+#~ msgid "Mute for 10 minutes"
+#~ msgstr "Tysta i 10 minuter"
+
+#~ msgid "Mute for 30 minutes"
+#~ msgstr "Tysta i 30 minuter"
+
+#~ msgid "Mute for 2 hours"
+#~ msgstr "Tysta i 2 timmar"
+
+#~ msgid "Mute for 1 day"
+#~ msgstr "Tysta i en dag"
+
+#~ msgid "Unmute"
+#~ msgstr "Avtysta"
+
+#~ msgid "Mute"
+#~ msgstr "Tysta"
+
+#~ msgid "Kick..."
+#~ msgstr "Sparka..."
+
+#~ msgid "Ban..."
+#~ msgstr "Banna..."
+
+#~ msgid "Unban"
+#~ msgstr "Avbanna"
+
+#~ msgid "Slap!"
+#~ msgstr "Slap!"
+
+#~ msgid "Op"
+#~ msgstr "Op"
+
+#~ msgid "DeOp"
+#~ msgstr "DeOp"
+
+#~ msgid "ChanServ error"
+#~ msgstr "ChanServ fel"
+
+#~ msgid "ChanServ is not in this channel."
+#~ msgstr "ChanServ är inte i kanalen"
+
+#~ msgid "What should be the new topic?"
+#~ msgstr "Vad ska det nya ämnet vara?"
+
+#~ msgid "Message:"
+#~ msgstr "Medelande:"
+
+#~ msgid "Lock channel..."
+#~ msgstr "LÃ¥s kanalen..."
+
+#~ msgid "What should the new password be?"
+#~ msgstr "Ange lösenord"
+
+#~ msgid "Unlock Channel"
+#~ msgstr "LÃ¥s upp kanalen"
+
+#~ msgid "Are you sure you want to unlock this channel?"
+#~ msgstr "Är du säker på att du vill låsa kanalen?"
+
+#~ msgid "ChanServ is not on this server."
+#~ msgstr "ChanServ finns inte på servern."
+
+#~ msgid "Register Channel"
+#~ msgstr "Registrera kanalen"
+
+#~ msgid "Who should be appointed founder of this channel?"
+#~ msgstr "Vem skall vara grundare till den här kanalen?"
+
+#~ msgid "Unregister Channel"
+#~ msgstr "Avregistrera kanalen"
+
+#~ msgid "Are you sure you want to unregister this channel?"
+#~ msgstr "Är du säker på att du vill avregistrera kanalen?"
+
+#~ msgid "Remove User Acount"
+#~ msgstr "Ta bort användarkonto"
+
+#~ msgid "What user account do you want to remove today?"
+#~ msgstr "Vilket användar konto vill du ta bort idag?"
+
+#~ msgid "Remove Account"
+#~ msgstr "Ta bort konto"
+
+#~ msgid "Are you sure you want to remove the account "
+#~ msgstr "Är du säker på att du vill ta bort kontot "
+
+#~ msgid "Change User Acount Password"
+#~ msgstr "Ändra användar lösenord"
+
+#~ msgid "What user account do you want to change the password for?"
+#~ msgstr "Vilken användare vill du byta lösenord för?"
+
+#~ msgid "What would be the new password?"
+#~ msgstr "Vad ska det nya lösenordet bli?"
+
+#~ msgid "Not Implemented"
+#~ msgstr "Inte implementerad"
+
+#~ msgid "Broadcast Message"
+#~ msgstr "Broadcasta medelande"
+
+#~ msgid "Message to be broadcasted:"
+#~ msgstr "Medelande att broadcasta:"
+
+#~ msgid "This battle is password protected, enter the password."
+#~ msgstr "Detta spelet är lösenords skyddat skriv in lösenordet."
+
+#~ msgid "Mute User"
+#~ msgstr "Tysta användare"
+
+#~ msgid "For how many minutes should the user be muted?"
+#~ msgstr "I hur många minuter skall han bli tystad?"
+
+#~ msgid "Kick User"
+#~ msgstr "Sparka ut användare"
+
+#~ msgid "Reason:"
+#~ msgstr "Anledning:"
+
+#~ msgid "Kick user"
+#~ msgstr "Sparka ut användare"
+
+#~ msgid "Mute user"
+#~ msgstr "Tysta användare"
+
+#~ msgid "Duration:"
+#~ msgstr "Hur länge?"
+
+#, fuzzy
+#~ msgid "couldn't add user"
+#~ msgstr "Kunde inte starta webbläsaren."
+
 #~ msgid "Test firewall"
 #~ msgstr "Testa firewallen"
 
@@ -6073,6 +5967,17 @@ msgstr ""
 #~ msgstr "Spelare:"
 
 #, fuzzy
+#~ msgid "MB downloaded"
+#~ msgstr "Ladda ner"
+
+#~ msgid ""
+#~ "\n"
+#~ "Broser path is: "
+#~ msgstr ""
+#~ "\n"
+#~ "Webbläsarens plats är: "
+
+#, fuzzy
 #~ msgid "Choose color"
 #~ msgstr "Välj färg"
 
diff --git a/po/uk.gmo b/po/uk.gmo
index 9ebe976..3e65e71 100644
Binary files a/po/uk.gmo and b/po/uk.gmo differ
diff --git a/po/uk.po b/po/uk.po
index 6aa7e9c..d3669d1 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the springlobby package.
 # FIRST AUTHOR <EMAIL at ADDRESS>, 2008.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: springlobby\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2008-07-30 23:43+0000\n"
 "Last-Translator: SpringLobby_Buildbot <Unknown>\n"
 "Language-Team: Ukrainian <uk at li.org>\n"
@@ -49,8 +49,8 @@ msgid "value"
 msgstr ""
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "Скасувати"
 
@@ -103,7 +103,7 @@ msgstr "Випадково"
 msgid "Clans"
 msgstr "Клани"
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "Немає"
 
@@ -133,46 +133,46 @@ msgstr ""
 msgid "Auto select"
 msgstr ""
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "Гаразд"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "Опис"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "Мапа"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr "Модифікація"
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "Хост"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "Спостерігачі:"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 #, fuzzy
 msgid "Players"
 msgstr "Гравці:"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "Мапа"
@@ -185,11 +185,11 @@ msgstr "Скачати &мапу"
 msgid "Download m&od"
 msgstr ""
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "Спостерігачі:"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 #, fuzzy
 msgid "Active Players:"
 msgstr "Гравці:"
@@ -243,8 +243,8 @@ msgid "All"
 msgstr "Усі"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "Мапа:"
 
@@ -257,8 +257,8 @@ msgid "Max.Player:"
 msgstr "Макс.гравців:"
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr "Модифікація:"
 
@@ -270,15 +270,15 @@ msgstr "Тільки модифікації, що є у мене"
 msgid "    Spectator:"
 msgstr "    Спостерігач:"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr ""
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "Гравці:"
 
@@ -307,35 +307,35 @@ msgstr "Створити нову гру"
 msgid "Join"
 msgstr "Приєднатись"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, c-format
 msgid "%d battles displayed"
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr ""
 "Ви не можете створити нову гру, не під'єднавшися до серверу. Будь ласка, "
 "зайдіть на сервер."
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr "Не Підключено"
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr "Ви не можете створити гру через несумісність Вашої версії"
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr "Помилка Spring"
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
@@ -343,11 +343,11 @@ msgstr ""
 "Ви вже маєте копію Spring у запущенному стані, для створенні нової гри її "
 "треба закрити"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr "Вже у битві"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
@@ -356,21 +356,21 @@ msgstr ""
 "Ви вже у битві.\n"
 "Ви дійсно бажаєте залишити поточну битву та створити нову?"
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
 " Hosting may or may not work."
 msgstr ""
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
 "Hosting may or may not work with this setting."
 msgstr ""
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -386,15 +386,15 @@ msgstr ""
 "нічого не допомогло, задійте у налаштуваннях опцію \"Hole Punching NAT "
 "Traversal\"."
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr "Битву не розпочато через неможливість знайти обрану модифікацію. "
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr "Помилка при запуску битви."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
@@ -402,22 +402,22 @@ msgstr ""
 "Не можу знайти жодної карти у вашому Spring. Можливо ви вказали невірний "
 "шлях до директорії Spring."
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "Не знайдено жодної мапи"
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
 msgstr ""
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid "Already in this battle"
 msgstr "Вже у битві"
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid ""
 "You are already in this battle.\n"
@@ -427,12 +427,12 @@ msgstr ""
 "Ви вже у битві.\n"
 "Ви дійсно бажаєте залишити поточну битву та створити нову?"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid "Already in another battle"
 msgstr "Вже у битві"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid ""
 "You are already in a battle.\n"
@@ -442,47 +442,47 @@ msgstr ""
 "Ви вже у битві.\n"
 "Ви дійсно бажаєте залишити поточну битву та створити нову?"
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
 msgstr ""
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr ""
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 msgid ""
 "Should i try to download it for you?\n"
 "You can see the progress in the \"Download Manager\" tab."
 msgstr ""
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr ""
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
 msgstr ""
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr ""
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr ""
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr ""
 
@@ -491,45 +491,45 @@ msgid "Select"
 msgstr ""
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr ""
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr ""
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr ""
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr ""
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr ""
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr ""
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr ""
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr ""
 
@@ -550,251 +550,251 @@ msgstr ""
 msgid "Startpositions"
 msgstr ""
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr ""
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr ""
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr ""
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 msgid "Disable selected units."
 msgstr ""
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 msgid "Re-enable selected units."
 msgstr ""
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr ""
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr ""
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr ""
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "Unit restriction"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 #, fuzzy
 msgid "AI (bot)\n"
 msgstr "Додати бота"
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 msgid "Human\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 #, fuzzy
 msgid "Spectator\n"
 msgstr "Спостерігачі:"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 #, fuzzy
 msgid "Player\n"
 msgstr "Гравець:"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 #, fuzzy
 msgid "Host\n"
 msgstr "Хост"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 msgid "Client\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 #, fuzzy
 msgid "Ready\n"
 msgstr "Завжди"
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 msgid "Not ready\n"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 msgid "In sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 msgid "Set name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 msgid "Load a saved set of options."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 msgid "Save..."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 msgid "Save a set of options."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 msgid "Delete..."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 msgid "Delete a set of options."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 msgid "Set default..."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 msgid "Mod Options"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 msgid "no options available"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 msgid "Delete preset"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 msgid "Set mod default preset"
 msgstr ""
 
@@ -836,7 +836,7 @@ msgid ""
 "set) starting boxes."
 msgstr ""
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr ""
 
@@ -844,7 +844,7 @@ msgstr ""
 msgid "Leave the battle and return to the battle list"
 msgstr ""
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr ""
 
@@ -1023,7 +1023,7 @@ msgstr ""
 msgid "Save"
 msgstr ""
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 msgid "Delete"
 msgstr ""
 
@@ -1096,7 +1096,7 @@ msgstr ""
 msgid "Find channel:"
 msgstr ""
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 msgid "Choose channels to join"
 msgstr ""
 
@@ -1155,67 +1155,64 @@ msgid ""
 "Be sure that there isn't a write protection.\n"
 msgstr ""
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr ""
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr ""
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr ""
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr ""
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr ""
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr ""
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr ""
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr ""
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr ""
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr ""
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr ""
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr ""
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
 "[22:30] <Dude> hi everyone\n"
@@ -1225,584 +1222,247 @@ msgid ""
 "[22:46] <Dude2> But could be better, should tweak them some more...\n"
 msgstr ""
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr ""
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr ""
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr ""
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr ""
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr ""
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr ""
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr ""
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr ""
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr ""
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr ""
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr ""
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr ""
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr ""
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, c-format
 msgid "%d users"
 msgstr ""
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr ""
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr ""
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr ""
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr ""
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-#, fuzzy
-msgid "Clear"
-msgstr "Клани"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr ""
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr ""
-
-#: src/chatpanel.cpp:433
-msgid "Show mute list"
-msgstr ""
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr ""
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr ""
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr ""
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr ""
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr ""
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr ""
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr ""
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr ""
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr ""
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr ""
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr ""
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr ""
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr ""
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr ""
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr ""
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr ""
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr ""
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr ""
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr ""
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr ""
-
-#: src/chatpanel.cpp:510
-msgid "User"
-msgstr ""
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr ""
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr ""
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr ""
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr ""
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr ""
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr ""
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr ""
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr ""
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr ""
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr ""
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr ""
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr ""
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr ""
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr ""
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr ""
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr ""
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr ""
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr ""
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr ""
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr ""
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr ""
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr ""
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr ""
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr ""
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr ""
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 msgid " ** Channel topic:"
 msgstr ""
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 msgid " ** Set by "
 msgstr ""
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr ""
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr ""
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr ""
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr ""
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr ""
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
 "commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
 msgstr ""
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr ""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr ""
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr ""
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr ""
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr ""
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr ""
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr ""
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr ""
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr ""
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr ""
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr ""
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr ""
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr ""
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr ""
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr ""
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr ""
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr ""
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr ""
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr ""
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr ""
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr ""
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr ""
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr ""
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr ""
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr ""
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr ""
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr ""
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr ""
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr ""
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr ""
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr ""
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr ""
-
-#: src/chatpanel.cpp:1797
-msgid "couldn't add user"
-msgstr ""
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr ""
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
 msgstr ""
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr ""
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr ""
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr ""
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
 msgstr ""
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr ""
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr ""
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr ""
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr ""
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr ""
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
 "It must be an integer between 1 and 65535"
 msgstr ""
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr ""
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid "Invalid nickname"
 msgstr ""
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 msgid ""
 "Registration failed, the reason was:\n"
 "Password / confirmation mismatch (or empty passwort)"
 msgstr ""
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr ""
 
@@ -2795,9 +2455,8 @@ msgid "Last generated spring launching script"
 msgstr ""
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 #, fuzzy
 msgid "Name"
 msgstr "Прізвисько:"
@@ -2885,8 +2544,8 @@ msgstr ""
 msgid "Notify when users of this group hosts a battle"
 msgstr ""
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr ""
 
@@ -2975,9 +2634,8 @@ msgstr "Прізвисько:"
 msgid "File successfully saved"
 msgstr ""
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 msgid "Success"
 msgstr ""
 
@@ -2985,7 +2643,7 @@ msgstr ""
 msgid "Couldn't save file"
 msgstr ""
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 msgid "Default"
 msgstr ""
 
@@ -3016,202 +2674,202 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr ""
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr ""
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "Опис"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr ""
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr ""
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr ""
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr ""
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Randomly picks an available one"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr ""
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr ""
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr ""
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr ""
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 msgid "NAT traversal to use."
 msgstr ""
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr ""
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr ""
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr ""
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 msgid ""
 "\n"
 "successfully unzipped in:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
 msgstr ""
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 msgid "Path"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 msgid "Use a file dialog to find the editor binary"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 msgid "Autoconnect"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 msgid "Autoconnect on lobby start"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3220,73 +2878,73 @@ msgid ""
 "Uncheck to disable."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 msgid "Tooltips"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 msgid "Show Tooltips?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
 "distance"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 msgid "Match exact"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 #, fuzzy
 msgid "Start tab"
 msgstr "Розпочато"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3298,7 +2956,7 @@ msgstr ""
 msgid "Choose a editor browser executable"
 msgstr ""
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 msgid "Disconnected from server, chat closed."
 msgstr ""
 
@@ -3306,126 +2964,110 @@ msgstr ""
 msgid "Battle list"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr ""
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 msgid "Unit Restrictions"
 msgstr ""
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr ""
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr ""
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr ""
 
-#: src/mainoptionstab.cpp:75
-msgid "General"
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
+msgid "Restore"
 msgstr ""
 
-#: src/mainoptionstab.cpp:78
-msgid "Groups"
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
+msgid "Apply"
 msgstr ""
 
-#: src/mainoptionstab.cpp:80
-msgid "Restore"
+#: src/mainoptionstab.cpp:87
+msgid "General"
 msgstr ""
 
-#: src/mainoptionstab.cpp:81
-msgid "Apply"
+#: src/mainoptionstab.cpp:90
+msgid "Groups"
 msgstr ""
 
-#: src/mainsingleplayertab.cpp:41
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr ""
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr ""
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr ""
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr ""
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 #, fuzzy
 msgid "Download Lua widgets"
 msgstr "Скачати &мапу"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr ""
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr ""
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr ""
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr ""
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr ""
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr ""
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr ""
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr ""
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr ""
@@ -3434,281 +3076,293 @@ msgstr ""
 msgid "SpringLobby"
 msgstr ""
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr ""
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr ""
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 msgid "&Save options"
 msgstr ""
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr ""
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+msgid "&Save Layout"
+msgstr ""
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr ""
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 msgid "Channel &list"
 msgstr ""
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr ""
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr ""
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr ""
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr ""
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr ""
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr ""
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 msgid "&Change language"
 msgstr ""
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr ""
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr ""
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr ""
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+msgid "&View"
+msgstr ""
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr ""
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "Not connected"
 msgstr ""
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr ""
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr ""
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr ""
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr ""
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 #, fuzzy
 msgid "No files found"
 msgstr "Не знайдено жодної мапи"
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr ""
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr ""
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr ""
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr ""
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr ""
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 msgid "Which profile do you want to be default?"
 msgstr ""
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr ""
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr ""
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 msgid "Savegames"
 msgstr ""
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 #, fuzzy
 msgid "Replays"
 msgstr "Завжди"
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 #, fuzzy
 msgid "Downloads"
 msgstr "Скачати &мапу"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr ""
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr ""
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr ""
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr ""
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr ""
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr ""
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 msgid "Show"
 msgstr ""
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 #, fuzzy
 msgid "Filter"
 msgstr "Чесно"
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 msgid "Map details"
 msgstr ""
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 msgid "Start positions"
 msgstr ""
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 msgid "Minimum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 msgid "Average wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 #, fuzzy
 msgid "Aspect ratio"
 msgstr "Спостерігачі:"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 msgid "Number of start positions"
 msgstr ""
 
@@ -3743,19 +3397,19 @@ msgstr ""
 msgid "Map name"
 msgstr ""
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 msgid "Change option"
 msgstr ""
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr ""
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr ""
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr ""
 
@@ -3819,54 +3473,54 @@ msgstr ""
 msgid "Filesize in kilobyte"
 msgstr ""
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "Заблоковано"
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "Завжди"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 msgid "savegame"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr ""
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
 "version: %s\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -3875,17 +3529,17 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid "Invalid replay"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr ""
 
@@ -3901,92 +3555,92 @@ msgstr ""
 msgid "Select Users"
 msgstr ""
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 msgid " is online"
 msgstr ""
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr ""
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr ""
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 msgid " just went offline"
 msgstr ""
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 msgid " opened battle "
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr ""
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr ""
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr ""
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr ""
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr ""
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, c-format
 msgid "%s mutelist"
 msgstr ""
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr ""
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr ""
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy
 msgid "Download update"
 msgstr "Скачати &мапу"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -3997,64 +3651,64 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 msgid "Negotiation error"
 msgstr ""
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 msgid "Invalid Value"
 msgstr ""
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 #, fuzzy
 msgid "No Handler"
 msgstr "Не Підключено"
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 msgid "File doesn't exit"
 msgstr ""
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "Розпочато"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 msgid "Reconnection Error"
 msgstr ""
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 msgid "Unknown Error"
 msgstr ""
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 msgid "Download complete, location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 #, fuzzy
 msgid "Download complete."
 msgstr "Скачати &мапу"
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer. File location is: "
 msgstr ""
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 msgid "Couldn't launch installer."
 msgstr ""
 
@@ -4711,74 +4365,74 @@ msgid "Save Spring settings before exiting?"
 msgstr ""
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr ""
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr ""
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr ""
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr ""
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr ""
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr ""
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr ""
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr ""
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr ""
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr ""
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr ""
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr ""
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr ""
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr ""
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr ""
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr ""
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr ""
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr ""
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -4801,7 +4455,7 @@ msgstr ""
 msgid "everyone reporting bugs/suggestions"
 msgstr ""
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -4809,27 +4463,32 @@ msgid ""
 "please enable wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr ""
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -4868,8 +4527,8 @@ msgstr ""
 msgid "Choose an unitsync library"
 msgstr ""
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr ""
 
@@ -4905,23 +4564,23 @@ msgstr ""
 msgid "can't launch default browser"
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr ""
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr ""
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr ""
 
@@ -4929,41 +4588,41 @@ msgstr ""
 msgid "Audio Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr ""
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr ""
 
@@ -5049,91 +4708,67 @@ msgstr ""
 msgid "Zoom"
 msgstr ""
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
 msgstr ""
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr ""
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 #, fuzzy
 msgid "Spectate only"
 msgstr "Спостерігачі:"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 msgid "Random start positions"
 msgstr ""
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr ""
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr ""
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr ""
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
 " "
 msgstr ""
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr ""
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
 
-#: src/springlobbyapp.cpp:168
+#: src/springlobbyapp.cpp:183
 msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
 "\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
-msgstr ""
-
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
-msgstr ""
-
-#: src/springlobbyapp.cpp:172
-msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
-msgstr ""
-
-#: src/springlobbyapp.cpp:172
-#, fuzzy
-msgid "Notice"
-msgstr "Немає"
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:188
-msgid "Import settings?"
+#: src/springlobbyapp.cpp:183
+msgid "Fatal error"
 msgstr ""
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5141,66 +4776,74 @@ msgid ""
 "please get a wxWidgets library that supports wxUSE_DEBUGREPORT"
 msgstr ""
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 msgid "Ignore chat"
 msgstr ""
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 msgid "Battle Autokick"
 msgstr ""
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 msgid "Friends"
 msgstr ""
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr ""
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr ""
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr ""
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr ""
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr ""
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr ""
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5227,7 +4870,7 @@ msgid ""
 "Please create manually the following folders:"
 msgstr ""
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr ""
 
@@ -5249,42 +4892,43 @@ msgstr ""
 msgid " , column "
 msgstr ""
 
-#: src/torrentlistctrl.cpp:44
-msgid "Numcopies"
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:48
-msgid "MB downloaded"
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
+#, fuzzy
+msgid "Cancel torrent"
+msgstr "Скасувати"
+
+#: src/torrentlistctrl.cpp:173
+msgid "Retry torrent"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:56
+#: src/torrentlistctrl.cpp:264
 #, fuzzy
-msgid "Status"
-msgstr "Стан:"
-
-#: src/torrentlistctrl.cpp:60
-#, c-format
-msgid "% complete"
-msgstr ""
+msgid "not found"
+msgstr "Не знайдено жодної мапи"
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
 msgstr ""
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
-msgstr ""
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "Скачати &мапу"
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
 msgstr ""
 
 #: src/torrentoptionspanel.cpp:37
@@ -5353,213 +4997,207 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr ""
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr ""
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
 msgstr ""
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr ""
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr ""
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr ""
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr ""
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr ""
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr ""
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr ""
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr ""
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
 msgstr ""
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr ""
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
 msgstr ""
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
 msgstr ""
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr ""
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr ""
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
 "username."
 msgstr ""
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 msgid "  \"/part\" - Leaves current channel."
 msgstr ""
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 msgid "  \"/p\" - Alias to /part."
 msgstr ""
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr ""
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr ""
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr ""
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr ""
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr ""
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr ""
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
 msgstr ""
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr ""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr ""
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr ""
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
 "\n"
 "Online play is currently disabled."
 msgstr ""
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 msgstr ""
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 msgid "Online play is currently disabled."
 msgstr ""
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 msgid "Disconnected from server."
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid "Connection failure"
 msgstr ""
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr ""
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr ""
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr ""
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr ""
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr ""
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
 "to play online."
 msgstr ""
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5567,32 +5205,70 @@ msgid ""
 "download finished"
 msgstr ""
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr ""
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr ""
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr ""
+
+#: src/ui.cpp:1242
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid "Notice"
+msgstr "Немає"
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+msgid "Import settings?"
+msgstr ""
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr ""
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr ""
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid ""
 "\n"
 "\n"
@@ -5600,52 +5276,48 @@ msgid ""
 "effect next you launch the lobby again."
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid "Not up to date"
 msgstr ""
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr ""
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
 msgstr ""
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 msgid ""
 "There was an error downloading for the latest version.\n"
 "Please try again later.\n"
 "If the problem persists, please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
+#: src/updater/updater.cpp:92
 #, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr ""
 
@@ -5768,15 +5440,15 @@ msgstr ""
 msgid "Unknown"
 msgstr ""
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr ""
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 msgid "Add to group..."
 msgstr ""
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 msgid "Remove from group"
 msgstr ""
 
@@ -5844,6 +5516,10 @@ msgstr ""
 #~ msgstr "Гравці:"
 
 #, fuzzy
+#~ msgid "Clear"
+#~ msgstr "Клани"
+
+#, fuzzy
 #~ msgid "Download started"
 #~ msgstr "Скачати &мапу"
 
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index ec835ad..76e856c 100644
Binary files a/po/zh_CN.gmo and b/po/zh_CN.gmo differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 73c69be..b21d368 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -3,7 +3,7 @@
 # This file is distributed under the same license as the springlobby package.
 # FIRST AUTHOR <EMAIL at ADDRESS>, 2008.
 #
-#: src/battleroomlistctrl.cpp:714 src/hostbattledialog.cpp:129
+#: src/battleroomlistctrl.cpp:719 src/hostbattledialog.cpp:130
 #: src/settings++/Defs.hpp:263 src/settings++/Defs.hpp:345
 #: src/settings++/Defs.hpp:347 src/settings++/Defs.hpp:349
 #: src/settings++/Defs.hpp:351 src/settings++/Defs.hpp:353
@@ -14,7 +14,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: springlobby\n"
 "Report-Msgid-Bugs-To: devel at www.springlobby.info\n"
-"POT-Creation-Date: 2009-10-23 16:45+0200\n"
+"POT-Creation-Date: 2009-10-26 23:49+0100\n"
 "PO-Revision-Date: 2008-09-15 13:38+0000\n"
 "Last-Translator: rainofchaos <rainofchaos at gmail.com>\n"
 "Language-Team: Simplified Chinese <zh_CN at li.org>\n"
@@ -50,8 +50,8 @@ msgid "value"
 msgstr "值"
 
 #: src/addbotdialog.cpp:108 src/autobalancedialog.cpp:65
-#: src/connectwindow.cpp:87 src/hostbattledialog.cpp:243
-#: src/mmoptionwindows.cpp:106
+#: src/connectwindow.cpp:88 src/hostbattledialog.cpp:244
+#: src/mmoptionwindows.cpp:107
 msgid "Cancel"
 msgstr "取消"
 
@@ -104,7 +104,7 @@ msgstr "随机"
 msgid "Clans"
 msgstr "派别"
 
-#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:169
+#: src/autobalancedialog.cpp:48 src/hostbattledialog.cpp:170
 msgid "None"
 msgstr "æ— "
 
@@ -140,46 +140,46 @@ msgstr "玩家数量"
 msgid "Auto select"
 msgstr "重新连接"
 
-#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:86
-#: src/mmoptionwindows.cpp:109
+#: src/autobalancedialog.cpp:68 src/connectwindow.cpp:87
+#: src/mmoptionwindows.cpp:110
 msgid "Ok"
 msgstr "确定"
 
-#: src/battlelistctrl.cpp:57 src/hostbattledialog.cpp:72
+#: src/battlelistctrl.cpp:56 src/hostbattledialog.cpp:73
 #: src/widgets/infopanel.cpp:120
 msgid "Description"
 msgstr "描述"
 
-#: src/battlelistctrl.cpp:58 src/battleroomtab.cpp:172
+#: src/battlelistctrl.cpp:57 src/battleroomtab.cpp:172
 #: src/filelister/filelistctrl.cpp:183 src/filelister/filelistctrl.cpp:184
 #: src/filelister/filelistctrl.cpp:195 src/filelister/filelistctrl.cpp:196
-#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:143
+#: src/filelister/filelistdialog.cpp:130 src/mainjoinbattletab.cpp:142
 #: src/playback/playbacklistctrl.cpp:43
 msgid "Map"
 msgstr "地图"
 
-#: src/battlelistctrl.cpp:59 src/filelister/filelistctrl.cpp:183
+#: src/battlelistctrl.cpp:58 src/filelister/filelistctrl.cpp:183
 #: src/filelister/filelistctrl.cpp:184 src/filelister/filelistctrl.cpp:195
 #: src/filelister/filelistctrl.cpp:196 src/filelister/filelistdialog.cpp:130
-#: src/hostbattledialog.cpp:89 src/playback/playbacklistctrl.cpp:42
+#: src/hostbattledialog.cpp:90 src/playback/playbacklistctrl.cpp:42
 msgid "Mod"
 msgstr "模组"
 
-#: src/battlelistctrl.cpp:60 src/hostbattledialog.cpp:247
+#: src/battlelistctrl.cpp:59 src/hostbattledialog.cpp:248
 msgid "Host"
 msgstr "主机"
 
-#: src/battlelistctrl.cpp:61
+#: src/battlelistctrl.cpp:60
 #, fuzzy
 msgid "Spectators"
 msgstr "旁观者:"
 
-#: src/battlelistctrl.cpp:62 src/playback/playbacklistctrl.cpp:44
+#: src/battlelistctrl.cpp:61 src/playback/playbacklistctrl.cpp:44
 #, fuzzy
 msgid "Players"
 msgstr "玩家:"
 
-#: src/battlelistctrl.cpp:63
+#: src/battlelistctrl.cpp:62
 #, fuzzy
 msgid "Max"
 msgstr "地图"
@@ -192,11 +192,11 @@ msgstr "下载地图"
 msgid "Download m&od"
 msgstr "下载模组"
 
-#: src/battlelistctrl.cpp:354 src/battlelisttab.cpp:108
+#: src/battlelistctrl.cpp:355 src/battlelisttab.cpp:108
 msgid "Spectators:"
 msgstr "旁观者:"
 
-#: src/battlelistctrl.cpp:361
+#: src/battlelistctrl.cpp:362
 #, fuzzy
 msgid "Active Players:"
 msgstr "玩家:"
@@ -251,8 +251,8 @@ msgid "All"
 msgstr "全部"
 
 #: src/battlelistfilter.cpp:235 src/battlelisttab.cpp:90
-#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:84
-#: src/singleplayertab.cpp:63
+#: src/playback/playbackfilter.cpp:96 src/playback/playbacktab.cpp:83
+#: src/singleplayertab.cpp:62
 msgid "Map:"
 msgstr "地图:"
 
@@ -265,8 +265,8 @@ msgid "Max.Player:"
 msgstr "最大玩家数"
 
 #: src/battlelistfilter.cpp:290 src/battlelisttab.cpp:96
-#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:90
-#: src/singleplayertab.cpp:72
+#: src/playback/playbackfilter.cpp:129 src/playback/playbacktab.cpp:89
+#: src/singleplayertab.cpp:71
 msgid "Mod:"
 msgstr "模组:"
 
@@ -278,15 +278,15 @@ msgstr "仅列出我拥有模组的游戏"
 msgid "    Spectator:"
 msgstr "    观众数:"
 
-#: src/battlelistfilter.cpp:650 src/battlelistfilter.cpp:655
-#: src/battlelistfilter.cpp:656 src/battlelistfilter.cpp:658
-#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:87
-#: src/settings++/tab_quality_video.cpp:88
+#: src/battlelistfilter.cpp:696 src/battlelistfilter.cpp:701
+#: src/battlelistfilter.cpp:702 src/battlelistfilter.cpp:704
+#: src/playback/playbackfilter.cpp:414 src/settings++/tab_quality_video.cpp:89
+#: src/settings++/tab_quality_video.cpp:90
 #, c-format
 msgid "%d"
 msgstr "%d"
 
-#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:96
+#: src/battlelisttab.cpp:102 src/playback/playbacktab.cpp:95
 msgid "Players:"
 msgstr "玩家:"
 
@@ -317,43 +317,43 @@ msgstr "主建新游戏"
 msgid "Join"
 msgstr "加入"
 
-#: src/battlelisttab.cpp:182
+#: src/battlelisttab.cpp:183
 #, c-format
 msgid "%d battles displayed"
 msgstr ""
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid ""
 "You cannot host a game while being offline. Please connect to a lobby server."
 msgstr "离线时你不能主建游戏。请连接到服务器。"
 
-#: src/battlelisttab.cpp:306
+#: src/battlelisttab.cpp:307
 msgid "Not Online."
 msgstr "不在线"
 
-#: src/battlelisttab.cpp:313
+#: src/battlelisttab.cpp:314
 msgid "Hosting is disabled due to the incompatible version you're using"
 msgstr "因为你使用了不匹配的版本,你将不能主建游戏"
 
-#: src/battlelisttab.cpp:313 src/battlelisttab.cpp:319
-#: src/battlelisttab.cpp:501 src/battlelisttab.cpp:536
-#: src/playback/playbacktab.cpp:286 src/playback/playbacktab.cpp:307
-#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:313
-#: src/springoptionstab.cpp:219 src/ui.cpp:609 src/ui.cpp:629
+#: src/battlelisttab.cpp:314 src/battlelisttab.cpp:320
+#: src/battlelisttab.cpp:502 src/battlelisttab.cpp:537
+#: src/playback/playbacktab.cpp:287 src/playback/playbacktab.cpp:308
+#: src/settings++/panel_pathoption.cpp:93 src/singleplayertab.cpp:326
+#: src/springoptionstab.cpp:221 src/ui.cpp:578 src/ui.cpp:598
 msgid "Spring error"
 msgstr "Spring运行错误"
 
-#: src/battlelisttab.cpp:319
+#: src/battlelisttab.cpp:320
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to host a new game"
 msgstr "你已经在运行一个Spring程序了,请在主建新游戏前将它关闭。"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid "Already in a battle"
 msgstr "已经在战斗中"
 
-#: src/battlelisttab.cpp:325
+#: src/battlelisttab.cpp:326
 msgid ""
 "You are already in a battle.\n"
 "\n"
@@ -362,7 +362,7 @@ msgstr ""
 "你已经在战斗中。\n"
 "你想离开现在的战斗以开始新的战斗吗?"
 
-#: src/battlelisttab.cpp:351
+#: src/battlelisttab.cpp:352
 msgid ""
 "Your using wxWidgets prior to version 2.8,\n"
 " port testing is not supported.\n"
@@ -372,7 +372,7 @@ msgstr ""
 " 端口测试不支持。\n"
 " 可能无法主建新游戏。"
 
-#: src/battlelisttab.cpp:358
+#: src/battlelisttab.cpp:359
 #, c-format
 msgid ""
 "The server used for testing your port %d is unreachable. \n"
@@ -381,7 +381,7 @@ msgstr ""
 "无法连接到用来测试端口 %d 的服务器。 \n"
 "使用该设置可能无法主建游戏。"
 
-#: src/battlelisttab.cpp:366 src/battlelisttab.cpp:379
+#: src/battlelisttab.cpp:367 src/battlelisttab.cpp:380
 #, c-format
 msgid ""
 "Battle not started because the port you selected (%d) is unable to recieve "
@@ -397,36 +397,36 @@ msgstr ""
 "\n"
 "如果上述方法依然失败,请在主建设置中启用 穿越NAT阻挡 选项。"
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Battle not started beacuse the mod you selected could not be found. "
 msgstr "因为你选择的模组无法被找到,因此战斗无法开始。 "
 
-#: src/battlelisttab.cpp:395
+#: src/battlelisttab.cpp:396
 msgid "Error starting battle."
 msgstr "启动战斗时出错。"
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid ""
 "Couldn't find any maps in your spring installation. This could happen when "
 "you set the Spring settings incorrectly."
 msgstr "无法找到任何地图。可能是因为您错误的设置了Spring导致的。"
 
-#: src/battlelisttab.cpp:407 src/battlelisttab.cpp:418
+#: src/battlelisttab.cpp:408 src/battlelisttab.cpp:419
 msgid "No maps found"
 msgstr "没有找到地图"
 
-#: src/battlelisttab.cpp:501
+#: src/battlelisttab.cpp:502
 msgid ""
 "Joining battles is disabled due to the incompatible spring version you're "
 "using."
 msgstr "因为您的Spring版本不兼容,因此无法加入战斗。"
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid "Already in this battle"
 msgstr "已经在战斗中"
 
-#: src/battlelisttab.cpp:509
+#: src/battlelisttab.cpp:510
 #, fuzzy
 msgid ""
 "You are already in this battle.\n"
@@ -436,12 +436,12 @@ msgstr ""
 "你已经在战斗中。\n"
 "你想离开现在的战斗以开始新的战斗吗?"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid "Already in another battle"
 msgstr "已经在战斗中"
 
-#: src/battlelisttab.cpp:523
+#: src/battlelisttab.cpp:524
 #, fuzzy
 msgid ""
 "You are already in a battle.\n"
@@ -452,17 +452,17 @@ msgstr ""
 "\n"
 "你想要离开当前战斗并加入这一个吗?"
 
-#: src/battlelisttab.cpp:536
+#: src/battlelisttab.cpp:537
 msgid ""
 "You already are running a Spring instance, close it first in order to be "
 "able to join another battle."
 msgstr "你已经运行了一个Spring,请先关闭Spring再加入其他战斗。"
 
-#: src/battlelisttab.cpp:541 src/playback/playbacktab.cpp:318
+#: src/battlelisttab.cpp:542 src/playback/playbacktab.cpp:319
 msgid "Do you want me to take you to the download page?"
 msgstr "你想要前往下载页面吗?"
 
-#: src/battlelisttab.cpp:543 src/playback/playbacktab.cpp:320
+#: src/battlelisttab.cpp:544 src/playback/playbacktab.cpp:321
 #, fuzzy
 msgid ""
 "Should i try to download it for you?\n"
@@ -471,7 +471,7 @@ msgstr ""
 "是否要下载它?\n"
 "你可以在“下载管理器”选项卡中看到其进度。"
 
-#: src/battlelisttab.cpp:548
+#: src/battlelisttab.cpp:549
 msgid ""
 "You need to download the mod before you can join this game.\n"
 "\n"
@@ -479,11 +479,11 @@ msgstr ""
 "在你能够加入该游戏前,你需要下载模组。\n"
 "\n"
 
-#: src/battlelisttab.cpp:548 src/playback/playbacktab.cpp:326
+#: src/battlelisttab.cpp:549 src/playback/playbacktab.cpp:327
 msgid "Mod not available"
 msgstr "模组不可用"
 
-#: src/battlelisttab.cpp:558
+#: src/battlelisttab.cpp:559
 msgid ""
 "You need to download the map to be able to play in this game.\n"
 "\n"
@@ -491,15 +491,15 @@ msgstr ""
 "在玩此游戏前你需要下载地图。\n"
 "\n"
 
-#: src/battlelisttab.cpp:558 src/playback/playbacktab.cpp:338
+#: src/battlelisttab.cpp:559 src/playback/playbacktab.cpp:339
 msgid "Map not available"
 msgstr "地图不可用"
 
-#: src/battlelisttab.cpp:567 src/chatpanel.cpp:1560
+#: src/battlelisttab.cpp:568
 msgid "Battle password"
 msgstr "游戏密码"
 
-#: src/battlelisttab.cpp:567
+#: src/battlelisttab.cpp:568
 msgid "Enter password"
 msgstr "输入密码"
 
@@ -509,45 +509,45 @@ msgid "Select"
 msgstr "选择..."
 
 #: src/battlemaptab.cpp:86 src/battleroomtab.cpp:283
-#: src/mapselectdialog.cpp:149
+#: src/mapselectdialog.cpp:148
 msgid "Option"
 msgstr "选项"
 
 #: src/battlemaptab.cpp:88 src/battleroomtab.cpp:285
-#: src/mapselectdialog.cpp:151
+#: src/mapselectdialog.cpp:150
 msgid "Value"
 msgstr "值"
 
 #: src/battlemaptab.cpp:93 src/battleroomtab.cpp:290 src/battleroomtab.cpp:291
 #: src/battleroomtab.cpp:500 src/battleroomtab.cpp:507
-#: src/mapselectdialog.cpp:156
+#: src/mapselectdialog.cpp:155
 msgid "Size"
 msgstr "大小"
 
 #: src/battlemaptab.cpp:94 src/battleroomtab.cpp:292 src/battleroomtab.cpp:293
 #: src/battleroomtab.cpp:501 src/battleroomtab.cpp:508
-#: src/mapselectdialog.cpp:157
+#: src/mapselectdialog.cpp:156
 msgid "Windspeed"
 msgstr "风速"
 
 #: src/battlemaptab.cpp:95 src/battleroomtab.cpp:294 src/battleroomtab.cpp:295
 #: src/battleroomtab.cpp:502 src/battleroomtab.cpp:509
-#: src/mapselectdialog.cpp:158 src/mapselectdialog.cpp:261
+#: src/mapselectdialog.cpp:157 src/mapselectdialog.cpp:260
 msgid "Tidal strength"
 msgstr "潮汐强度"
 
-#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:159
-#: src/mapselectdialog.cpp:262
+#: src/battlemaptab.cpp:96 src/mapselectdialog.cpp:158
+#: src/mapselectdialog.cpp:261
 msgid "Gravity"
 msgstr "重力"
 
-#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:160
-#: src/mapselectdialog.cpp:264
+#: src/battlemaptab.cpp:97 src/mapselectdialog.cpp:159
+#: src/mapselectdialog.cpp:263
 msgid "Extractor radius"
 msgstr "金属采集半径"
 
-#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:161
-#: src/mapselectdialog.cpp:263
+#: src/battlemaptab.cpp:98 src/mapselectdialog.cpp:160
+#: src/mapselectdialog.cpp:262
 msgid "Max metal"
 msgstr "金属含量"
 
@@ -569,267 +569,267 @@ msgstr "在游戏中选择"
 msgid "Startpositions"
 msgstr "出生位置"
 
-#: src/battleoptionstab.cpp:52
+#: src/battleoptionstab.cpp:53
 msgid "Unit restrictions"
 msgstr "单位限制"
 
-#: src/battleoptionstab.cpp:60
+#: src/battleoptionstab.cpp:61
 msgid "Allowed units"
 msgstr "允许单位"
 
-#: src/battleoptionstab.cpp:64
+#: src/battleoptionstab.cpp:65
 msgid "Units in this list will be available in the game."
 msgstr "在这个清单中的单位将在游戏中可用"
 
-#: src/battleoptionstab.cpp:76
+#: src/battleoptionstab.cpp:77
 #, fuzzy
 msgid "Disable selected units."
 msgstr "允许所有单位。"
 
-#: src/battleoptionstab.cpp:80
+#: src/battleoptionstab.cpp:81
 #, fuzzy
 msgid "Re-enable selected units."
 msgstr "允许所有单位。"
 
-#: src/battleoptionstab.cpp:83
+#: src/battleoptionstab.cpp:84
 msgid "<<"
 msgstr ""
 
-#: src/battleoptionstab.cpp:84
+#: src/battleoptionstab.cpp:85
 msgid "Enable all units."
 msgstr "允许所有单位。"
 
-#: src/battleoptionstab.cpp:93
+#: src/battleoptionstab.cpp:94
 msgid "Restricted units"
 msgstr "限制单位"
 
-#: src/battleoptionstab.cpp:97
+#: src/battleoptionstab.cpp:98
 msgid "Units in this list will not be available in the game."
 msgstr "该列表中的单位将不能在游戏中使用"
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 msgid "How many units of this type do you wish to allow?"
 msgstr ""
 
-#: src/battleoptionstab.cpp:238
+#: src/battleoptionstab.cpp:239
 #, fuzzy
 msgid "Unit restriction"
 msgstr "单位限制"
 
-#: src/battleroomlistctrl.cpp:88 src/connectwindow.cpp:70
-#: src/nicklistctrl.cpp:61 src/selectusersdialog.cpp:106
+#: src/battleroomlistctrl.cpp:87 src/connectwindow.cpp:71
+#: src/nicklistctrl.cpp:62 src/selectusersdialog.cpp:106
 #: src/userlistctrl.cpp:20
 msgid "Nickname"
 msgstr "昵称"
 
-#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:115
+#: src/battleroomlistctrl.cpp:88 src/battleroomlistctrl.cpp:114
 #: src/battleroomtab.cpp:158
 msgid "Team"
 msgstr "队伍"
 
-#: src/battleroomlistctrl.cpp:90 src/battleroomlistctrl.cpp:124
+#: src/battleroomlistctrl.cpp:89 src/battleroomlistctrl.cpp:123
 #: src/battleroomtab.cpp:159
 msgid "Ally"
 msgstr "联盟"
 
-#: src/battleroomlistctrl.cpp:91
+#: src/battleroomlistctrl.cpp:90
 msgid "CPU"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:92
+#: src/battleroomlistctrl.cpp:91
 msgid "Resource Bonus"
 msgstr "资源加成"
 
-#: src/battleroomlistctrl.cpp:137 src/battleroomtab.cpp:161
+#: src/battleroomlistctrl.cpp:136 src/battleroomtab.cpp:161
 msgid "Side"
 msgstr "阵营"
 
-#: src/battleroomlistctrl.cpp:141
+#: src/battleroomlistctrl.cpp:140
 msgid "Set color"
 msgstr "设置颜色"
 
-#: src/battleroomlistctrl.cpp:146 src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:145 src/battleroomlistctrl.cpp:403
 msgid "Set Resource Bonus"
 msgstr "设置资源加成"
 
-#: src/battleroomlistctrl.cpp:151 src/battleroomlistctrl.cpp:334
+#: src/battleroomlistctrl.cpp:150 src/battleroomlistctrl.cpp:334
 #: src/battleroomlistctrl.cpp:343 src/battleroomtab.cpp:143
 msgid "Spectator"
 msgstr "观看者"
 
-#: src/battleroomlistctrl.cpp:156 src/battleroomlistctrl.cpp:338
+#: src/battleroomlistctrl.cpp:155 src/battleroomlistctrl.cpp:338
 #: src/battleroomlistctrl.cpp:348
 msgid "Kick"
 msgstr "踢出"
 
-#: src/battleroomlistctrl.cpp:158 src/battleroomlistctrl.cpp:337
-#: src/battleroomlistctrl.cpp:346 src/chatpanel.cpp:570
+#: src/battleroomlistctrl.cpp:157 src/battleroomlistctrl.cpp:337
+#: src/battleroomlistctrl.cpp:346
 msgid "Ring"
 msgstr "闹铃提示"
 
-#: src/battleroomlistctrl.cpp:398
+#: src/battleroomlistctrl.cpp:403
 msgid "Please enter a value between 0 and 100"
 msgstr "请输入介于0与100之间的一个值"
 
-#: src/battleroomlistctrl.cpp:717
+#: src/battleroomlistctrl.cpp:722
 #, fuzzy
 msgid "AI (bot)\n"
 msgstr "添加AI"
 
-#: src/battleroomlistctrl.cpp:719
+#: src/battleroomlistctrl.cpp:724
 #, fuzzy
 msgid "Human\n"
 msgstr "阿曼"
 
-#: src/battleroomlistctrl.cpp:722
+#: src/battleroomlistctrl.cpp:727
 #, fuzzy
 msgid "Spectator\n"
 msgstr "观看者"
 
-#: src/battleroomlistctrl.cpp:724
+#: src/battleroomlistctrl.cpp:729
 #, fuzzy
 msgid "Player\n"
 msgstr "玩家:"
 
-#: src/battleroomlistctrl.cpp:727
+#: src/battleroomlistctrl.cpp:732
 #, fuzzy
 msgid "Host\n"
 msgstr "主机"
 
-#: src/battleroomlistctrl.cpp:729
+#: src/battleroomlistctrl.cpp:734
 #, fuzzy
 msgid "Client\n"
 msgstr "客户端"
 
-#: src/battleroomlistctrl.cpp:732
+#: src/battleroomlistctrl.cpp:737
 #, fuzzy
 msgid "Ready\n"
 msgstr "总是"
 
-#: src/battleroomlistctrl.cpp:734
+#: src/battleroomlistctrl.cpp:739
 #, fuzzy
 msgid "Not ready\n"
 msgstr "未就绪"
 
-#: src/battleroomlistctrl.cpp:737
+#: src/battleroomlistctrl.cpp:742
 #, fuzzy
 msgid "In sync"
 msgstr "启用 垂直同步"
 
-#: src/battleroomlistctrl.cpp:739
+#: src/battleroomlistctrl.cpp:744
 msgid "Not in sync"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:791 src/chatpanel.cpp:1787
+#: src/battleroomlistctrl.cpp:797
 msgid "Enter name"
 msgstr ""
 
-#: src/battleroomlistctrl.cpp:792 src/chatpanel.cpp:1788
+#: src/battleroomlistctrl.cpp:798
 msgid ""
 "Please enter the name for the new group.\n"
 "After clicking ok you will be taken to adjust its settings."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:55 src/battleroomtab.cpp:249
+#: src/battleroommmoptionstab.cpp:56 src/battleroomtab.cpp:249
 msgid "Manage Presets"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:58
+#: src/battleroommmoptionstab.cpp:59
 #, fuzzy
 msgid "Set name."
 msgstr "设置权限..."
 
-#: src/battleroommmoptionstab.cpp:62
+#: src/battleroommmoptionstab.cpp:63
 msgid "Load..."
 msgstr "载入..."
 
-#: src/battleroommmoptionstab.cpp:63
+#: src/battleroommmoptionstab.cpp:64
 #, fuzzy
 msgid "Load a saved set of options."
 msgstr "载入已储存的单位限制配置"
 
-#: src/battleroommmoptionstab.cpp:67
+#: src/battleroommmoptionstab.cpp:68
 #, fuzzy
 msgid "Save..."
 msgstr "保存..."
 
-#: src/battleroommmoptionstab.cpp:68 src/battleroomtab.cpp:260
+#: src/battleroommmoptionstab.cpp:69 src/battleroomtab.cpp:260
 #, fuzzy
 msgid "Save a set of options."
 msgstr "保存单位限制配置"
 
-#: src/battleroommmoptionstab.cpp:72
+#: src/battleroommmoptionstab.cpp:73
 #, fuzzy
 msgid "Delete..."
 msgstr "选择..."
 
-#: src/battleroommmoptionstab.cpp:73 src/battleroomtab.cpp:265
+#: src/battleroommmoptionstab.cpp:74 src/battleroomtab.cpp:265
 #, fuzzy
 msgid "Delete a set of options."
 msgstr "保存单位限制配置"
 
-#: src/battleroommmoptionstab.cpp:77
+#: src/battleroommmoptionstab.cpp:78
 #, fuzzy
 msgid "Set default..."
 msgstr "默认"
 
-#: src/battleroommmoptionstab.cpp:78 src/battleroomtab.cpp:270
+#: src/battleroommmoptionstab.cpp:79 src/battleroomtab.cpp:270
 msgid "Use the current set of options as mod's default."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:86
+#: src/battleroommmoptionstab.cpp:87
 msgid "Mod Options"
 msgstr "模组选项"
 
-#: src/battleroommmoptionstab.cpp:91
+#: src/battleroommmoptionstab.cpp:92
 msgid "Map Options"
 msgstr "地图选项"
 
-#: src/battleroommmoptionstab.cpp:152
+#: src/battleroommmoptionstab.cpp:151
 #, fuzzy
 msgid "no options available"
 msgstr "不可用"
 
-#: src/battleroommmoptionstab.cpp:159
+#: src/battleroommmoptionstab.cpp:158
 msgid "other"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497
+#: src/battleroommmoptionstab.cpp:496
 msgid ""
 "Cannot load an options set without a name\n"
 "Please select one from the list and try again."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:497 src/battleroommmoptionstab.cpp:514
-#: src/battleroomtab.cpp:884 src/ui.cpp:835
+#: src/battleroommmoptionstab.cpp:496 src/battleroommmoptionstab.cpp:513
+#: src/battleroomtab.cpp:884 src/ui.cpp:804
 msgid "error"
 msgstr "错误"
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid "Enter preset name"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:510 src/battleroomtab.cpp:880
+#: src/battleroommmoptionstab.cpp:509 src/battleroomtab.cpp:880
 msgid ""
 "Enter a name to save the current set of options\n"
 "If a preset with the same name already exist, it will be overwritten"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:514 src/battleroomtab.cpp:884
+#: src/battleroommmoptionstab.cpp:513 src/battleroomtab.cpp:884
 msgid "Cannot save an options set without a name."
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroommmoptionstab.cpp:534
+#: src/battleroommmoptionstab.cpp:524 src/battleroommmoptionstab.cpp:533
 #: src/battleroomtab.cpp:894 src/battleroomtab.cpp:902
 msgid "Pick an existing option set from the list"
 msgstr ""
 
-#: src/battleroommmoptionstab.cpp:525 src/battleroomtab.cpp:894
+#: src/battleroommmoptionstab.cpp:524 src/battleroomtab.cpp:894
 #, fuzzy
 msgid "Delete preset"
 msgstr "反射的"
 
-#: src/battleroommmoptionstab.cpp:534 src/battleroomtab.cpp:902
+#: src/battleroommmoptionstab.cpp:533 src/battleroomtab.cpp:902
 #, fuzzy
 msgid "Set mod default preset"
 msgstr "默认"
@@ -873,7 +873,7 @@ msgid ""
 msgstr ""
 "选中地图的预览图。你可以看到出生位置,或者(如果已设置好的话)出生区域。"
 
-#: src/battleroomtab.cpp:180 src/chatpanel.cpp:424
+#: src/battleroomtab.cpp:180
 msgid "Leave"
 msgstr "离开"
 
@@ -881,7 +881,7 @@ msgstr "离开"
 msgid "Leave the battle and return to the battle list"
 msgstr "离开战斗并返回大厅"
 
-#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:106
+#: src/battleroomtab.cpp:182 src/singleplayertab.cpp:105
 msgid "Start"
 msgstr "开始"
 
@@ -1069,7 +1069,7 @@ msgstr ""
 msgid "Save"
 msgstr "保存..."
 
-#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:137
+#: src/battleroomtab.cpp:264 src/playback/playbacktab.cpp:136
 #, fuzzy
 msgid "Delete"
 msgstr "反射的"
@@ -1150,7 +1150,7 @@ msgstr ""
 msgid "Find channel:"
 msgstr "加入频道..."
 
-#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:226
+#: src/channel/channelchooserdialog.cpp:13 src/mainwindow.cpp:229
 #, fuzzy
 msgid "Choose channels to join"
 msgstr "加入频道的名称"
@@ -1220,67 +1220,64 @@ msgstr ""
 "无法打开日志文件。 \n"
 "请确认写保护是否被打开。\n"
 
-#: src/chatoptionstab.cpp:73
+#: src/chatoptionstab.cpp:71
 msgid "Colors and font"
 msgstr "颜色与字体"
 
-#: src/chatoptionstab.cpp:78
+#: src/chatoptionstab.cpp:76
 msgid "Use system colors"
 msgstr "使用系统颜色"
 
-#: src/chatoptionstab.cpp:104
+#: src/chatoptionstab.cpp:102
 msgid "Normal"
 msgstr "普通"
 
-#: src/chatoptionstab.cpp:118
+#: src/chatoptionstab.cpp:116
 msgid "Background"
 msgstr "背景"
 
-#: src/chatoptionstab.cpp:132
+#: src/chatoptionstab.cpp:130
 msgid "Action"
 msgstr "动作"
 
-#: src/chatoptionstab.cpp:146 src/groupoptionspanel.cpp:125
+#: src/chatoptionstab.cpp:144 src/groupoptionspanel.cpp:125
 msgid "Highlight"
 msgstr "高亮显示"
 
-#: src/chatoptionstab.cpp:160
+#: src/chatoptionstab.cpp:158
 msgid "Join/Leave"
 msgstr "加入/离开"
 
-#: src/chatoptionstab.cpp:174
+#: src/chatoptionstab.cpp:172
 msgid "My messages"
 msgstr "我的消息"
 
-#: src/chatoptionstab.cpp:193 src/connectwindow.cpp:64
+#: src/chatoptionstab.cpp:191 src/connectwindow.cpp:65
 msgid "Server"
 msgstr "服务器"
 
-#: src/chatoptionstab.cpp:207
+#: src/chatoptionstab.cpp:205
 msgid "Client"
 msgstr "客户端"
 
-#: src/chatoptionstab.cpp:221 src/chatpanel.cpp:1524 src/chatpanel.cpp:1698
-#: src/chatpanel.cpp:1704 src/chatpanel.cpp:1797
-#: src/Helper/imageviewer.cpp:146 src/Helper/imageviewer.cpp:170
-#: src/playback/playbacktab.cpp:377 src/serverevents.cpp:970
-#: src/settings++/tab_abstract.cpp:129 src/tasserver.cpp:517
-#: src/updater/updater.cpp:46 src/updater/updater.cpp:82
-#: src/updater/updater.cpp:97 src/updater/updater.cpp:102
-#: src/updater/updater.cpp:105 src/widgets/infopanel.cpp:161
-#: src/widgets/infopanel.cpp:173
+#: src/chatoptionstab.cpp:219 src/Helper/imageviewer.cpp:146
+#: src/Helper/imageviewer.cpp:170 src/playback/playbacktab.cpp:378
+#: src/serverevents.cpp:972 src/settings++/tab_abstract.cpp:131
+#: src/tasserver.cpp:517 src/updater/updater.cpp:45 src/updater/updater.cpp:72
+#: src/updater/updater.cpp:88 src/updater/updater.cpp:92
+#: src/widgets/infopanel.cpp:161 src/widgets/infopanel.cpp:173
 msgid "Error"
 msgstr "错误"
 
-#: src/chatoptionstab.cpp:235
+#: src/chatoptionstab.cpp:233
 msgid "Timestamp"
 msgstr "时间戳"
 
-#: src/chatoptionstab.cpp:249
+#: src/chatoptionstab.cpp:247
 msgid "Notification"
 msgstr "通知"
 
-#: src/chatoptionstab.cpp:259
+#: src/chatoptionstab.cpp:257
 #, fuzzy
 msgid ""
 "[19:35] ** Server ** Connected to Server.\n"
@@ -1297,562 +1294,224 @@ msgstr ""
 "[22:45] <Dude> Dude2: orl?\n"
 "[22:46] <Dude2> But could be better, should tweak them some more...\n"
 
-#: src/chatoptionstab.cpp:270
+#: src/chatoptionstab.cpp:268
 msgid "Font:"
 msgstr "字体:"
 
-#: src/chatoptionstab.cpp:274
+#: src/chatoptionstab.cpp:272
 msgid "default"
 msgstr "默认"
 
-#: src/chatoptionstab.cpp:278
+#: src/chatoptionstab.cpp:276
 msgid "Select..."
 msgstr "选择..."
 
-#: src/chatoptionstab.cpp:289
+#: src/chatoptionstab.cpp:287
 msgid "Behavior"
 msgstr "行为"
 
-#: src/chatoptionstab.cpp:291
+#: src/chatoptionstab.cpp:289
 msgid "Enable Irc colors in chat messages"
 msgstr ""
 
-#: src/chatoptionstab.cpp:296
+#: src/chatoptionstab.cpp:294
 msgid "Play notification sounds"
 msgstr "播放通知声音"
 
-#: src/chatoptionstab.cpp:307
+#: src/chatoptionstab.cpp:305
 msgid "Chat logs"
 msgstr "聊天日志"
 
-#: src/chatoptionstab.cpp:310
+#: src/chatoptionstab.cpp:308
 msgid "Save chat logs"
 msgstr "保存聊天记录"
 
-#: src/chatoptionstab.cpp:318
+#: src/chatoptionstab.cpp:316
 msgid "Highlight words"
 msgstr "高亮文本"
 
-#: src/chatoptionstab.cpp:320
+#: src/chatoptionstab.cpp:318
 msgid "Words to highlight in chat:"
 msgstr "聊天中高亮显示字:"
 
-#: src/chatoptionstab.cpp:329
+#: src/chatoptionstab.cpp:327
 msgid "enter a ; seperated list"
 msgstr "输入一个由 ; 分隔开的列表"
 
-#: src/chatoptionstab.cpp:333
+#: src/chatoptionstab.cpp:331
 msgid "Additionally play sound/flash titlebar "
 msgstr "额外的播放声音/闪烁标题栏 "
 
-#: src/chatpanel.cpp:124
+#: src/chatpanel.cpp:68
 msgid "channel_"
 msgstr "频道_"
 
-#: src/chatpanel.cpp:126
+#: src/chatpanel.cpp:70
 msgid "#"
 msgstr "#"
 
-#: src/chatpanel.cpp:307 src/chatpanel.cpp:960 src/chatpanel.cpp:976
-#: src/chatpanel.cpp:1001
+#: src/chatpanel.cpp:242 src/chatpanel.cpp:677 src/chatpanel.cpp:692
+#: src/chatpanel.cpp:716
 #, fuzzy, c-format
 msgid "%d users"
 msgstr "(%d 名用户)"
 
-#: src/chatpanel.cpp:335
+#: src/chatpanel.cpp:271
 msgid "right click for options (like autojoin)"
 msgstr "右键选项(如自动加入)"
 
-#: src/chatpanel.cpp:343
+#: src/chatpanel.cpp:279
 msgid "Send"
 msgstr "发送"
 
-#: src/chatpanel.cpp:397
-msgid "Disable text appending (workaround for autoscroll)"
-msgstr ""
-
-#: src/chatpanel.cpp:401
-msgid "Copy"
-msgstr "复制"
-
-#: src/chatpanel.cpp:407
-msgid "Copy link location"
-msgstr ""
-
-#: src/chatpanel.cpp:411
-msgid "Clear"
-msgstr "清除"
-
-#: src/chatpanel.cpp:417
-msgid "Auto join this channel"
-msgstr "自动加入该频道"
-
-#: src/chatpanel.cpp:427
-msgid "Display Join/Leave Messages"
-msgstr "显示 加入/离开 信息"
-
-#: src/chatpanel.cpp:433
-#, fuzzy
-msgid "Show mute list"
-msgstr "显示工具提示"
-
-#: src/chatpanel.cpp:439
-msgid "Channel info"
-msgstr "频道信息"
-
-#: src/chatpanel.cpp:443 src/chatpanel.cpp:1360
-msgid "Set topic..."
-msgstr "设置话题..."
-
-#: src/chatpanel.cpp:445 src/chatpanel.cpp:1377
-msgid "Channel message..."
-msgstr "频道消息..."
-
-#: src/chatpanel.cpp:449
-msgid "Lock..."
-msgstr "锁定..."
-
-#: src/chatpanel.cpp:451
-msgid "Unlock"
-msgstr "解锁"
-
-#: src/chatpanel.cpp:455
-msgid "Register..."
-msgstr "注册..."
-
-#: src/chatpanel.cpp:457
-msgid "Unregister"
-msgstr "注销"
-
-#: src/chatpanel.cpp:463
-msgid "On"
-msgstr "打开"
-
-#: src/chatpanel.cpp:465
-msgid "Off"
-msgstr "关闭"
-
-#: src/chatpanel.cpp:469
-msgid "Is on?"
-msgstr "是否开启"
-
-#: src/chatpanel.cpp:471
-msgid "Spam protection"
-msgstr "垃圾消息保护"
-
-#: src/chatpanel.cpp:472 src/chatpanel.cpp:595
-msgid "ChanServ"
-msgstr "频道服务器"
-
-#: src/chatpanel.cpp:479
-msgid "Disconnect"
-msgstr "断开连接"
-
-#: src/chatpanel.cpp:481
-msgid "Reconnect"
-msgstr "重新连接"
-
-#: src/chatpanel.cpp:490
-msgid "Remove..."
-msgstr "移除..."
-
-#: src/chatpanel.cpp:492
-msgid "Change password..."
-msgstr "更改密码..."
-
-#: src/chatpanel.cpp:494
-msgid "Set access..."
-msgstr "设置权限..."
-
-#: src/chatpanel.cpp:496
-msgid "Accounts"
-msgstr "帐户"
-
-#: src/chatpanel.cpp:499
-msgid "Broadcast..."
-msgstr "广播..."
-
-#: src/chatpanel.cpp:501
-msgid "Admin"
-msgstr "管理员"
-
-#: src/chatpanel.cpp:510
-#, fuzzy
-msgid "User"
-msgstr "禁言用户"
-
-#: src/chatpanel.cpp:514
-msgid "Open log in editor"
-msgstr ""
-
-#: src/chatpanel.cpp:525
-msgid "Open Chat"
-msgstr "公众聊天"
-
-#: src/chatpanel.cpp:528
-msgid "Join same battle"
-msgstr "加入同一战斗"
-
-#: src/chatpanel.cpp:534
-msgid "Ingame time"
-msgstr "游戏持续时间"
-
-#: src/chatpanel.cpp:536
-msgid "Retrieve IP and Smurfs"
-msgstr "返回IP与Smurf"
-
-#: src/chatpanel.cpp:543 src/chatpanel.cpp:582
-msgid "Mute..."
-msgstr "禁言..."
-
-#: src/chatpanel.cpp:545
-msgid "Mute for 5 minutes"
-msgstr "禁言5分钟"
-
-#: src/chatpanel.cpp:547
-msgid "Mute for 10 minutes"
-msgstr "禁言10分钟"
-
-#: src/chatpanel.cpp:549
-msgid "Mute for 30 minutes"
-msgstr "禁言30分钟"
-
-#: src/chatpanel.cpp:551
-msgid "Mute for 2 hours"
-msgstr "禁言2小时"
-
-#: src/chatpanel.cpp:553
-msgid "Mute for 1 day"
-msgstr "禁言1天"
-
-#: src/chatpanel.cpp:556 src/chatpanel.cpp:584
-msgid "Unmute"
-msgstr "取消禁言"
-
-#: src/chatpanel.cpp:558
-msgid "Mute"
-msgstr "禁言"
-
-#: src/chatpanel.cpp:560 src/chatpanel.cpp:587
-msgid "Kick..."
-msgstr "踢出..."
-
-#: src/chatpanel.cpp:564
-msgid "Ban..."
-msgstr "禁闭..."
-
-#: src/chatpanel.cpp:566
-msgid "Unban"
-msgstr "解禁"
-
-#: src/chatpanel.cpp:574
-msgid "Slap!"
-msgstr "打耳光!"
-
-#: src/chatpanel.cpp:591
-msgid "Op"
-msgstr "给管理员权限"
-
-#: src/chatpanel.cpp:593
-msgid "DeOp"
-msgstr "取消管理员权限"
-
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid " !! Command: \""
 msgstr " !! 指令:“"
 
-#: src/chatpanel.cpp:936
+#: src/chatpanel.cpp:655
 msgid "\" params: \""
 msgstr "” 参数:“"
 
-#: src/chatpanel.cpp:942
+#: src/chatpanel.cpp:660
 msgid "channel"
 msgstr "频道"
 
-#: src/chatpanel.cpp:943
+#: src/chatpanel.cpp:661
 msgid "battle"
 msgstr "战斗"
 
-#: src/chatpanel.cpp:944
+#: src/chatpanel.cpp:662
 msgid "server"
 msgstr "服务器"
 
-#: src/chatpanel.cpp:956 src/chatpanel.cpp:964
+#: src/chatpanel.cpp:673 src/chatpanel.cpp:681
 msgid " joined the "
 msgstr " 加入 "
 
-#: src/chatpanel.cpp:997 src/chatpanel.cpp:1006
+#: src/chatpanel.cpp:712 src/chatpanel.cpp:721
 msgid " left the "
 msgstr " 离开 "
 
-#: src/chatpanel.cpp:1029
+#: src/chatpanel.cpp:743
 #, fuzzy
 msgid " ** Channel topic:"
 msgstr "频道信息"
 
-#: src/chatpanel.cpp:1036
+#: src/chatpanel.cpp:750
 #, fuzzy
 msgid " ** Set by "
 msgstr ""
 "\n"
 " * 设置由 "
 
-#: src/chatpanel.cpp:1063 src/chatpanel.cpp:1088 src/chatpanel.cpp:1114
+#: src/chatpanel.cpp:774 src/chatpanel.cpp:798 src/chatpanel.cpp:822
 msgid "Chat closed."
 msgstr "聊天被关闭。"
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 #, c-format
 msgid "Are you sure you want to paste %d lines?"
 msgstr "你确认你要粘贴 %d 行吗?"
 
-#: src/chatpanel.cpp:1161
+#: src/chatpanel.cpp:865
 msgid "Flood warning"
 msgstr "Flood警报"
 
-#: src/chatpanel.cpp:1173
+#: src/chatpanel.cpp:877
 msgid " You have SpringLobby v"
 msgstr " 您使用 SpringLobby v"
 
-#: src/chatpanel.cpp:1186
+#: src/chatpanel.cpp:889
 msgid " You are not in channel or channel does not exist."
 msgstr " 你还没有加入频道或者频道不存在。"
 
-#: src/chatpanel.cpp:1192 src/chatpanel.cpp:1206 src/chatpanel.cpp:1220
-#: src/chatpanel.cpp:1230
+#: src/chatpanel.cpp:895 src/chatpanel.cpp:909 src/chatpanel.cpp:923
+#: src/chatpanel.cpp:933
 #, c-format
 msgid ""
 " Error: Command (%s) does not exist, use /help for a list of available "
 "commands."
 msgstr " 错误: 指令 %s 不存在,请使用 /help 获得指令列表。"
 
-#: src/chatpanel.cpp:1200
+#: src/chatpanel.cpp:903
 msgid ""
 " You are not in battle or battle does not exist, use /help for a list of "
 "available commands."
 msgstr " 你不在战斗中或者战斗不存在,使用 /help 获得指令列表。"
 
-#: src/chatpanel.cpp:1214
+#: src/chatpanel.cpp:917
 msgid " User is offline."
 msgstr " 用户不在线。"
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid " Sent: \""
 msgstr " 已发送: “"
 
-#: src/chatpanel.cpp:1248
+#: src/chatpanel.cpp:951
 msgid "\""
 msgstr "”"
 
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1421
-#: src/chatpanel.cpp:1438 src/chatpanel.cpp:1454 src/chatpanel.cpp:1468
-#: src/chatpanel.cpp:1482 src/chatpanel.cpp:1585 src/chatpanel.cpp:1607
-#: src/chatpanel.cpp:1624 src/chatpanel.cpp:1646 src/chatpanel.cpp:1663
-msgid "ChanServ error"
-msgstr "频道服务器错误"
-
-#: src/chatpanel.cpp:1340 src/chatpanel.cpp:1354 src/chatpanel.cpp:1371
-#: src/chatpanel.cpp:1388 src/chatpanel.cpp:1405 src/chatpanel.cpp:1454
-#: src/chatpanel.cpp:1468 src/chatpanel.cpp:1482 src/chatpanel.cpp:1585
-#: src/chatpanel.cpp:1607 src/chatpanel.cpp:1624 src/chatpanel.cpp:1646
-#: src/chatpanel.cpp:1663
-msgid "ChanServ is not in this channel."
-msgstr "频道服务器不在该频道。"
-
-#: src/chatpanel.cpp:1360
-msgid "What should be the new topic?"
-msgstr "新话题应该是什么?"
-
-#: src/chatpanel.cpp:1377
-msgid "Message:"
-msgstr "消息:"
-
-#: src/chatpanel.cpp:1394
-msgid "Lock channel..."
-msgstr "锁定频道..."
-
-#: src/chatpanel.cpp:1394
-msgid "What should the new password be?"
-msgstr "新密码应该是什么?"
-
-#: src/chatpanel.cpp:1410
-msgid "Unlock Channel"
-msgstr "解锁频道"
-
-#: src/chatpanel.cpp:1410
-msgid "Are you sure you want to unlock this channel?"
-msgstr "你确认你要解锁该频道?"
-
-#: src/chatpanel.cpp:1421 src/chatpanel.cpp:1438
-msgid "ChanServ is not on this server."
-msgstr "频道服务器不在该服务器。"
-
-#: src/chatpanel.cpp:1427
-msgid "Register Channel"
-msgstr "注册频道"
-
-#: src/chatpanel.cpp:1427
-msgid "Who should be appointed founder of this channel?"
-msgstr "谁应该被指派为该频道的创建者?"
-
-#: src/chatpanel.cpp:1443
-msgid "Unregister Channel"
-msgstr "注销频道"
-
-#: src/chatpanel.cpp:1443
-msgid "Are you sure you want to unregister this channel?"
-msgstr "你确认你要注销此频道?"
-
-#: src/chatpanel.cpp:1507
-msgid "Remove User Acount"
-msgstr "移除用户帐户"
-
-#: src/chatpanel.cpp:1507
-msgid "What user account do you want to remove today?"
-msgstr "你想要移除哪个用户帐户?"
-
-#: src/chatpanel.cpp:1508
-msgid "Remove Account"
-msgstr "删除账户"
-
-#: src/chatpanel.cpp:1508
-msgid "Are you sure you want to remove the account "
-msgstr "你确认你要移除帐户 "
-
-#: src/chatpanel.cpp:1516 src/chatpanel.cpp:1517
-msgid "Change User Acount Password"
-msgstr "修改用户帐户密码"
-
-#: src/chatpanel.cpp:1516
-msgid "What user account do you want to change the password for?"
-msgstr "你想为哪位用户修改密码?"
-
-#: src/chatpanel.cpp:1517
-msgid "What would be the new password?"
-msgstr "新密码应该是什么?"
-
-#: src/chatpanel.cpp:1524 src/chatpanel.cpp:1698 src/chatpanel.cpp:1704
-msgid "Not Implemented"
-msgstr "尚未实现"
-
-#: src/chatpanel.cpp:1531
-msgid "Broadcast Message"
-msgstr "广播消息"
-
-#: src/chatpanel.cpp:1531
-msgid "Message to be broadcasted:"
-msgstr "要广播的消息:"
-
-#: src/chatpanel.cpp:1553
-msgid "You don't have the mod "
-msgstr "你没有 "
-
-#: src/chatpanel.cpp:1554
-msgid " . Please download it first"
-msgstr " 模组。请先下载"
-
-#: src/chatpanel.cpp:1554
-msgid "Mod unavailable"
-msgstr "模组不可用"
-
-#: src/chatpanel.cpp:1560
-msgid "This battle is password protected, enter the password."
-msgstr "这个战斗有密码保护,请输入密码。"
-
-#: src/chatpanel.cpp:1590
-msgid "Mute User"
-msgstr "禁言用户"
-
-#: src/chatpanel.cpp:1590
-msgid "For how many minutes should the user be muted?"
-msgstr "该用户将被禁言几分钟?"
-
-#: src/chatpanel.cpp:1632
-msgid "Kick User"
-msgstr "踢出用户"
-
-#: src/chatpanel.cpp:1632 src/chatpanel.cpp:1691
-msgid "Reason:"
-msgstr "原因:"
-
-#: src/chatpanel.cpp:1691
-msgid "Kick user"
-msgstr "踢出用户"
-
-#: src/chatpanel.cpp:1711
-msgid "Mute user"
-msgstr "禁言用户"
-
-#: src/chatpanel.cpp:1711
-msgid "Duration:"
-msgstr "持续时间:"
-
-#: src/chatpanel.cpp:1797
-#, fuzzy
-msgid "couldn't add user"
-msgstr "无法启动浏览器。"
-
-#: src/connectwindow.cpp:43
+#: src/connectwindow.cpp:44
 msgid "Connect to lobby server"
 msgstr "连接到对战大厅服务器"
 
-#: src/connectwindow.cpp:66
+#: src/connectwindow.cpp:67
 msgid ""
 "Server to connect to. You can connect to any server you like by typing in "
 "hostaddress:port format."
 msgstr "服务器连接至。 你可以以 主机地址:端口号 的格式输入并连接到任何服务器。"
 
-#: src/connectwindow.cpp:72 src/connectwindow.cpp:159
-#: src/hostbattledialog.cpp:105 src/ui.cpp:165
+#: src/connectwindow.cpp:73 src/connectwindow.cpp:160
+#: src/hostbattledialog.cpp:106 src/ui.cpp:167
 msgid "Password"
 msgstr "密码"
 
-#: src/connectwindow.cpp:74
+#: src/connectwindow.cpp:75
 msgid "Remember password"
 msgstr "记住密码"
 
-#: src/connectwindow.cpp:75
+#: src/connectwindow.cpp:76
 msgid "Autoconnect next time"
 msgstr "下次自动连接"
 
-#: src/connectwindow.cpp:76
+#: src/connectwindow.cpp:77
 msgid ""
 "remember connection details and automatically connect to server on next "
 "lobby startup"
 msgstr "记住连接详细设置并在下次游戏大厅启动时自动连接到服务器"
 
-#: src/connectwindow.cpp:84
+#: src/connectwindow.cpp:85
+#, fuzzy
 msgid ""
 "Note: If you do not have an account, you\n"
-" can register one for free under the\n"
+" can register one for free on the\n"
 "\"Register\" tab."
 msgstr ""
 "提示:如果你还没有一个账户,你\n"
 "可以在“注册”选项卡内免费注册\n"
 "一个。"
 
-#: src/connectwindow.cpp:90
+#: src/connectwindow.cpp:91
 msgid "Login"
 msgstr "登陆"
 
-#: src/connectwindow.cpp:91
+#: src/connectwindow.cpp:92
 msgid "Register"
 msgstr "注册"
 
-#: src/connectwindow.cpp:146
+#: src/connectwindow.cpp:147
 msgid "Nick"
 msgstr "昵称"
 
-#: src/connectwindow.cpp:260
+#: src/connectwindow.cpp:261
 msgid "Invalid port."
 msgstr "无效的端口。"
 
-#: src/connectwindow.cpp:260 src/connectwindow.cpp:266
+#: src/connectwindow.cpp:261 src/connectwindow.cpp:267
 msgid "Invalid port"
 msgstr "无效的端口"
 
-#: src/connectwindow.cpp:266
+#: src/connectwindow.cpp:267
 msgid ""
 "Port number out of range.\n"
 "\n"
@@ -1862,26 +1521,26 @@ msgstr ""
 "\n"
 "端口号必须介于1到65535"
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host/port."
 msgstr "无效的主机/端口。"
 
-#: src/connectwindow.cpp:275
+#: src/connectwindow.cpp:276
 msgid "Invalid host"
 msgstr "无效的主机"
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 msgid ""
 "The entered nickname contains invalid characters like )? &%.\n"
 " Please try again"
 msgstr ""
 
-#: src/connectwindow.cpp:293
+#: src/connectwindow.cpp:294
 #, fuzzy
 msgid "Invalid nickname"
 msgstr "无效的数字"
 
-#: src/connectwindow.cpp:300
+#: src/connectwindow.cpp:301
 #, fuzzy
 msgid ""
 "Registration failed, the reason was:\n"
@@ -1890,7 +1549,7 @@ msgstr ""
 "注册失败,原因是:\n"
 "密码与确认不匹配"
 
-#: src/connectwindow.cpp:300 src/ui.cpp:247
+#: src/connectwindow.cpp:301 src/ui.cpp:249
 msgid "Registration failed."
 msgstr "注册失败。"
 
@@ -2883,9 +2542,8 @@ msgid "Last generated spring launching script"
 msgstr "上一次生成的Spring启动脚本"
 
 #: src/filelister/filelistctrl.cpp:43 src/filelister/filelistctrl.cpp:45
-#: src/mapselectdialog.cpp:260 src/selectusersdialog.cpp:73
-#: src/torrentlistctrl.cpp:40 src/widgets/downloadlistctrl.cpp:28
-#: src/widgets/infopanel.cpp:59
+#: src/mapselectdialog.cpp:259 src/selectusersdialog.cpp:73
+#: src/widgets/downloadlistctrl.cpp:28 src/widgets/infopanel.cpp:59
 #, fuzzy
 msgid "Name"
 msgstr "游戏"
@@ -2981,8 +2639,8 @@ msgstr "主建新战斗"
 msgid "Notify when users of this group hosts a battle"
 msgstr ""
 
-#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:449
-#: src/springlobbyapp.cpp:450
+#: src/groupoptionspanel.cpp:107 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:453
 msgid "Ignore PM"
 msgstr ""
 
@@ -3079,9 +2737,8 @@ msgstr ""
 "\n"
 "成功的被保存到:\n"
 
-#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:113
-#: src/updater/updater.cpp:116 src/widgets/infopanel.cpp:158
-#: src/widgets/infopanel.cpp:170
+#: src/Helper/imageviewer.cpp:167 src/updater/updater.cpp:98
+#: src/widgets/infopanel.cpp:158 src/widgets/infopanel.cpp:170
 #, fuzzy
 msgid "Success"
 msgstr "设置权限..."
@@ -3091,7 +2748,7 @@ msgstr "设置权限..."
 msgid "Couldn't save file"
 msgstr "无法保存\n"
 
-#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:448
+#: src/Helper/wxTranslationHelper.cpp:96 src/springlobbyapp.cpp:451
 #, fuzzy
 msgid "Default"
 msgstr "默认"
@@ -3125,111 +2782,111 @@ msgstr ""
 msgid "wxTranslationHelper: Catalog Name = \"%s\""
 msgstr ""
 
-#: src/hostbattledialog.cpp:60
+#: src/hostbattledialog.cpp:61
 msgid "Host new battle"
 msgstr "主建新战斗"
 
-#: src/hostbattledialog.cpp:78
+#: src/hostbattledialog.cpp:79
 msgid "A short description of the game, this will show up in the battle list."
 msgstr "游戏的简短描述,这将会显示在大厅中的游戏列表中。"
 
-#: src/hostbattledialog.cpp:81
+#: src/hostbattledialog.cpp:82
 #, fuzzy
 msgid "Autopaste description"
 msgstr "描述"
 
-#: src/hostbattledialog.cpp:83
+#: src/hostbattledialog.cpp:84
 msgid "Automatically write the battle description when a user joins."
 msgstr ""
 
-#: src/hostbattledialog.cpp:96
+#: src/hostbattledialog.cpp:97
 msgid "Select the mod to play with."
 msgstr "选择游戏使用的模组。"
 
-#: src/hostbattledialog.cpp:110
+#: src/hostbattledialog.cpp:111
 msgid "Password needed to join game. Keep empty for no password"
 msgstr "加入该游戏所需要密码。保持空白表示没有密码"
 
-#: src/hostbattledialog.cpp:113
+#: src/hostbattledialog.cpp:114
 msgid "Port"
 msgstr "端口"
 
-#: src/hostbattledialog.cpp:118
+#: src/hostbattledialog.cpp:119
 msgid "UDP port to host game on. Default is 8452."
 msgstr "主建游戏所使用的UDP端口。默认为8452。"
 
-#: src/hostbattledialog.cpp:127
+#: src/hostbattledialog.cpp:128
 msgid "Use relayhost"
 msgstr ""
 
-#: src/hostbattledialog.cpp:128
+#: src/hostbattledialog.cpp:129
 msgid ""
 "host and control game on remote server, helps if you have trouble hosting"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 msgid "Chose automatically"
 msgstr ""
 
-#: src/hostbattledialog.cpp:133
+#: src/hostbattledialog.cpp:134
 #, fuzzy
 msgid "Randomly picks an available one"
 msgstr "不可用"
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "Manually enter the manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:137
+#: src/hostbattledialog.cpp:138
 msgid "You'll get prompted for the exact manager name"
 msgstr ""
 
-#: src/hostbattledialog.cpp:157 src/playback/playbacklistctrl.cpp:44
+#: src/hostbattledialog.cpp:158 src/playback/playbacklistctrl.cpp:44
 msgid "Number of players"
 msgstr "玩家数量"
 
-#: src/hostbattledialog.cpp:161
+#: src/hostbattledialog.cpp:162
 msgid "The maximum number of players to allow in the battle."
 msgstr "战斗中允许的最大玩家数量。"
 
-#: src/hostbattledialog.cpp:169
+#: src/hostbattledialog.cpp:170
 msgid "Hole punching"
 msgstr "ç©¿å­”"
 
-#: src/hostbattledialog.cpp:171
+#: src/hostbattledialog.cpp:172
 msgid "NAT traversal"
 msgstr "NAT穿越阻挡"
 
-#: src/hostbattledialog.cpp:177
+#: src/hostbattledialog.cpp:178
 #, fuzzy
 msgid "NAT traversal to use."
 msgstr "NAT穿越阻挡"
 
-#: src/hostbattledialog.cpp:182
+#: src/hostbattledialog.cpp:183
 msgid "Minimum Rank needed"
 msgstr "最低需求级别"
 
-#: src/hostbattledialog.cpp:248
+#: src/hostbattledialog.cpp:249
 msgid "Start hosting the battle."
 msgstr "开始主建游戏。"
 
-#: src/hostbattledialog.cpp:286 src/singleplayertab.cpp:235
+#: src/hostbattledialog.cpp:287 src/singleplayertab.cpp:234
 msgid "You have to select a mod first."
 msgstr "你必须先选择一个模组。"
 
-#: src/hostbattledialog.cpp:286
+#: src/hostbattledialog.cpp:287
 msgid "No mod selected."
 msgstr "模组未选择。"
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Manually chose a manager"
 msgstr ""
 
-#: src/hostbattledialog.cpp:344
+#: src/hostbattledialog.cpp:351
 msgid "Please type the nick of the manager you want to use ( case sensitive )"
 msgstr ""
 
-#: src/httpdownloader.cpp:72
+#: src/httpdownloader.cpp:71
 msgid ""
 "\n"
 "successfully saved to:\n"
@@ -3237,7 +2894,7 @@ msgstr ""
 "\n"
 "成功的被保存到:\n"
 
-#: src/httpdownloader.cpp:78
+#: src/httpdownloader.cpp:77
 #, fuzzy
 msgid ""
 "\n"
@@ -3246,17 +2903,17 @@ msgstr ""
 "\n"
 "成功的被保存到:\n"
 
-#: src/httpdownloader.cpp:79
+#: src/httpdownloader.cpp:78
 msgid ""
 "\n"
 " unzipping failed, please correct manually"
 msgstr ""
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid "Could not save\n"
 msgstr "无法保存\n"
 
-#: src/httpdownloader.cpp:99
+#: src/httpdownloader.cpp:98
 msgid ""
 "\n"
 "to:\n"
@@ -3264,75 +2921,75 @@ msgstr ""
 "\n"
 "到:\n"
 
-#: src/httpdownloader.cpp:102
+#: src/httpdownloader.cpp:101
 msgid ""
 "\n"
 "Error number: "
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:44 src/lobbyoptionstab.cpp:45
+#: src/lobbyoptionstab.cpp:43 src/lobbyoptionstab.cpp:44
 msgid "Web Browser"
 msgstr "网络浏览器"
 
-#: src/lobbyoptionstab.cpp:47
+#: src/lobbyoptionstab.cpp:46
 msgid "Default Browser."
 msgstr "默认浏览器。"
 
-#: src/lobbyoptionstab.cpp:49
+#: src/lobbyoptionstab.cpp:48
 msgid "Use your system-wide browser preference"
 msgstr "使用你的系统浏览器设置"
 
-#: src/lobbyoptionstab.cpp:51
+#: src/lobbyoptionstab.cpp:50
 msgid "Specify:"
 msgstr "自定义:"
 
-#: src/lobbyoptionstab.cpp:52
+#: src/lobbyoptionstab.cpp:51
 msgid "Specify the web browser you want to use"
 msgstr "自定义你想要使用的浏览器"
 
-#: src/lobbyoptionstab.cpp:56 src/lobbyoptionstab.cpp:78
-#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:69
-#: src/springoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:55 src/lobbyoptionstab.cpp:77
+#: src/settings++/panel_pathoption.cpp:42 src/springoptionstab.cpp:71
+#: src/springoptionstab.cpp:81
 msgid "Browse"
 msgstr "浏览"
 
-#: src/lobbyoptionstab.cpp:57
+#: src/lobbyoptionstab.cpp:56
 msgid "Use a file dialog to find the web browser"
 msgstr "使用一个文件对话框来查找网络浏览器"
 
-#: src/lobbyoptionstab.cpp:73
+#: src/lobbyoptionstab.cpp:72
 msgid "External text editor"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:74
+#: src/lobbyoptionstab.cpp:73
 msgid "Path"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:79
+#: src/lobbyoptionstab.cpp:78
 #, fuzzy
 msgid "Use a file dialog to find the editor binary"
 msgstr "使用一个文件对话框来查找网络浏览器"
 
-#: src/lobbyoptionstab.cpp:90
+#: src/lobbyoptionstab.cpp:89
 #, fuzzy
 msgid "Autoconnect"
 msgstr "重新连接"
 
-#: src/lobbyoptionstab.cpp:91
+#: src/lobbyoptionstab.cpp:90
 msgid ""
 "If checked, SpringLobby will automatically log on to the last used server"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:92
+#: src/lobbyoptionstab.cpp:91
 #, fuzzy
 msgid "Autoconnect on lobby start"
 msgstr "连接到对战大厅服务器"
 
-#: src/lobbyoptionstab.cpp:97
+#: src/lobbyoptionstab.cpp:96
 msgid "Report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:98
+#: src/lobbyoptionstab.cpp:97
 msgid ""
 "By default SpringLobby will send some statistics (OS,SpringLobby version) to "
 "server,\n"
@@ -3341,76 +2998,76 @@ msgid ""
 "Uncheck to disable."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:99
+#: src/lobbyoptionstab.cpp:98
 msgid "report statistics"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:110
+#: src/lobbyoptionstab.cpp:109
 msgid "Automatic updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:111
+#: src/lobbyoptionstab.cpp:110
 msgid ""
 "SpringLobby can check at startup if a newer version is available and "
 "automatically download it for you."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:112
+#: src/lobbyoptionstab.cpp:111
 msgid "automatically check for updates"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:120
+#: src/lobbyoptionstab.cpp:119
 #, fuzzy
 msgid "Tooltips"
 msgstr "工具(&T)"
 
-#: src/lobbyoptionstab.cpp:121
+#: src/lobbyoptionstab.cpp:120
 #, fuzzy
 msgid "Show Tooltips?"
 msgstr "显示工具提示"
 
-#: src/lobbyoptionstab.cpp:124
+#: src/lobbyoptionstab.cpp:123
 msgid "Requires SpringLobby restart to take effect."
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:131
+#: src/lobbyoptionstab.cpp:130
 msgid "Tab completion method"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:132
+#: src/lobbyoptionstab.cpp:131
 msgid ""
 "\"Match exact\" will complete a word if there is one and only one match.\n"
 "\"Match nearest\" will select the (first) match that has closest Levenshtein "
 "distance"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:134
+#: src/lobbyoptionstab.cpp:133
 #, fuzzy
 msgid "Match exact"
 msgstr "捕捉AI异常"
 
-#: src/lobbyoptionstab.cpp:135
+#: src/lobbyoptionstab.cpp:134
 msgid "Match nearest"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:144
+#: src/lobbyoptionstab.cpp:143
 msgid "Misc GUI"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:145
+#: src/lobbyoptionstab.cpp:144
 msgid "Show big icons in mainwindow tabs?"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:150
+#: src/lobbyoptionstab.cpp:149
 msgid "Show close button on all tabs? (needs restart to take effect)"
 msgstr ""
 
-#: src/lobbyoptionstab.cpp:155
+#: src/lobbyoptionstab.cpp:154
 #, fuzzy
 msgid "Start tab"
 msgstr "初始金属"
 
-#: src/lobbyoptionstab.cpp:158
+#: src/lobbyoptionstab.cpp:157
 msgid "Select which tab to show at startup"
 msgstr ""
 
@@ -3423,7 +3080,7 @@ msgstr "选择一个网络浏览器执行文件"
 msgid "Choose a editor browser executable"
 msgstr "选择一个网络浏览器执行文件"
 
-#: src/mainchattab.cpp:163 src/mainchattab.cpp:167
+#: src/mainchattab.cpp:164 src/mainchattab.cpp:168
 #, fuzzy
 msgid "Disconnected from server, chat closed."
 msgstr "服务器传来未知答案"
@@ -3432,128 +3089,112 @@ msgstr "服务器传来未知答案"
 msgid "Battle list"
 msgstr "游戏列表"
 
-#: src/mainjoinbattletab.cpp:140
+#: src/mainjoinbattletab.cpp:139
 msgid "Battleroom"
 msgstr "游戏房间"
 
-#: src/mainjoinbattletab.cpp:146 src/mainsingleplayertab.cpp:43
-#: src/mainwindow.h:188 src/settings++/tab_simple.cpp:134
+#: src/mainjoinbattletab.cpp:145 src/mainsingleplayertab.cpp:41
+#: src/mainwindow.h:190 src/settings++/tab_simple.cpp:134
 msgid "Options"
 msgstr "选项"
 
-#: src/mainjoinbattletab.cpp:149 src/mainsingleplayertab.cpp:45
+#: src/mainjoinbattletab.cpp:148 src/mainsingleplayertab.cpp:43
 #, fuzzy
 msgid "Unit Restrictions"
 msgstr "单位限制"
 
-#: src/mainoptionstab.cpp:64
+#: src/mainoptionstab.cpp:65 src/mainoptionstab.cpp:76
 msgid "Spring"
 msgstr "Spring"
 
-#: src/mainoptionstab.cpp:68
+#: src/mainoptionstab.cpp:69 src/mainoptionstab.cpp:80
 msgid "P2P"
 msgstr "点对点"
 
-#: src/mainoptionstab.cpp:72 src/mainwindow.h:180
+#: src/mainoptionstab.cpp:73 src/mainwindow.h:182
 msgid "Chat"
 msgstr "聊天"
 
-#: src/mainoptionstab.cpp:75
+#: src/mainoptionstab.cpp:83 src/mainoptionstab.cpp:92
+msgid "Restore"
+msgstr "恢复"
+
+#: src/mainoptionstab.cpp:84 src/mainoptionstab.cpp:93
+msgid "Apply"
+msgstr "应用"
+
+#: src/mainoptionstab.cpp:87
 #, fuzzy
 msgid "General"
 msgstr "塞内加尔"
 
-#: src/mainoptionstab.cpp:78
+#: src/mainoptionstab.cpp:90
 msgid "Groups"
 msgstr ""
 
-#: src/mainoptionstab.cpp:80
-msgid "Restore"
-msgstr "恢复"
-
-#: src/mainoptionstab.cpp:81
-msgid "Apply"
-msgstr "应用"
-
-#: src/mainsingleplayertab.cpp:41
+#: src/mainsingleplayertab.cpp:39
 msgid "Game"
 msgstr "游戏"
 
-#: src/maintorrenttab.cpp:51
+#: src/maintorrenttab.cpp:50
 msgid "Transfers in progress: "
 msgstr "正在传输中: "
 
-#: src/maintorrenttab.cpp:57
+#: src/maintorrenttab.cpp:56
 msgid "Total Outgoing: "
 msgstr "总共上传: "
 
-#: src/maintorrenttab.cpp:58
+#: src/maintorrenttab.cpp:57
 msgid "Total Incoming: "
 msgstr "总共下载: "
 
-#: src/maintorrenttab.cpp:65
+#: src/maintorrenttab.cpp:64
 msgid "unknown"
 msgstr "未知"
 
-#: src/maintorrenttab.cpp:72
+#: src/maintorrenttab.cpp:71
 msgid "Cancel Download"
 msgstr "取消下载"
 
-#: src/maintorrenttab.cpp:75
+#: src/maintorrenttab.cpp:74
 msgid "Publish new file"
 msgstr "发布新文件"
 
-#: src/maintorrenttab.cpp:77
+#: src/maintorrenttab.cpp:76
 msgid "Search file"
 msgstr "搜索文件"
 
-#: src/maintorrenttab.cpp:79
+#: src/maintorrenttab.cpp:78
 #, fuzzy
 msgid "Download Lua widgets"
 msgstr "启用 Lua图形界面插件"
 
-#: src/maintorrenttab.cpp:115
+#: src/maintorrenttab.cpp:117
 msgid "Lua widget downloader"
 msgstr ""
 
-#: src/maintorrenttab.cpp:153
-msgid "not available"
-msgstr "不可用"
-
-#: src/maintorrenttab.cpp:156
-msgid "seeding"
-msgstr "做种"
-
-#: src/maintorrenttab.cpp:157
-msgid "leeching"
-msgstr "吸血中"
-
-#: src/maintorrenttab.cpp:158
-msgid "queued"
-msgstr "队列中"
-
-#: src/maintorrenttab.cpp:204
+#: src/maintorrenttab.cpp:142
 msgid "Status: not connected"
 msgstr "状态:未连接"
 
-#: src/maintorrenttab.cpp:208
+#: src/maintorrenttab.cpp:146
 msgid "Status: connected"
 msgstr "状态:已连接"
 
-#: src/maintorrenttab.cpp:212
+#: src/maintorrenttab.cpp:150
 msgid "Status: throttled or paused (ingame)"
 msgstr "状态:暂停(在游戏中)"
 
-#: src/maintorrenttab.cpp:216
+#: src/maintorrenttab.cpp:154
 msgid "Status: unknown"
 msgstr "状态:未知"
 
-#: src/maintorrenttab.cpp:222
+#: src/maintorrenttab.cpp:160
 #, c-format
 msgid "Total Outgoing: %.2f KB/s"
 msgstr "总共上传: %.2f KB/s"
 
-#: src/maintorrenttab.cpp:223
+#: src/maintorrenttab.cpp:161
 #, c-format
 msgid "Total Incoming: %.2f KB/s"
 msgstr "总共下载: %.2f KB/s"
@@ -3562,291 +3203,305 @@ msgstr "总共下载: %.2f KB/s"
 msgid "SpringLobby"
 msgstr "Spring游戏大厅"
 
-#: src/mainwindow.cpp:129
+#: src/mainwindow.cpp:128
 msgid "&Connect..."
 msgstr "(&C) 连接..."
 
-#: src/mainwindow.cpp:130
+#: src/mainwindow.cpp:129
 msgid "&Disconnect"
 msgstr "(&D) æ–­å¼€"
 
-#: src/mainwindow.cpp:133
+#: src/mainwindow.cpp:132
 #, fuzzy
 msgid "&Save options"
 msgstr "图形界面选项"
 
-#: src/mainwindow.cpp:136
+#: src/mainwindow.cpp:135
 msgid "&Quit"
 msgstr "(&Q) 退出"
 
-#: src/mainwindow.cpp:150
+#: src/mainwindow.cpp:143
+#, fuzzy
+msgid "&Save Layout"
+msgstr "图形界面选项"
+
+#: src/mainwindow.cpp:144
+msgid "&Load layout"
+msgstr ""
+
+#: src/mainwindow.cpp:149
 msgid "&Join channel..."
 msgstr "(&J) 加入频道..."
 
-#: src/mainwindow.cpp:151
+#: src/mainwindow.cpp:150
 #, fuzzy
 msgid "Channel &list"
 msgstr "频道信息"
 
-#: src/mainwindow.cpp:152
+#: src/mainwindow.cpp:151
 msgid "Open private &chat..."
 msgstr "(&C) 打开私人聊天..."
 
-#: src/mainwindow.cpp:153
+#: src/mainwindow.cpp:152
 msgid "&Autojoin channels..."
 msgstr "(&A) 自动加入频道"
 
-#: src/mainwindow.cpp:154
+#: src/mainwindow.cpp:153
 msgid "&View screenshots"
 msgstr ""
 
-#: src/mainwindow.cpp:156
+#: src/mainwindow.cpp:155
 msgid "&Reload maps/mods"
 msgstr "(&R) 重新载入地图/模组"
 
-#: src/mainwindow.cpp:162
+#: src/mainwindow.cpp:161
 msgid "Check for new Version"
 msgstr "检查新版本"
 
-#: src/mainwindow.cpp:163
+#: src/mainwindow.cpp:162
 msgid "SpringSettings"
 msgstr "Spring设置"
 
-#: src/mainwindow.cpp:167
+#: src/mainwindow.cpp:166
 msgid "&About"
 msgstr "(&A) 关于"
 
-#: src/mainwindow.cpp:168
+#: src/mainwindow.cpp:167
 #, fuzzy
 msgid "&Change language"
 msgstr "频道信息"
 
-#: src/mainwindow.cpp:169
+#: src/mainwindow.cpp:168
 msgid "&Report a bug..."
 msgstr "(&R) 报告一个Bug..."
 
-#: src/mainwindow.cpp:170
+#: src/mainwindow.cpp:169
 msgid "&Documentation"
 msgstr "(&D) 文档"
 
-#: src/mainwindow.cpp:173
+#: src/mainwindow.cpp:172
 msgid "&File"
 msgstr "(&F) 文件"
 
-#: src/mainwindow.cpp:178
+#: src/mainwindow.cpp:175
+#, fuzzy
+msgid "&View"
+msgstr "(&F) 文件"
+
+#: src/mainwindow.cpp:177
 msgid "&Tools"
 msgstr "工具(&T)"
 
-#: src/mainwindow.cpp:179
+#: src/mainwindow.cpp:178
 msgid "&Help"
 msgstr "帮助(&H)"
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 msgid "You need to be connected to server to view channel list"
 msgstr ""
 
-#: src/mainwindow.cpp:450
+#: src/mainwindow.cpp:455
 #, fuzzy
 msgid "Not connected"
 msgstr "状态:已连接"
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Join channel..."
 msgstr "加入频道..."
 
-#: src/mainwindow.cpp:464
+#: src/mainwindow.cpp:469
 msgid "Name of channel to join"
 msgstr "加入频道的名称"
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Open Private Chat..."
 msgstr "打开私聊..."
 
-#: src/mainwindow.cpp:476
+#: src/mainwindow.cpp:481
 msgid "Name of user"
 msgstr "用户名"
 
-#: src/mainwindow.cpp:490
+#: src/mainwindow.cpp:495
 msgid "SpringLobby is a cross-plattform lobby client for the RTS Spring engine"
 msgstr "SpringLobby 是一个供RTS Spring 引擎使用的跨平台游戏大厅客户端"
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 msgid "There were no screenshots found in your spring data directory."
 msgstr ""
 
-#: src/mainwindow.cpp:544
+#: src/mainwindow.cpp:549
 #, fuzzy
 msgid "No files found"
 msgstr "没有找到地图"
 
-#: src/mainwindow.cpp:576
+#: src/mainwindow.cpp:581
 msgid "Manually &Start Torrent System"
 msgstr "手动 (&S) 启动 Torrent 系统"
 
-#: src/mainwindow.cpp:580
+#: src/mainwindow.cpp:585
 msgid "Manually &Stop Torrent System"
 msgstr "手动 (&S) 停止 Torrent 系统"
 
-#: src/mainwindow.cpp:638
+#: src/mainwindow.cpp:632
 msgid "You need to restart SpringLobby for the language change to take effect."
 msgstr ""
 
-#: src/mainwindow.cpp:639
+#: src/mainwindow.cpp:633
 msgid "Restart required"
 msgstr ""
 
-#: src/mainwindow.cpp:661 src/mainwindow.cpp:669 src/mainwindow.cpp:678
+#: src/mainwindow.cpp:663 src/mainwindow.cpp:671 src/mainwindow.cpp:682
 msgid "Layout manager"
 msgstr ""
 
-#: src/mainwindow.cpp:661
+#: src/mainwindow.cpp:663
 msgid "Enter a profile name"
 msgstr ""
 
-#: src/mainwindow.cpp:669
+#: src/mainwindow.cpp:671
 msgid "Which profile fo you want to load?"
 msgstr ""
 
-#: src/mainwindow.cpp:678
+#: src/mainwindow.cpp:682
 #, fuzzy
 msgid "Which profile do you want to be default?"
 msgstr "你想要移除哪个用户帐户?"
 
-#: src/mainwindow.h:181
+#: src/mainwindow.h:183
 msgid "Multiplayer"
 msgstr ""
 
-#: src/mainwindow.h:182
+#: src/mainwindow.h:184
 msgid "Singleplayer"
 msgstr ""
 
-#: src/mainwindow.h:183
+#: src/mainwindow.h:185
 #, fuzzy
 msgid "Savegames"
 msgstr "保存..."
 
-#: src/mainwindow.h:184
+#: src/mainwindow.h:186
 #, fuzzy
 msgid "Replays"
 msgstr "总是"
 
-#: src/mainwindow.h:186
+#: src/mainwindow.h:188
 #, fuzzy
 msgid "Downloads"
 msgstr "下载"
 
-#: src/mapctrl.cpp:587
+#: src/mapctrl.cpp:590
 #, c-format
 msgid "Metal: %.1f%%"
 msgstr ""
 
-#: src/mapctrl.cpp:692 src/mapctrl.cpp:693
+#: src/mapctrl.cpp:695 src/mapctrl.cpp:696
 msgid "Refresh"
 msgstr "刷新"
 
-#: src/mapctrl.cpp:694 src/mapctrl.cpp:695 src/widgets/infopanel.cpp:91
+#: src/mapctrl.cpp:697 src/mapctrl.cpp:698 src/widgets/infopanel.cpp:91
 msgid "Download"
 msgstr "下载"
 
-#: src/mapctrl.cpp:895
+#: src/mapctrl.cpp:898
 msgid "side:"
 msgstr "阵营:"
 
-#: src/mapctrl.cpp:908
+#: src/mapctrl.cpp:911
 #, c-format
 msgid "ally:   %d"
 msgstr "联盟:%d"
 
-#: src/mapctrl.cpp:919
+#: src/mapctrl.cpp:922
 #, c-format
 msgid "bonus: %d%%"
 msgstr "加成:%d%%"
 
-#: src/mapselectdialog.cpp:67
+#: src/mapselectdialog.cpp:66
 msgid "Select map (click and drag to scroll)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:70
+#: src/mapselectdialog.cpp:69
 msgid "Vertical sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:76
+#: src/mapselectdialog.cpp:75
 msgid "Horizontal sort key"
 msgstr ""
 
-#: src/mapselectdialog.cpp:82
+#: src/mapselectdialog.cpp:81
 msgid "Show"
 msgstr ""
 
-#: src/mapselectdialog.cpp:83
+#: src/mapselectdialog.cpp:82
 msgid "All maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:84
+#: src/mapselectdialog.cpp:83
 msgid "Shows all available maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:86
+#: src/mapselectdialog.cpp:85
 msgid "Popular maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:87
+#: src/mapselectdialog.cpp:86
 msgid ""
 "Shows only maps which are currently being player on the server. You must be "
 "online to use this."
 msgstr ""
 
-#: src/mapselectdialog.cpp:89
+#: src/mapselectdialog.cpp:88
 msgid "Recently played maps"
 msgstr ""
 
-#: src/mapselectdialog.cpp:91
+#: src/mapselectdialog.cpp:90
 msgid "Shows only maps you played recently. (Based on your replays.)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:94
+#: src/mapselectdialog.cpp:93
 #, fuzzy
 msgid "Filter"
 msgstr "文件"
 
-#: src/mapselectdialog.cpp:96
+#: src/mapselectdialog.cpp:95
 msgid "Shows only maps which contain this text in their name or description."
 msgstr ""
 
-#: src/mapselectdialog.cpp:99
+#: src/mapselectdialog.cpp:98
 #, fuzzy
 msgid "Map details"
 msgstr "金属含量"
 
-#: src/mapselectdialog.cpp:162
+#: src/mapselectdialog.cpp:161
 #, fuzzy
 msgid "Start positions"
 msgstr "出生位置"
 
-#: src/mapselectdialog.cpp:265
+#: src/mapselectdialog.cpp:264
 #, fuzzy
 msgid "Minimum wind"
 msgstr "最低需求级别"
 
-#: src/mapselectdialog.cpp:266
+#: src/mapselectdialog.cpp:265
 msgid "Maximum wind"
 msgstr ""
 
-#: src/mapselectdialog.cpp:267
+#: src/mapselectdialog.cpp:266
 #, fuzzy
 msgid "Average wind"
 msgstr "大众级新兵"
 
-#: src/mapselectdialog.cpp:268
+#: src/mapselectdialog.cpp:267
 msgid "Size (map area)"
 msgstr ""
 
-#: src/mapselectdialog.cpp:269
+#: src/mapselectdialog.cpp:268
 #, fuzzy
 msgid "Aspect ratio"
 msgstr "观看者"
 
-#: src/mapselectdialog.cpp:270
+#: src/mapselectdialog.cpp:269
 #, fuzzy
 msgid "Number of start positions"
 msgstr "随机出生位置"
@@ -3889,20 +3544,20 @@ msgstr "限制单位"
 msgid "Map name"
 msgstr ""
 
-#: src/mmoptionwindows.cpp:39
+#: src/mmoptionwindows.cpp:40
 #, fuzzy
 msgid "Change option"
 msgstr "图形界面选项"
 
-#: src/nicklistctrl.cpp:58
+#: src/nicklistctrl.cpp:59
 msgid "s"
 msgstr "状态"
 
-#: src/nicklistctrl.cpp:59
+#: src/nicklistctrl.cpp:60
 msgid "c"
 msgstr "国家/地区"
 
-#: src/nicklistctrl.cpp:60
+#: src/nicklistctrl.cpp:61
 msgid "r"
 msgstr "级别"
 
@@ -3972,34 +3627,34 @@ msgstr "文件大小(MB)"
 msgid "Filesize in kilobyte"
 msgstr "文件大小(MB)"
 
-#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:228
+#: src/playback/playbacklistctrl.cpp:48 src/settings++/frame.cpp:223
 msgid "File"
 msgstr "文件"
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 msgid "Watch"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:134
+#: src/playback/playbacktab.cpp:133
 #, fuzzy
 msgid "Load"
 msgstr "载入..."
 
-#: src/playback/playbacktab.cpp:140
+#: src/playback/playbacktab.cpp:139
 msgid "Reload list"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "replay"
 msgstr "总是"
 
-#: src/playback/playbacktab.cpp:278
+#: src/playback/playbacktab.cpp:279
 #, fuzzy
 msgid "savegame"
 msgstr "保存..."
 
-#: src/playback/playbacktab.cpp:286
+#: src/playback/playbacktab.cpp:287
 #, fuzzy
 msgid "Couldn't get your spring versions from any unitsync library."
 msgstr ""
@@ -4007,18 +3662,18 @@ msgstr ""
 "\n"
 "在线游戏将被禁用。"
 
-#: src/playback/playbacktab.cpp:304
+#: src/playback/playbacktab.cpp:305
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this %s requires "
 "version: %s\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:305 src/ui.cpp:626
+#: src/playback/playbacktab.cpp:306 src/ui.cpp:595
 msgid "Your current installed versions are:"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:326
+#: src/playback/playbacktab.cpp:327
 #, fuzzy
 msgid ""
 "You need to download the mod before you can watch this replay.\n"
@@ -4027,7 +3682,7 @@ msgstr ""
 "在你能够加入该游戏前,你需要下载模组。\n"
 "\n"
 
-#: src/playback/playbacktab.cpp:338
+#: src/playback/playbacktab.cpp:339
 msgid ""
 " I couldn't find the map to be able to watch this replay\n"
 "This can be caused by tasclient writing broken map hash value\n"
@@ -4036,18 +3691,18 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 msgid ""
 "I don't think you will be able to watch this replay.\n"
 "Try anyways? (MIGHT CRASH!)"
 msgstr ""
 
-#: src/playback/playbacktab.cpp:359
+#: src/playback/playbacktab.cpp:360
 #, fuzzy
 msgid "Invalid replay"
 msgstr "无效的端口"
 
-#: src/playback/playbacktab.cpp:376
+#: src/playback/playbacktab.cpp:377
 msgid "Could not delete Replay: "
 msgstr ""
 
@@ -4064,95 +3719,95 @@ msgstr ""
 msgid "Select Users"
 msgstr "全选"
 
-#: src/serverevents.cpp:127
+#: src/serverevents.cpp:129
 #, c-format
 msgid "ping reply took %s ms"
 msgstr ""
 
-#: src/serverevents.cpp:144
+#: src/serverevents.cpp:146
 #, fuzzy
 msgid " is online"
 msgstr " 用户不在线。"
 
-#: src/serverevents.cpp:167
+#: src/serverevents.cpp:169
 msgid " is now "
 msgstr ""
 
-#: src/serverevents.cpp:193
+#: src/serverevents.cpp:195
 msgid "OnUserStatus() failed ! (exception)"
 msgstr "OnUserStatus() 失败!(异常)"
 
-#: src/serverevents.cpp:225
+#: src/serverevents.cpp:227
 #, fuzzy
 msgid " just went offline"
 msgstr " 用户不在线。"
 
-#: src/serverevents.cpp:260
+#: src/serverevents.cpp:262
 #, fuzzy
 msgid " opened battle "
 msgstr " 加入 "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Join channel failed"
 msgstr "加入频道失败"
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid "Could not join channel "
 msgstr "无法加入频道 "
 
-#: src/serverevents.cpp:582
+#: src/serverevents.cpp:584
 msgid " because: "
 msgstr " 因为: "
 
-#: src/serverevents.cpp:801
+#: src/serverevents.cpp:803
 msgid "Server Message"
 msgstr "服务器消息"
 
-#: src/serverevents.cpp:847
+#: src/serverevents.cpp:849
 #, c-format
 msgid " has ip=%s"
 msgstr " 拥有 IP=%s"
 
-#: src/serverevents.cpp:853
+#: src/serverevents.cpp:855
 msgid " does not really support nat traversal"
 msgstr " 不真正支持NAT穿越"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "You were kicked from the battle!"
 msgstr "你从战斗中被踢出了!"
 
-#: src/serverevents.cpp:866
+#: src/serverevents.cpp:868
 msgid "Kicked by Host"
 msgstr "被主机踢出"
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 msgid "Begin mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:896
+#: src/serverevents.cpp:898
 #, fuzzy, c-format
 msgid "%s mutelist"
 msgstr "游戏列表"
 
-#: src/serverevents.cpp:905
+#: src/serverevents.cpp:907
 msgid " indefinite time remaining"
 msgstr ""
 
-#: src/serverevents.cpp:906
+#: src/serverevents.cpp:908
 #, c-format
 msgid " %d minutes remaining"
 msgstr ""
 
-#: src/serverevents.cpp:914
+#: src/serverevents.cpp:916
 msgid "End mutelist for "
 msgstr ""
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, fuzzy
 msgid "Download update"
 msgstr "下载完毕"
 
-#: src/serverevents.cpp:950
+#: src/serverevents.cpp:952
 #, c-format
 msgid ""
 "Would you like to download %s ? The file offers the following updates:\n"
@@ -4163,7 +3818,7 @@ msgid ""
 "operation completed."
 msgstr ""
 
-#: src/serverevents.cpp:970
+#: src/serverevents.cpp:972
 #, fuzzy
 msgid "There was an error downloading for the latest version.\n"
 msgstr ""
@@ -4171,67 +3826,67 @@ msgstr ""
 "请稍候尝试。\n"
 "如果问题依然存在,请使用 帮助 -> 报告Bug。"
 
-#: src/serverevents.cpp:975
+#: src/serverevents.cpp:977
 msgid "Network Error"
 msgstr ""
 
-#: src/serverevents.cpp:978
+#: src/serverevents.cpp:980
 #, fuzzy
 msgid "Negotiation error"
 msgstr "通知"
 
-#: src/serverevents.cpp:984
+#: src/serverevents.cpp:986
 #, fuzzy
 msgid "Invalid Value"
 msgstr "无效的数字"
 
-#: src/serverevents.cpp:987
+#: src/serverevents.cpp:989
 #, fuzzy
 msgid "No Handler"
 msgstr "不是一个数字"
 
-#: src/serverevents.cpp:990
+#: src/serverevents.cpp:992
 #, fuzzy
 msgid "File doesn't exit"
 msgstr "地图不存在。"
 
-#: src/serverevents.cpp:993
+#: src/serverevents.cpp:995
 #, fuzzy
 msgid "Action Aborted"
 msgstr "已开始"
 
-#: src/serverevents.cpp:996
+#: src/serverevents.cpp:998
 #, fuzzy
 msgid "Reconnection Error"
 msgstr "重新连接"
 
-#: src/serverevents.cpp:999
+#: src/serverevents.cpp:1001
 #, fuzzy
 msgid "Unknown Error"
 msgstr "未知"
 
-#: src/serverevents.cpp:1009
+#: src/serverevents.cpp:1011
 #, fuzzy
 msgid "Download complete, location is: "
 msgstr "下载完毕"
 
-#: src/serverevents.cpp:1010
+#: src/serverevents.cpp:1012
 msgid ""
 "\n"
 "lobby will get closed now."
 msgstr ""
 
-#: src/serverevents.cpp:1011
+#: src/serverevents.cpp:1013
 #, fuzzy
 msgid "Download complete."
 msgstr "下载完毕"
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer. File location is: "
 msgstr "无法启动浏览器。地址是: "
 
-#: src/serverevents.cpp:1016
+#: src/serverevents.cpp:1018
 #, fuzzy
 msgid "Couldn't launch installer."
 msgstr "无法启动浏览器。"
@@ -4939,74 +4594,74 @@ msgid "Save Spring settings before exiting?"
 msgstr "退出前是否保存Spring设置?"
 
 #: src/settings++/frame.cpp:120 src/settings++/frame.cpp:136
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Confirmation needed"
 msgstr "需要确认"
 
-#: src/settings++/frame.cpp:187 src/settings++/frame.cpp:324
-msgid "SpringSettings (expert mode)"
-msgstr "Spring设置(专家模式)"
-
-#: src/settings++/frame.cpp:189 src/settings++/frame.cpp:275
+#: src/settings++/frame.cpp:182 src/settings++/frame.cpp:270
 msgid "SpringSettings (simple mode)"
 msgstr "Spring设置(简易模式)"
 
-#: src/settings++/frame.cpp:198
+#: src/settings++/frame.cpp:193
 msgid "Save settings"
 msgstr "保存设置"
 
-#: src/settings++/frame.cpp:199
+#: src/settings++/frame.cpp:194
 msgid "Reset settings to default values"
 msgstr "重设所有选项为默认值"
 
-#: src/settings++/frame.cpp:200
+#: src/settings++/frame.cpp:195
 msgid "Disable expert mode warning"
 msgstr "禁用 专家模式警告"
 
-#: src/settings++/frame.cpp:202
+#: src/settings++/frame.cpp:197
 msgid "Quit"
 msgstr "退出"
 
-#: src/settings++/frame.cpp:207
+#: src/settings++/frame.cpp:202
 msgid "Simple (few options)"
 msgstr "简易(较少选项)"
 
-#: src/settings++/frame.cpp:208
+#: src/settings++/frame.cpp:203
 msgid "Expert (all options"
 msgstr "专家(全部选项)"
 
-#: src/settings++/frame.cpp:211
+#: src/settings++/frame.cpp:206
 msgid "About"
 msgstr "关于"
 
-#: src/settings++/frame.cpp:212
+#: src/settings++/frame.cpp:207
 msgid "Contact"
 msgstr "联系"
 
-#: src/settings++/frame.cpp:213
+#: src/settings++/frame.cpp:208
 msgid "Credits"
 msgstr "关于作者"
 
-#: src/settings++/frame.cpp:214
+#: src/settings++/frame.cpp:209
 msgid "Report a bug"
 msgstr "报告 Bug"
 
-#: src/settings++/frame.cpp:229
+#: src/settings++/frame.cpp:224
 msgid "Mode"
 msgstr "模式"
 
-#: src/settings++/frame.cpp:230
+#: src/settings++/frame.cpp:225
 msgid "Info/Help"
 msgstr "信息/帮助"
 
-#: src/settings++/frame.cpp:251
+#: src/settings++/frame.cpp:246
 msgid "Reset ALL settings to default values?"
 msgstr "将所有设置全部重设为默认值?"
 
-#: src/settings++/frame.cpp:277
+#: src/settings++/frame.cpp:272
 msgid "Hint"
 msgstr "提示"
 
+#: src/settings++/frame.cpp:319
+msgid "SpringSettings (expert mode)"
+msgstr "Spring设置(专家模式)"
+
 #: src/settings++/helpmenufunctions.cpp:28
 msgid ""
 "SpringSettings is a graphical frontend to the Settings of the Spring engine"
@@ -5029,7 +4684,7 @@ msgstr "感谢你们邀请我加入,重用代码,基础支持以及各种帮
 msgid "everyone reporting bugs/suggestions"
 msgstr "每个报告Bug/提出意见的人"
 
-#: src/settings++/Main.cpp:91
+#: src/settings++/Main.cpp:92
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5041,27 +4696,32 @@ msgstr ""
 "\n"
 "请启用 wxUSE_DEBUGREPORT"
 
-#: src/settings++/Main.cpp:91 src/springlobbyapp.cpp:248
+#: src/settings++/Main.cpp:92 src/springlobbyapp.cpp:241
 msgid "Critical error"
 msgstr "致命错误"
 
-#: src/settings++/Main.cpp:99 src/springlobbyapp.cpp:274
+#: src/settings++/Main.cpp:101 src/settings++/Main.cpp:114
+#: src/springlobbyapp.cpp:273
 msgid "show this help message"
 msgstr ""
 
-#: src/settings++/Main.cpp:100 src/springlobbyapp.cpp:275
+#: src/settings++/Main.cpp:102 src/settings++/Main.cpp:115
+#: src/springlobbyapp.cpp:274
 msgid "don't use the crash handler (useful for debugging)"
 msgstr ""
 
-#: src/settings++/Main.cpp:101 src/springlobbyapp.cpp:277
+#: src/settings++/Main.cpp:104 src/settings++/Main.cpp:117
+#: src/springlobbyapp.cpp:276
 msgid "shows application log to the console(if available)"
 msgstr ""
 
-#: src/settings++/Main.cpp:102 src/springlobbyapp.cpp:279
+#: src/settings++/Main.cpp:106 src/settings++/Main.cpp:119
+#: src/springlobbyapp.cpp:278
 msgid "enables application log window"
 msgstr ""
 
-#: src/settings++/Main.cpp:103 src/springlobbyapp.cpp:284
+#: src/settings++/Main.cpp:108 src/settings++/Main.cpp:121
+#: src/springlobbyapp.cpp:283
 msgid ""
 "overrides default logging verbosity, can be:\n"
 "                                0: no log\n"
@@ -5104,8 +4764,8 @@ msgstr "路径设置"
 msgid "Choose an unitsync library"
 msgstr "选择一个unitsync库"
 
-#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:194
-#: src/springoptionstab.cpp:198
+#: src/settings++/panel_pathoption.cpp:78 src/springoptionstab.cpp:196
+#: src/springoptionstab.cpp:200
 msgid "Any File"
 msgstr "所有文件"
 
@@ -5145,23 +4805,23 @@ msgstr "非常高"
 msgid "can't launch default browser"
 msgstr "无法启动默认浏览器"
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser. URL is: "
 msgstr "无法启动浏览器。地址是: "
 
-#: src/settings++/se_utils.cpp:42 src/ui.cpp:365 src/ui.cpp:373
+#: src/settings++/se_utils.cpp:42
 msgid "Couldn't launch browser."
 msgstr "无法启动浏览器。"
 
-#: src/settings++/tab_abstract.cpp:129
+#: src/settings++/tab_abstract.cpp:131
 msgid "Could not access your settings.\n"
 msgstr "无法获得你的设置。\n"
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "Could not save, unitsync not properly loaded"
 msgstr "无法保存,UnitSync无法正确载入"
 
-#: src/settings++/tab_abstract.cpp:591
+#: src/settings++/tab_abstract.cpp:593
 msgid "SpringSettings Error"
 msgstr "Spring设置 出错"
 
@@ -5169,11 +4829,11 @@ msgstr "Spring设置 出错"
 msgid "Audio Options"
 msgstr "声音选项"
 
-#: src/settings++/tab_quality_video.cpp:64
+#: src/settings++/tab_quality_video.cpp:66
 msgid "Screen Resolution"
 msgstr "屏幕分辨率"
 
-#: src/settings++/tab_quality_video.cpp:160
+#: src/settings++/tab_quality_video.cpp:162
 msgid ""
 "If an option needs special hardware to work\n"
 "it will be mentioned in the tooltip."
@@ -5181,31 +4841,31 @@ msgstr ""
 "如果一个选项需要特殊的硬件配置才能运行\n"
 "它将会被提示。"
 
-#: src/settings++/tab_quality_video.cpp:173
+#: src/settings++/tab_quality_video.cpp:175
 msgid "Water Quality"
 msgstr "水面质量"
 
-#: src/settings++/tab_quality_video.cpp:203
+#: src/settings++/tab_quality_video.cpp:205
 msgid "Resolution in bit"
 msgstr "位解析度"
 
-#: src/settings++/tab_quality_video.cpp:267
+#: src/settings++/tab_quality_video.cpp:269
 msgid "Render Quality Options"
 msgstr "渲染质量选项"
 
-#: src/settings++/tab_quality_video.cpp:268
+#: src/settings++/tab_quality_video.cpp:270
 msgid "Video Mode Options"
 msgstr "视频模式选项"
 
-#: src/settings++/tab_quality_video.cpp:269
+#: src/settings++/tab_quality_video.cpp:271
 msgid "Anti-Aliasing Options"
 msgstr "抗锯齿选项"
 
-#: src/settings++/tab_quality_video.cpp:270
+#: src/settings++/tab_quality_video.cpp:272
 msgid "Z-/Depth-Buffer"
 msgstr "深度缓冲"
 
-#: src/settings++/tab_quality_video.cpp:271
+#: src/settings++/tab_quality_video.cpp:273
 msgid "Bump-mapped Water"
 msgstr ""
 
@@ -5304,7 +4964,7 @@ msgstr "其他 图形界面选项"
 msgid "Zoom"
 msgstr "缩放"
 
-#: src/singleplayertab.cpp:57
+#: src/singleplayertab.cpp:56
 msgid ""
 "You can drag the sun/bot icon around to define start position.\n"
 " Hover over the icon for a popup that lets you change side, ally and bonus."
@@ -5312,33 +4972,33 @@ msgstr ""
 "你可以将太阳/机器人图标拖动到预先设定的起始点附近。\n"
 " 将鼠标移至图标上会弹出一个界面让你选择阵营,联盟以及资源加成。"
 
-#: src/singleplayertab.cpp:81
+#: src/singleplayertab.cpp:80
 msgid "Add bot..."
 msgstr "添加AI..."
 
-#: src/singleplayertab.cpp:100
+#: src/singleplayertab.cpp:99
 #, fuzzy
 msgid "Spectate only"
 msgstr "观看者"
 
-#: src/singleplayertab.cpp:103
+#: src/singleplayertab.cpp:102
 #, fuzzy
 msgid "Random start positions"
 msgstr "随机出生位置"
 
-#: src/singleplayertab.cpp:145 src/singleplayertab.cpp:169
+#: src/singleplayertab.cpp:142 src/singleplayertab.cpp:168
 msgid "-- Select one --"
 msgstr "-- 请选择一个 --"
 
-#: src/singleplayertab.cpp:235 src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:234 src/singleplayertab.cpp:241
 msgid "Gamesetup error"
 msgstr "游戏设置错误"
 
-#: src/singleplayertab.cpp:242
+#: src/singleplayertab.cpp:241
 msgid "You have to select a map first."
 msgstr "你必须先选择一个地图"
 
-#: src/singleplayertab.cpp:249
+#: src/singleplayertab.cpp:248
 msgid ""
 "Continue without adding a bot first?.\n"
 " The game will be over pretty fast.\n"
@@ -5348,60 +5008,30 @@ msgstr ""
 " 游戏将会非常快的结束。\n"
 " "
 
-#: src/singleplayertab.cpp:250
+#: src/singleplayertab.cpp:249
 msgid "No Bot added"
 msgstr "没有AI被添加"
 
-#: src/singleplayertab.cpp:313
+#: src/singleplayertab.cpp:326
 msgid "You cannot start a spring instance while another is already running"
 msgstr "你不能在有另一个Spring正在执行的时候再次启动Spring"
 
-#: src/springlobbyapp.cpp:168
-msgid "Hi "
-msgstr "å—¨ "
-
-#: src/springlobbyapp.cpp:168
-msgid ""
-",\n"
-"It looks like this is your first time using SpringLobby. I have guessed a "
-"configuration that I think will work for you but you should review it, "
-"especially the Spring configuration. \n"
-"\n"
-"When you are done you can go to the File menu, connect to a server, and "
-"enjoy a nice game of Spring :)"
+#: src/springlobbyapp.cpp:183
+msgid "Couldn't load customizations for "
 msgstr ""
-",\n"
-"看来这是你第一次使用Spring游戏大厅。我已经为你预先进行了选项设置。不过你最好"
-"再自己看一下,尤其是Spring的配置。 \n"
-"\n"
-"当你完成后,你可以打开文件菜单,连接到一个服务器,并享受Spring带给你的精彩游"
-"戏。 :)"
 
-#: src/springlobbyapp.cpp:168
-msgid "Welcome"
-msgstr "欢迎"
-
-#: src/springlobbyapp.cpp:172
+#: src/springlobbyapp.cpp:183
 msgid ""
-"By default SpringLobby reports some usage statistics.\n"
-"You can disable that on options tab --> General."
-msgstr ""
-
-#: src/springlobbyapp.cpp:172
-#, fuzzy
-msgid "Notice"
-msgstr "æ— "
-
-#: src/springlobbyapp.cpp:188
-msgid "Should I try to import (some) TASClient settings?\n"
+"\n"
+"Please check that that is the correct name, passed in qoutation"
 msgstr ""
 
-#: src/springlobbyapp.cpp:188
+#: src/springlobbyapp.cpp:183
 #, fuzzy
-msgid "Import settings?"
-msgstr "路径设置"
+msgid "Fatal error"
+msgstr "致命错误"
 
-#: src/springlobbyapp.cpp:248
+#: src/springlobbyapp.cpp:241
 msgid ""
 "The application has generated a fatal error and will be terminated\n"
 "Generating a bug report is not possible\n"
@@ -5413,69 +5043,77 @@ msgstr ""
 "\n"
 "请使用支持wxUSE_DEBUGREPORT的wxWidgets库"
 
-#: src/springlobbyapp.cpp:281
+#: src/springlobbyapp.cpp:280
 msgid "only run update, quit immediately afterwards"
 msgstr ""
 
-#: src/springlobbyapp.cpp:451 src/springlobbyapp.cpp:452
+#: src/springlobbyapp.cpp:284
+msgid "Load lobby customizations from game archive. Expects the shortname."
+msgstr ""
+
+#: src/springlobbyapp.cpp:285
+msgid "Start with the simple interface."
+msgstr ""
+
+#: src/springlobbyapp.cpp:454 src/springlobbyapp.cpp:455
 #, fuzzy
 msgid "Ignore chat"
 msgstr "公众聊天"
 
-#: src/springlobbyapp.cpp:453 src/springlobbyapp.cpp:454
+#: src/springlobbyapp.cpp:456 src/springlobbyapp.cpp:457
 #, fuzzy
 msgid "Battle Autokick"
 msgstr "游戏列表"
 
-#: src/springlobbyapp.cpp:455 src/springlobbyapp.cpp:456
-#: src/springlobbyapp.cpp:457 src/springlobbyapp.cpp:458
-#: src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:458 src/springlobbyapp.cpp:459
+#: src/springlobbyapp.cpp:460 src/springlobbyapp.cpp:461
+#: src/springlobbyapp.cpp:462
 #, fuzzy
 msgid "Friends"
 msgstr "查找"
 
-#: src/springoptionstab.cpp:57
+#: src/springoptionstab.cpp:59
 msgid "Search only in current installed path"
 msgstr ""
 
-#: src/springoptionstab.cpp:65
+#: src/springoptionstab.cpp:67
 msgid "Spring executable"
 msgstr "Spring 执行文件"
 
-#: src/springoptionstab.cpp:67 src/springoptionstab.cpp:78
+#: src/springoptionstab.cpp:69 src/springoptionstab.cpp:80
 msgid "Location"
 msgstr "位置"
 
-#: src/springoptionstab.cpp:70 src/springoptionstab.cpp:80
+#: src/springoptionstab.cpp:72 src/springoptionstab.cpp:82
 msgid "Find"
 msgstr "查找"
 
-#: src/springoptionstab.cpp:75
+#: src/springoptionstab.cpp:77
 msgid "UnitSync library"
 msgstr "UnitSync库"
 
-#: src/springoptionstab.cpp:82
+#: src/springoptionstab.cpp:84
 msgid "Auto Configure"
 msgstr "自动配置"
 
-#: src/springoptionstab.cpp:83
+#: src/springoptionstab.cpp:85
 msgid "Change Datadir path"
 msgstr ""
 
-#: src/springoptionstab.cpp:182
+#: src/springoptionstab.cpp:184
 msgid "Choose a Spring executable"
 msgstr "选择Spring执行文件"
 
-#: src/springoptionstab.cpp:190 src/springoptionstab.cpp:192
-#: src/springoptionstab.cpp:198
+#: src/springoptionstab.cpp:192 src/springoptionstab.cpp:194
+#: src/springoptionstab.cpp:200
 msgid "Library"
 msgstr "库"
 
-#: src/springoptionstab.cpp:195
+#: src/springoptionstab.cpp:197
 msgid "Choose UnitSync library"
 msgstr "选择UnitSync库"
 
-#: src/springoptionstab.cpp:218
+#: src/springoptionstab.cpp:220
 msgid ""
 "SpringLobby is unable to load your UnitSync library.\n"
 "\n"
@@ -5509,7 +5147,7 @@ msgstr ""
 "创建目录时发生错误\n"
 "请手动创建下列目录:"
 
-#: src/tasserver.cpp:392 src/ui.cpp:246
+#: src/tasserver.cpp:392 src/ui.cpp:248
 msgid "Connection timed out"
 msgstr "连接超时"
 
@@ -5531,45 +5169,45 @@ msgstr ""
 msgid " , column "
 msgstr ""
 
-#: src/torrentlistctrl.cpp:44
+#: src/torrentlistctrl.cpp:23
+msgid "N/A"
+msgstr ""
+
+#: src/torrentlistctrl.cpp:172 src/torrentlistctrl.cpp:176
 #, fuzzy
-msgid "Numcopies"
-msgstr "æ•°å­—"
+msgid "Cancel torrent"
+msgstr "暂停所有Torrent"
 
-#: src/torrentlistctrl.cpp:48
+#: src/torrentlistctrl.cpp:173
 #, fuzzy
-msgid "MB downloaded"
-msgstr "上传兆字节"
+msgid "Retry torrent"
+msgstr "恢复"
 
-#: src/torrentlistctrl.cpp:52
-msgid "MB uploaded"
-msgstr "上传兆字节"
+#: src/torrentlistctrl.cpp:178
+msgid "Cancel torrent (keeping downloaded file)"
+msgstr ""
 
-#: src/torrentlistctrl.cpp:56
+#: src/torrentlistctrl.cpp:264
 #, fuzzy
-msgid "Status"
-msgstr "状态:"
-
-#: src/torrentlistctrl.cpp:60
-#, c-format
-msgid "% complete"
-msgstr "进度       %c"
+msgid "not found"
+msgstr "没有找到地图"
 
-#: src/torrentlistctrl.cpp:64
-msgid "KB/s up"
-msgstr "KB/s 上传"
+#: src/torrentlistctrl.cpp:265
+msgid "queued"
+msgstr "队列中"
 
-#: src/torrentlistctrl.cpp:68
-msgid "KB/s down"
-msgstr "KB/s 下载"
+#: src/torrentlistctrl.cpp:266
+msgid "leeching"
+msgstr "吸血中"
 
-#: src/torrentlistctrl.cpp:72
-msgid "ETA (s)"
-msgstr "估计剩余时间(秒)"
+#: src/torrentlistctrl.cpp:267
+#, fuzzy
+msgid "complete"
+msgstr "进度       %c"
 
-#: src/torrentlistctrl.cpp:76
-msgid "Filesize (MB)"
-msgstr "文件大小(MB)"
+#: src/torrentlistctrl.cpp:268
+msgid "seeding"
+msgstr "做种"
 
 #: src/torrentoptionspanel.cpp:37
 msgid "Torrent system autostart"
@@ -5638,11 +5276,11 @@ msgstr ""
 msgid "Torrent system failure"
 msgstr "Torrent系统自动开始"
 
-#: src/ui.cpp:165
+#: src/ui.cpp:167
 msgid "Server password"
 msgstr "服务器密码"
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid ""
 "Registration successful,\n"
 "you should now be able to login."
@@ -5650,143 +5288,135 @@ msgstr ""
 "注册成功,\n"
 "你现在就应该能够登陆。"
 
-#: src/ui.cpp:241
+#: src/ui.cpp:243
 msgid "Registration successful"
 msgstr "注册成功"
 
-#: src/ui.cpp:247
+#: src/ui.cpp:249
 msgid "Registration failed, the reason was:\n"
 msgstr "注册失败,原因是:\n"
 
-#: src/ui.cpp:373
-msgid ""
-"\n"
-"Broser path is: "
-msgstr ""
-"\n"
-"浏览器路径为: "
-
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Help error"
 msgstr "帮助错误"
 
-#: src/ui.cpp:482
+#: src/ui.cpp:451
 msgid "Type /help in a chat box."
 msgstr "在聊天文本框中输入 /help。"
 
-#: src/ui.cpp:487
+#: src/ui.cpp:456
 msgid "SpringLobby commands help."
 msgstr "Spring大厅指令帮助。"
 
-#: src/ui.cpp:489
+#: src/ui.cpp:458
 msgid "Global commands:"
 msgstr "全局指令:"
 
-#: src/ui.cpp:490
+#: src/ui.cpp:459
 msgid "  \"/away\" - Sets your status to away."
 msgstr "  /away  设置你的状态为离开。"
 
-#: src/ui.cpp:491
+#: src/ui.cpp:460
 msgid "  \"/back\" - Resets your away status."
 msgstr "  /back  取消你的离开状态。"
 
-#: src/ui.cpp:492
+#: src/ui.cpp:461
 msgid ""
 "  \"/changepassword oldpassword newpassword\" - Changes the current active "
 "account's password."
 msgstr "  /changepassword 旧密码 新密码  修改当前活动帐户的密码。"
 
-#: src/ui.cpp:493
+#: src/ui.cpp:462
 msgid "  \"/channels\" - Lists currently active channels."
 msgstr "  /channels  列举所有当前活动的频道。"
 
-#: src/ui.cpp:494
+#: src/ui.cpp:463
 msgid ""
 "  \"/help [topic]\" - Put topic if you want to know more specific "
 "information about a command."
 msgstr "  /help [话题]  如果你想了解有关一个指令的更多详细信息,请将话题写入。"
 
-#: src/ui.cpp:495
+#: src/ui.cpp:464
 #, fuzzy
 msgid ""
 "  \"/join channel [password] [,channel2 [password2]]\" - Joins a channel."
 msgstr "  /join 频道名 [密码] [,频道名2 [密码2]...]  加入一个/多个频道。"
 
-#: src/ui.cpp:496
+#: src/ui.cpp:465
 msgid "  \"/j\" - Alias to /join."
 msgstr "  /j  等于 /join。"
 
-#: src/ui.cpp:497
+#: src/ui.cpp:466
 #, fuzzy
 msgid "  \"/ingame\" - Shows how much time you have in game."
 msgstr "  /ingame  显示你在游戏中的时间长度。"
 
-#: src/ui.cpp:498
+#: src/ui.cpp:467
 #, fuzzy
 msgid ""
 "  \"/msg username [text]\" - Sends a private message containing text to "
 "username."
 msgstr "  /msg 用户名 [消息文本]  向某个用户发送私人消息。"
 
-#: src/ui.cpp:499
+#: src/ui.cpp:468
 #, fuzzy
 msgid "  \"/part\" - Leaves current channel."
 msgstr "  /channels  列举所有当前活动的频道。"
 
-#: src/ui.cpp:500
+#: src/ui.cpp:469
 #, fuzzy
 msgid "  \"/p\" - Alias to /part."
 msgstr "  /j  等于 /join。"
 
-#: src/ui.cpp:501
+#: src/ui.cpp:470
 msgid "  \"/rename newalias\" - Changes your nickname to newalias."
 msgstr "  /rename 新用户名  将你的昵称修改为新的用户名。"
 
-#: src/ui.cpp:502
+#: src/ui.cpp:471
 #, fuzzy
 msgid "  \"/sayver\" - Says what version of springlobby you have in chat."
 msgstr "  /sayver  告诉用户你正在使用的Spring大厅版本号。"
 
-#: src/ui.cpp:503
+#: src/ui.cpp:472
 msgid "  \"/testmd5 text\" - Returns md5-b64 hash of given text."
 msgstr "  /testmd5 文本  返回给定文本的MD5哈希值。"
 
-#: src/ui.cpp:504
+#: src/ui.cpp:473
 #, fuzzy
 msgid "  \"/ver\" - Displays what version of SpringLobby you have."
 msgstr "  /ver  显示你拥有的Spring大厅版本号。"
 
-#: src/ui.cpp:505
+#: src/ui.cpp:474
 msgid "  \"/clear\" - Clears all text from current chat panel"
 msgstr ""
 
-#: src/ui.cpp:507
+#: src/ui.cpp:476
 msgid "Chat commands:"
 msgstr "聊天命令:"
 
-#: src/ui.cpp:508
+#: src/ui.cpp:477
 msgid "  \"/me action\" - Say IRC style action message."
 msgstr "  /me 行为  发送IRC样式的行为消息。"
 
-#: src/ui.cpp:510
+#: src/ui.cpp:479
 msgid ""
 "If you are missing any commands, go to #springlobby and try to type it "
 "there :)"
 msgstr "如果你忘记任何的命令,到#springlobby频道并在那里尝试输入 :)"
 
-#: src/ui.cpp:515
+#: src/ui.cpp:484
 msgid "No topics written yet."
 msgstr "还没有写话题。"
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "The topic \""
 msgstr "话题 “"
 
-#: src/ui.cpp:519
+#: src/ui.cpp:488
 msgid "\" was not found. Type \"/help topics\" only for available topics."
 msgstr "”未被找到。输入“/help 话题名”时仅限可用的话题。"
 
-#: src/ui.cpp:609
+#: src/ui.cpp:578
 #, fuzzy
 msgid ""
 "Couldn't get your spring versions from any unitsync library.\n"
@@ -5797,72 +5427,72 @@ msgstr ""
 "\n"
 "在线游戏将被禁用。"
 
-#: src/ui.cpp:625
+#: src/ui.cpp:594
 #, c-format
 msgid ""
 "No compatible installed spring version has been found, this server requires "
 "version: %s\n"
 msgstr ""
 
-#: src/ui.cpp:628
+#: src/ui.cpp:597
 #, fuzzy
 msgid "Online play is currently disabled."
 msgstr "在线游戏将被禁用。"
 
-#: src/ui.cpp:661
+#: src/ui.cpp:630
 #, fuzzy
 msgid "Disconnected from server."
 msgstr "服务器传来未知答案"
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 msgid ""
 "A connection couldn't be established with the server\n"
 "Would you like to try again with the same server?\n"
 "No to switch to next server in the list"
 msgstr ""
 
-#: src/ui.cpp:673
+#: src/ui.cpp:642
 #, fuzzy
 msgid "Connection failure"
 msgstr "连接超时"
 
-#: src/ui.cpp:835
+#: src/ui.cpp:804
 msgid "no active chat panels open."
 msgstr "没有活动的聊天面板开启"
 
-#: src/ui.cpp:838
+#: src/ui.cpp:807
 #, c-format
 msgid "(%d users)"
 msgstr "(%d 名用户)"
 
-#: src/ui.cpp:902
+#: src/ui.cpp:871
 msgid "Server message"
 msgstr "服务器消息"
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "The current battle was closed by the host."
 msgstr "当前战斗被主建者关闭"
 
-#: src/ui.cpp:947
+#: src/ui.cpp:916
 msgid "Battle closed"
 msgstr "战场已关闭"
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid ""
 "Your spring settings are probably not configured correctly,\n"
 "you should take another look at your settings before trying\n"
 "to play online."
 msgstr "你的Spring设置并不正确,在开始网上对战前请再次检查你的设置。"
 
-#: src/ui.cpp:1051
+#: src/ui.cpp:1020
 msgid "Spring settings error"
 msgstr "Spring设置错误"
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid "The selected preset requires the map "
 msgstr ""
 
-#: src/ui.cpp:1258
+#: src/ui.cpp:1202
 msgid ""
 ". Should it be downloaded?                                     \n"
 " Selecting \"no\" will remove the missing map from the preset.\n"
@@ -5870,11 +5500,56 @@ msgid ""
 "download finished"
 msgstr ""
 
-#: src/ui.cpp:1261
+#: src/ui.cpp:1205
 msgid "Map missing"
 msgstr ""
 
-#: src/updater/updater.cpp:46
+#: src/ui.cpp:1238
+msgid "Hi "
+msgstr "å—¨ "
+
+#: src/ui.cpp:1238
+msgid ""
+",\n"
+"It looks like this is your first time using SpringLobby. I have guessed a "
+"configuration that I think will work for you but you should review it, "
+"especially the Spring configuration. \n"
+"\n"
+"When you are done you can go to the File menu, connect to a server, and "
+"enjoy a nice game of Spring :)"
+msgstr ""
+",\n"
+"看来这是你第一次使用Spring游戏大厅。我已经为你预先进行了选项设置。不过你最好"
+"再自己看一下,尤其是Spring的配置。 \n"
+"\n"
+"当你完成后,你可以打开文件菜单,连接到一个服务器,并享受Spring带给你的精彩游"
+"戏。 :)"
+
+#: src/ui.cpp:1238
+msgid "Welcome"
+msgstr "欢迎"
+
+#: src/ui.cpp:1242
+msgid ""
+"By default SpringLobby reports some usage statistics.\n"
+"You can disable that on options tab --> General."
+msgstr ""
+
+#: src/ui.cpp:1242
+#, fuzzy
+msgid "Notice"
+msgstr "æ— "
+
+#: src/ui.cpp:1258
+msgid "Should I try to import (some) TASClient settings?\n"
+msgstr ""
+
+#: src/ui.cpp:1258
+#, fuzzy
+msgid "Import settings?"
+msgstr "路径设置"
+
+#: src/updater/updater.cpp:45
 msgid ""
 "There was an error checking for the latest version.\n"
 "Please try again later.\n"
@@ -5884,15 +5559,15 @@ msgstr ""
 "请稍候尝试。\n"
 "如果问题依然存在,请使用 帮助 -> 报告Bug。"
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Your Version: "
 msgstr "你的版本: "
 
-#: src/updater/updater.cpp:51
+#: src/updater/updater.cpp:50
 msgid "Latest Version: "
 msgstr "最新版本: "
 
-#: src/updater/updater.cpp:55 src/updater/updater.cpp:68
+#: src/updater/updater.cpp:54 src/updater/updater.cpp:60
 msgid ""
 "Your SpringLobby version is not up to date.\n"
 "\n"
@@ -5900,7 +5575,7 @@ msgstr ""
 "你的 SpringLobby 版本不是最新的。\n"
 "\n"
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 msgid ""
 "\n"
 "\n"
@@ -5908,26 +5583,22 @@ msgid ""
 "effect next you launch the lobby again."
 msgstr ""
 
-#: src/updater/updater.cpp:55
+#: src/updater/updater.cpp:54
 #, fuzzy
 msgid "Not up to date"
 msgstr "不是最新的"
 
-#: src/updater/updater.cpp:62
-msgid "SpringLobby -- downloading update"
-msgstr ""
-
-#: src/updater/updater.cpp:68
+#: src/updater/updater.cpp:60
 msgid "Not up to Date"
 msgstr "不是最新的"
 
-#: src/updater/updater.cpp:82
+#: src/updater/updater.cpp:72
 msgid ""
 "Unable to write to the lobby installation directory.\n"
 "Please update manually or enable write permissions for the current user."
 msgstr ""
 
-#: src/updater/updater.cpp:97
+#: src/updater/updater.cpp:88
 #, fuzzy
 msgid ""
 "There was an error downloading for the latest version.\n"
@@ -5938,11 +5609,11 @@ msgstr ""
 "请稍候尝试。\n"
 "如果问题依然存在,请使用 帮助 -> 报告Bug。"
 
-#: src/updater/updater.cpp:102 src/updater/updater.cpp:105
+#: src/updater/updater.cpp:92
 #, fuzzy, c-format
 msgid ""
-"There was an error while trying to replace the current executable version\n"
-" manual copy is necessary from: %s\n"
+"There was an error while trying to replace the current executable version.\n"
+" Please manually copy springlobby.exe from: %s\n"
 " to: %s\n"
 "Please use Help->Report Bug to report this bug."
 msgstr ""
@@ -5950,18 +5621,18 @@ msgstr ""
 "请稍候尝试。\n"
 "如果问题依然存在,请使用 帮助 -> 报告Bug。"
 
-#: src/updater/updater.cpp:113 src/updater/updater.cpp:116
+#: src/updater/updater.cpp:98
 msgid "Update complete. The changes will be available next lobby start."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid ""
 "Binary updated successfully. \n"
 "Some translation files could not be updated.\n"
 "Please report this in #springlobby after restarting."
 msgstr ""
 
-#: src/updater/updater.cpp:123 src/updater/updater.cpp:126
+#: src/updater/updater.cpp:101
 msgid "Partial success"
 msgstr ""
 
@@ -6088,16 +5759,16 @@ msgstr "老鸟"
 msgid "Unknown"
 msgstr "未知"
 
-#: src/usermenu.h:23
+#: src/usermenu.h:30
 msgid "Create new group..."
 msgstr ""
 
-#: src/usermenu.h:29
+#: src/usermenu.h:36
 #, fuzzy
 msgid "Add to group..."
 msgstr "添加AI..."
 
-#: src/usermenu.h:30
+#: src/usermenu.h:37
 #, fuzzy
 msgid "Remove from group"
 msgstr "移除用户帐户"
@@ -6179,6 +5850,243 @@ msgstr ""
 #~ msgid "cpu"
 #~ msgstr "CPU"
 
+#~ msgid "Copy"
+#~ msgstr "复制"
+
+#~ msgid "Clear"
+#~ msgstr "清除"
+
+#~ msgid "Auto join this channel"
+#~ msgstr "自动加入该频道"
+
+#~ msgid "Display Join/Leave Messages"
+#~ msgstr "显示 加入/离开 信息"
+
+#, fuzzy
+#~ msgid "Show mute list"
+#~ msgstr "显示工具提示"
+
+#~ msgid "Channel info"
+#~ msgstr "频道信息"
+
+#~ msgid "Set topic..."
+#~ msgstr "设置话题..."
+
+#~ msgid "Channel message..."
+#~ msgstr "频道消息..."
+
+#~ msgid "Lock..."
+#~ msgstr "锁定..."
+
+#~ msgid "Unlock"
+#~ msgstr "解锁"
+
+#~ msgid "Register..."
+#~ msgstr "注册..."
+
+#~ msgid "Unregister"
+#~ msgstr "注销"
+
+#~ msgid "On"
+#~ msgstr "打开"
+
+#~ msgid "Off"
+#~ msgstr "关闭"
+
+#~ msgid "Is on?"
+#~ msgstr "是否开启"
+
+#~ msgid "Spam protection"
+#~ msgstr "垃圾消息保护"
+
+#~ msgid "ChanServ"
+#~ msgstr "频道服务器"
+
+#~ msgid "Disconnect"
+#~ msgstr "断开连接"
+
+#~ msgid "Remove..."
+#~ msgstr "移除..."
+
+#~ msgid "Change password..."
+#~ msgstr "更改密码..."
+
+#~ msgid "Set access..."
+#~ msgstr "设置权限..."
+
+#~ msgid "Accounts"
+#~ msgstr "帐户"
+
+#~ msgid "Broadcast..."
+#~ msgstr "广播..."
+
+#~ msgid "Admin"
+#~ msgstr "管理员"
+
+#, fuzzy
+#~ msgid "User"
+#~ msgstr "禁言用户"
+
+#~ msgid "Open Chat"
+#~ msgstr "公众聊天"
+
+#~ msgid "Join same battle"
+#~ msgstr "加入同一战斗"
+
+#~ msgid "Ingame time"
+#~ msgstr "游戏持续时间"
+
+#~ msgid "Retrieve IP and Smurfs"
+#~ msgstr "返回IP与Smurf"
+
+#~ msgid "Mute..."
+#~ msgstr "禁言..."
+
+#~ msgid "Mute for 5 minutes"
+#~ msgstr "禁言5分钟"
+
+#~ msgid "Mute for 10 minutes"
+#~ msgstr "禁言10分钟"
+
+#~ msgid "Mute for 30 minutes"
+#~ msgstr "禁言30分钟"
+
+#~ msgid "Mute for 2 hours"
+#~ msgstr "禁言2小时"
+
+#~ msgid "Mute for 1 day"
+#~ msgstr "禁言1天"
+
+#~ msgid "Unmute"
+#~ msgstr "取消禁言"
+
+#~ msgid "Mute"
+#~ msgstr "禁言"
+
+#~ msgid "Kick..."
+#~ msgstr "踢出..."
+
+#~ msgid "Ban..."
+#~ msgstr "禁闭..."
+
+#~ msgid "Unban"
+#~ msgstr "解禁"
+
+#~ msgid "Slap!"
+#~ msgstr "打耳光!"
+
+#~ msgid "Op"
+#~ msgstr "给管理员权限"
+
+#~ msgid "DeOp"
+#~ msgstr "取消管理员权限"
+
+#~ msgid "ChanServ error"
+#~ msgstr "频道服务器错误"
+
+#~ msgid "ChanServ is not in this channel."
+#~ msgstr "频道服务器不在该频道。"
+
+#~ msgid "What should be the new topic?"
+#~ msgstr "新话题应该是什么?"
+
+#~ msgid "Message:"
+#~ msgstr "消息:"
+
+#~ msgid "Lock channel..."
+#~ msgstr "锁定频道..."
+
+#~ msgid "What should the new password be?"
+#~ msgstr "新密码应该是什么?"
+
+#~ msgid "Unlock Channel"
+#~ msgstr "解锁频道"
+
+#~ msgid "Are you sure you want to unlock this channel?"
+#~ msgstr "你确认你要解锁该频道?"
+
+#~ msgid "ChanServ is not on this server."
+#~ msgstr "频道服务器不在该服务器。"
+
+#~ msgid "Register Channel"
+#~ msgstr "注册频道"
+
+#~ msgid "Who should be appointed founder of this channel?"
+#~ msgstr "谁应该被指派为该频道的创建者?"
+
+#~ msgid "Unregister Channel"
+#~ msgstr "注销频道"
+
+#~ msgid "Are you sure you want to unregister this channel?"
+#~ msgstr "你确认你要注销此频道?"
+
+#~ msgid "Remove User Acount"
+#~ msgstr "移除用户帐户"
+
+#~ msgid "What user account do you want to remove today?"
+#~ msgstr "你想要移除哪个用户帐户?"
+
+#~ msgid "Remove Account"
+#~ msgstr "删除账户"
+
+#~ msgid "Are you sure you want to remove the account "
+#~ msgstr "你确认你要移除帐户 "
+
+#~ msgid "Change User Acount Password"
+#~ msgstr "修改用户帐户密码"
+
+#~ msgid "What user account do you want to change the password for?"
+#~ msgstr "你想为哪位用户修改密码?"
+
+#~ msgid "What would be the new password?"
+#~ msgstr "新密码应该是什么?"
+
+#~ msgid "Not Implemented"
+#~ msgstr "尚未实现"
+
+#~ msgid "Broadcast Message"
+#~ msgstr "广播消息"
+
+#~ msgid "Message to be broadcasted:"
+#~ msgstr "要广播的消息:"
+
+#~ msgid "You don't have the mod "
+#~ msgstr "你没有 "
+
+#~ msgid " . Please download it first"
+#~ msgstr " 模组。请先下载"
+
+#~ msgid "Mod unavailable"
+#~ msgstr "模组不可用"
+
+#~ msgid "This battle is password protected, enter the password."
+#~ msgstr "这个战斗有密码保护,请输入密码。"
+
+#~ msgid "Mute User"
+#~ msgstr "禁言用户"
+
+#~ msgid "For how many minutes should the user be muted?"
+#~ msgstr "该用户将被禁言几分钟?"
+
+#~ msgid "Kick User"
+#~ msgstr "踢出用户"
+
+#~ msgid "Reason:"
+#~ msgstr "原因:"
+
+#~ msgid "Kick user"
+#~ msgstr "踢出用户"
+
+#~ msgid "Mute user"
+#~ msgstr "禁言用户"
+
+#~ msgid "Duration:"
+#~ msgstr "持续时间:"
+
+#, fuzzy
+#~ msgid "couldn't add user"
+#~ msgstr "无法启动浏览器。"
+
 #~ msgid "Test firewall"
 #~ msgstr "测试防火墙"
 
@@ -6198,6 +6106,9 @@ msgstr ""
 #~ msgid "Tab icons"
 #~ msgstr "地图选项"
 
+#~ msgid "not available"
+#~ msgstr "不可用"
+
 #, fuzzy
 #~ msgid "Chose in game"
 #~ msgstr "在游戏中选择"
@@ -6220,9 +6131,35 @@ msgstr ""
 #~ msgid "Player"
 #~ msgstr "玩家:"
 
+#, fuzzy
+#~ msgid "MB downloaded"
+#~ msgstr "上传兆字节"
+
+#~ msgid "MB uploaded"
+#~ msgstr "上传兆字节"
+
 #~ msgid "status"
 #~ msgstr "状态"
 
+#~ msgid "KB/s up"
+#~ msgstr "KB/s 上传"
+
+#~ msgid "KB/s down"
+#~ msgstr "KB/s 下载"
+
+#~ msgid "ETA (s)"
+#~ msgstr "估计剩余时间(秒)"
+
+#~ msgid "Filesize (MB)"
+#~ msgstr "文件大小(MB)"
+
+#~ msgid ""
+#~ "\n"
+#~ "Broser path is: "
+#~ msgstr ""
+#~ "\n"
+#~ "浏览器路径为: "
+
 #, fuzzy
 #~ msgid "Choose color"
 #~ msgstr "选择文件夹"
diff --git a/src/Helper/imageviewer.cpp b/src/Helper/imageviewer.cpp
index fea4c71..335053d 100644
--- a/src/Helper/imageviewer.cpp
+++ b/src/Helper/imageviewer.cpp
@@ -13,7 +13,7 @@
 #include <wx/button.h>
 #include <wx/filedlg.h>
 
-#include "../settings++/custom_dialogs.h"
+#include "../utils/customdialogs.h"
 #include "../uiutils.h"
 
 BEGIN_EVENT_TABLE( ImagePanel, wxPanel )
diff --git a/src/Helper/slhtmlwindow.cpp b/src/Helper/slhtmlwindow.cpp
index 645be57..7a90dfe 100644
--- a/src/Helper/slhtmlwindow.cpp
+++ b/src/Helper/slhtmlwindow.cpp
@@ -1,6 +1,6 @@
 #include "slhtmlwindow.h"
 
-#include "../ui.h"
+#include "../uiutils.h"
 
 BEGIN_EVENT_TABLE( slHtmlWindow, wxHtmlWindow )
     EVT_HTML_LINK_CLICKED(wxID_ANY, slHtmlWindow::OnLinkClicked)
@@ -22,5 +22,5 @@ slHtmlWindow::~slHtmlWindow()
 void slHtmlWindow::OnLinkClicked( wxHtmlLinkEvent& evt )
 {
     wxString url = evt.GetLinkInfo().GetHref();
-    ui().OpenWebBrowser( url );
+    OpenWebBrowser( url );
 }
diff --git a/src/Helper/wxTranslationHelper.cpp b/src/Helper/wxTranslationHelper.cpp
index 9d4f28c..fc12cd3 100644
--- a/src/Helper/wxTranslationHelper.cpp
+++ b/src/Helper/wxTranslationHelper.cpp
@@ -8,7 +8,7 @@
 #include <wx/choicdlg.h>
 #include <wx/intl.h>
 #include "../settings.h"
-#include "../settings++/custom_dialogs.h"
+#include "../utils/customdialogs.h"
 
 wxTranslationHelper::wxTranslationHelper( wxApp & app,
 										 const wxString & search_path )
diff --git a/src/Helper/wxtextctrlhist.cpp b/src/Helper/wxtextctrlhist.cpp
index 12c543c..98c3a2c 100644
--- a/src/Helper/wxtextctrlhist.cpp
+++ b/src/Helper/wxtextctrlhist.cpp
@@ -50,7 +50,7 @@ void wxTextCtrlHist::OnChar(wxKeyEvent & event)
 {
         int keyCode = event.GetKeyCode();
 
-        if ( current_pos == Historical.GetCount() ) {
+        if ( current_pos == int(Historical.GetCount()) ) {
             m_original = GetValue();
         }
 
diff --git a/src/addbotdialog.cpp b/src/addbotdialog.cpp
index 07aa03a..896d62b 100644
--- a/src/addbotdialog.cpp
+++ b/src/addbotdialog.cpp
@@ -18,7 +18,7 @@
 #include "mmoptionwindows.h"
 #include "utils/conversion.h"
 
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 
 BEGIN_EVENT_TABLE( AddBotDialog, wxDialog )
     EVT_BUTTON( ADDBOT_CANCEL, AddBotDialog::OnClose )
diff --git a/src/aui/slbook.cpp b/src/aui/slbook.cpp
index a1a53ea..d35d006 100644
--- a/src/aui/slbook.cpp
+++ b/src/aui/slbook.cpp
@@ -2,10 +2,22 @@
 
 #include "slbook.h"
 #include "../settings.h"
+#include "../chatpanel.h"
+#include "../chatpanelmenu.h"
+#include "../ui.h"
+#include "../mainwindow.h"
 
+#include <wx/menu.h>
 
-SLNotebook ::SLNotebook (wxWindow* parent, wxWindowID id , const wxPoint& pos , const wxSize& size , long style )
-    : wxAuiNotebook( parent, id, pos, size, sett().GetShowXallTabs() ? style | wxAUI_NB_CLOSE_ON_ALL_TABS : style )
+static const long ID_CLOSE_TAB          = wxNewId();
+static const long ID_CLOSE_TAB_OTHER    = wxNewId();
+static const long ID_CLOSE_TAB_ALL      = wxNewId();
+static const long ID_NEW_TAB      = wxNewId();
+
+SLNotebook ::SLNotebook (wxWindow* parent, const wxString& name, wxWindowID id ,
+                            const wxPoint& pos , const wxSize& size , long style )
+    : wxAuiNotebook( parent, id, pos, size, style ),
+    m_name( name )
 {
     m_mgr.SetFlags(wxAUI_MGR_ALLOW_FLOATING |
 
@@ -14,3 +26,374 @@ SLNotebook ::SLNotebook (wxWindow* parent, wxWindowID id , const wxPoint& pos ,
         );
 }
 
+BEGIN_EVENT_TABLE( SLChatNotebook, SLNotebook )
+
+     EVT_AUINOTEBOOK_TAB_RIGHT_UP ( wxID_ANY, SLChatNotebook::OnHeaderRightClick )
+//     EVT_AUINOTEBOOK_ALLOW_DND(wxID_ANY, SLChatNotebook::OnAllowNotebookDnD)
+//     EVT_AUINOTEBOOK_BEGIN_DRAG(wxID_ANY, SLChatNotebook::OnAllowNotebookDnD)
+//     EVT_AUINOTEBOOK_DRAG_DONE(wxID_ANY, SLChatNotebook::OnAllowNotebookDnD)
+//     EVT_AUINOTEBOOK_DRAG_MOTION(wxID_ANY, SLChatNotebook::OnAllowNotebookDnD)
+
+END_EVENT_TABLE()
+
+bool SLChatNotebook::AddPage(ChatPanel* page, const wxString& caption, bool select, const wxBitmap& bitmap)
+{
+    return ParentType::AddPage((wxWindow*)page, caption, select, bitmap);
+}
+
+/** @brief SLChatNotebook
+  *
+  * @todo: document this function
+  */
+ SLChatNotebook::SLChatNotebook(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
+    : ParentType( parent, _T("chatnotebook"), id, pos,  size, sett().GetShowXallTabs() ? style | wxAUI_NB_CLOSE_ON_ALL_TABS : style )
+{
+
+}
+
+//should work accroding to docs/sample, but doesn't (not even in sample)
+void SLChatNotebook::OnAllowNotebookDnD(wxAuiNotebookEvent& evt)
+{
+    evt.Veto();
+}
+
+/** @brief OnHeaderRightClick
+  *
+  * @todo: document this function
+  */
+void SLChatNotebook::OnHeaderRightClick(wxAuiNotebookEvent &event)
+{
+    if ( event.GetSelection() == -1 )
+        return;
+
+    wxMenu* pop = new wxMenu;
+    pop->Append( ID_NEW_TAB, _("New Tab") );
+    pop->Append( ID_CLOSE_TAB, _("Close") );
+    if ( GetPageCount() > 1)
+    {
+        pop->Append( ID_CLOSE_TAB_ALL, _("Close all"));
+        pop->Append( ID_CLOSE_TAB_OTHER, _("Close all others"));
+    }
+
+    ChatPanel* cur_page = static_cast<ChatPanel*>( GetPage( event.GetSelection() ) );
+    m_ch_menu = new ChatPanelMenu( cur_page, true );
+    pop->AppendSubMenu ( m_ch_menu->GetMenu() , _( "Channel" ));
+    Connect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( SLChatNotebook::OnMenuItem ), cur_page, this );
+    PopupMenu(pop);
+}
+
+void SLChatNotebook::OnMenuItem( wxCommandEvent& event )
+{
+    long id = event.GetId();
+    if ( id == ID_NEW_TAB ) {
+        ui().mw().OnMenuJoin( event );
+    }
+    else if ( id == ID_CLOSE_TAB ) {
+        DeletePage( GetSelection() );
+    }
+    else if ( id == ID_CLOSE_TAB_ALL ) {
+        for ( size_t i = 0; i < GetPageCount(); ++i ){
+                DeletePage( i );
+                i--;
+        }
+    }
+    else if ( id == ID_CLOSE_TAB_OTHER ) {
+        size_t selected = GetSelection();
+        for ( size_t i = 0; i < GetPageCount(); ++i ){
+        	if ( i == selected )
+        	    continue;
+            else {
+                DeletePage( i );
+                i--;
+                selected--;
+        	}
+        }
+    }
+    else {
+        ChatPanel* cur_page = static_cast<ChatPanel*>( GetPage( GetSelection() ) );
+        if ( cur_page ) {
+            m_ch_menu->OnMenuItem( event );
+        }
+    }
+}
+
+// wxTabFrame is an interesting case.  It's important that all child pages
+// of the multi-notebook control are all actually children of that control
+// (and not grandchildren).  wxTabFrame facilitates this.  There is one
+// instance of wxTabFrame for each tab control inside the multi-notebook.
+// It's important to know that wxTabFrame is not a real window, but it merely
+// used to capture the dimensions/positioning of the internal tab control and
+// it's managed page windows
+
+class wxTabFrame : public wxWindow
+{
+public:
+
+    wxTabFrame()
+    {
+        m_tabs = NULL;
+        m_rect = wxRect(0,0,200,200);
+        m_tab_ctrl_height = 20;
+    }
+
+    ~wxTabFrame()
+    {
+        wxDELETE(m_tabs);
+    }
+
+    void SetTabCtrlHeight(int h)
+    {
+        m_tab_ctrl_height = h;
+    }
+
+    void DoSetSize(int x, int y,
+                   int width, int height,
+                   int WXUNUSED(sizeFlags = wxSIZE_AUTO))
+    {
+        m_rect = wxRect(x, y, width, height);
+        DoSizing();
+    }
+
+    void DoGetClientSize(int* x, int* y) const
+    {
+        *x = m_rect.width;
+        *y = m_rect.height;
+    }
+
+    bool Show( bool WXUNUSED(show = true) ) { return false; }
+
+    void DoSizing()
+    {
+        if (!m_tabs)
+            return;
+
+        if (m_tabs->GetFlags() & wxAUI_NB_BOTTOM)
+        {
+            m_tab_rect = wxRect (m_rect.x, m_rect.y + m_rect.height - m_tab_ctrl_height, m_rect.width, m_tab_ctrl_height);
+            m_tabs->SetSize     (m_rect.x, m_rect.y + m_rect.height - m_tab_ctrl_height, m_rect.width, m_tab_ctrl_height);
+            m_tabs->SetRect     (wxRect(0, 0, m_rect.width, m_tab_ctrl_height));
+        }
+        else //TODO: if (GetFlags() & wxAUI_NB_TOP)
+        {
+            m_tab_rect = wxRect (m_rect.x, m_rect.y, m_rect.width, m_tab_ctrl_height);
+            m_tabs->SetSize     (m_rect.x, m_rect.y, m_rect.width, m_tab_ctrl_height);
+            m_tabs->SetRect     (wxRect(0, 0,        m_rect.width, m_tab_ctrl_height));
+        }
+        // TODO: else if (GetFlags() & wxAUI_NB_LEFT){}
+        // TODO: else if (GetFlags() & wxAUI_NB_RIGHT){}
+
+        m_tabs->Refresh();
+        m_tabs->Update();
+
+        wxAuiNotebookPageArray& pages = m_tabs->GetPages();
+        size_t i, page_count = pages.GetCount();
+
+        for (i = 0; i < page_count; ++i)
+        {
+            wxAuiNotebookPage& page = pages.Item(i);
+            if (m_tabs->GetFlags() & wxAUI_NB_BOTTOM)
+            {
+               page.window->SetSize(m_rect.x, m_rect.y,
+                                    m_rect.width, m_rect.height - m_tab_ctrl_height);
+            }
+            else //TODO: if (GetFlags() & wxAUI_NB_TOP)
+            {
+                page.window->SetSize(m_rect.x, m_rect.y + m_tab_ctrl_height,
+                                    m_rect.width, m_rect.height - m_tab_ctrl_height);
+            }
+            // TODO: else if (GetFlags() & wxAUI_NB_LEFT){}
+            // TODO: else if (GetFlags() & wxAUI_NB_RIGHT){}
+
+#if wxUSE_MDI
+            if (page.window->IsKindOf(CLASSINFO(wxAuiMDIChildFrame)))
+            {
+                wxAuiMDIChildFrame* wnd = (wxAuiMDIChildFrame*)page.window;
+                wnd->ApplyMDIChildFrameRect();
+            }
+#endif
+        }
+    }
+
+    void DoGetSize(int* x, int* y) const
+    {
+        if (x)
+            *x = m_rect.GetWidth();
+        if (y)
+            *y = m_rect.GetHeight();
+    }
+
+    void Update()
+    {
+        // does nothing
+    }
+
+public:
+
+    wxRect m_rect;
+    wxRect m_tab_rect;
+    wxAuiTabCtrl* m_tabs;
+    int m_tab_ctrl_height;
+};
+
+
+wxString SLNotebook::SavePerspective() {
+  // Build list of panes/tabs
+  wxString tabs;
+  wxAuiPaneInfoArray& all_panes = m_mgr.GetAllPanes();
+   const size_t pane_count = all_panes.GetCount();
+
+   for (size_t i = 0; i < pane_count; ++i)
+   {
+     wxAuiPaneInfo& pane = all_panes.Item(i);
+     if (pane.name == wxT("dummy"))
+           continue;
+
+       wxTabFrame* tabframe = (wxTabFrame*)pane.window;
+
+     if (!tabs.empty()) tabs += wxT("|");
+     tabs += pane.name;
+     tabs += wxT("=");
+
+     // add tab id's
+     size_t page_count = tabframe->m_tabs->GetPageCount();
+     for (size_t p = 0; p < page_count; ++p)
+     {
+        wxAuiNotebookPage& page = tabframe->m_tabs->GetPage(p);
+        const size_t page_idx = m_tabs.GetIdxFromWindow(page.window);
+
+        if (p) tabs += wxT(",");
+
+        if ((int)page_idx == m_curpage) tabs += wxT("*");
+        else if ((int)p == tabframe->m_tabs->GetActivePage()) tabs += wxT("+");
+        tabs += wxString::Format(wxT("%u"), page_idx);
+     }
+  }
+  tabs += wxT("@");
+
+  // Add frame perspective
+  tabs += m_mgr.SavePerspective();
+
+  return tabs;
+}
+
+bool SLNotebook::LoadPerspective(const wxString& layout) {
+  // Remove all tab ctrls (but still keep them in main index)
+  const size_t tab_count = m_tabs.GetPageCount();
+  for (size_t i = 0; i < tab_count; ++i) {
+     wxWindow* wnd = m_tabs.GetWindowFromIdx(i);
+
+     // find out which onscreen tab ctrl owns this tab
+     wxAuiTabCtrl* ctrl;
+     int ctrl_idx;
+     if (!FindTab(wnd, &ctrl, &ctrl_idx))
+        return false;
+
+     // remove the tab from ctrl
+     if (!ctrl->RemovePage(wnd))
+        return false;
+  }
+  RemoveEmptyTabFrames();
+
+  size_t sel_page = 0;
+
+  wxString tabs = layout.BeforeFirst(wxT('@'));
+  while (1)
+   {
+     const wxString tab_part = tabs.BeforeFirst(wxT('|'));
+
+     // if the string is empty, we're done parsing
+       if (tab_part.empty())
+           break;
+
+     // Get pane name
+     const wxString pane_name = tab_part.BeforeFirst(wxT('='));
+
+     // create a new tab frame
+     wxTabFrame* new_tabs = new wxTabFrame;
+     new_tabs->m_tabs = new wxAuiTabCtrl(this,
+                                m_tab_id_counter++,
+                                wxDefaultPosition,
+                                wxDefaultSize,
+                                wxNO_BORDER|wxWANTS_CHARS);
+     new_tabs->m_tabs->SetArtProvider(m_tabs.GetArtProvider()->Clone());
+     new_tabs->SetTabCtrlHeight(m_tab_ctrl_height);
+     new_tabs->m_tabs->SetFlags(m_flags);
+     wxAuiTabCtrl *dest_tabs = new_tabs->m_tabs;
+
+     // create a pane info structure with the information
+     // about where the pane should be added
+     wxAuiPaneInfo pane_info = wxAuiPaneInfo().Name(pane_name).Bottom().CaptionVisible(false);
+     m_mgr.AddPane(new_tabs, pane_info);
+
+     // Get list of tab id's and move them to pane
+     wxString tab_list = tab_part.AfterFirst(wxT('='));
+     while(1) {
+        wxString tab = tab_list.BeforeFirst(wxT(','));
+        if (tab.empty()) break;
+        tab_list = tab_list.AfterFirst(wxT(','));
+
+        // Check if this page has an 'active' marker
+        const wxChar c = tab[0];
+        if (c == wxT('+') || c == wxT('*')) {
+           tab = tab.Mid(1);
+        }
+
+        const size_t tab_idx = wxAtoi(tab.c_str());
+        if (tab_idx >= GetPageCount()) continue;
+
+        // Move tab to pane
+        wxAuiNotebookPage& page = m_tabs.GetPage(tab_idx);
+        const size_t newpage_idx = dest_tabs->GetPageCount();
+        dest_tabs->InsertPage(page.window, page, newpage_idx);
+
+        if (c == wxT('+')) dest_tabs->SetActivePage(newpage_idx);
+        else if ( c == wxT('*')) sel_page = tab_idx;
+     }
+     dest_tabs->DoShowHide();
+
+     tabs = tabs.AfterFirst(wxT('|'));
+  }
+
+  // Load the frame perspective
+  const wxString frames = layout.AfterFirst(wxT('@'));
+  m_mgr.LoadPerspective(frames);
+
+  // Force refresh of selection
+  m_curpage = -1;
+  SetSelection(sel_page);
+
+  return true;
+}
+
+void SLNotebook::FitChildPages()
+{
+    for ( size_t i = 0; i < GetPageCount(); ++i) {
+    	wxWindow* page = GetPage( i );
+    	if ( page )
+            page->FitInside();
+    }
+}
+
+void LoadNotebookPerspective( SLNotebook* notebook, const wxString& perspective_name )
+{
+    wxString pers_name = ( perspective_name.IsEmpty() ? sett().GetLastPerspectiveName() : perspective_name );
+    wxString name = notebook->GetName();
+    wxString pers = sett().LoadPerspective( name, pers_name );
+    if ( !pers.IsEmpty() ) {
+        notebook->LoadPerspective( pers );
+        notebook->Layout();
+        wxWindow* parent = notebook->GetParent();
+        if ( parent ) {
+            parent->Layout();
+            parent->Refresh();
+        }
+    }
+}
+
+void SaveNotebookPerspective( SLNotebook* notebook, const wxString& perspective_name )
+{
+    wxString pers = ( perspective_name.IsEmpty() ? sett().GetLastPerspectiveName() : perspective_name );
+    wxString name = notebook->GetName();
+    sett().SavePerspective( name, pers, notebook->SavePerspective() );
+}
+
diff --git a/src/aui/slbook.h b/src/aui/slbook.h
index 91a6255..2003bb8 100644
--- a/src/aui/slbook.h
+++ b/src/aui/slbook.h
@@ -3,14 +3,70 @@
 
 #include <wx/aui/aui.h>
 
+class ChatPanelMenu;
+
+/** \brief wxAuiNotebook derived class that allows child page layouts to be saved/loaded at runtime
+    Originally this was just meant as means of setting the aui manager flags to circumvent
+    the crash with compositing enabled: http://trac.wxwidgets.org/ticket/4841 \n
+    The functionality for perspective loading/saving originates from the patch at:
+    http://trac.wxwidgets.org/ticket/10466
+
+**/
 class SLNotebook : public wxAuiNotebook {
 
     public:
-        SLNotebook (wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxAUI_NB_DEFAULT_STYLE);
+        SLNotebook (wxWindow* parent, const wxString& name, wxWindowID id = wxID_ANY,
+                        const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
+                        long style = wxAUI_NB_DEFAULT_STYLE);
 //        wxAuiManager& GetAuiManager() { return m_mgr; }
 
+        wxString SavePerspective();
+        bool LoadPerspective(const wxString& layout);
+        wxString GetName() { return m_name; }
+
+        /** \brief call fitinside for each child page
+            useful after loading perspectives, since that does not generate OnSize events
+            \note koshi: turns out it isn't strictly necessary on at least wxGTK
+        **/
+        void FitChildPages();
+
+    protected:
+        wxString m_name;
+        bool m_autosave_prespective;
+
+};
+
+class ChatPanel;
+
+/** \brief SLNotebook derived class that only accepts ChatPanel pages
+    Provides a common context menu for all tab headers that has a the repective Chatpanel's context menu as a submenu
+**/
+class SLChatNotebook : public SLNotebook {
+
+    public:
+        SLChatNotebook (wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxAUI_NB_DEFAULT_STYLE);
+        bool AddPage(ChatPanel* page, const wxString& caption, bool select = false, const wxBitmap& bitmap = wxNullBitmap);
+
+        void OnHeaderRightClick(wxAuiNotebookEvent &event);
+        void OnMenuItem( wxCommandEvent& event );
+        void OnAllowNotebookDnD(wxAuiNotebookEvent& evt);
+
+    protected:
+        typedef SLNotebook
+            ParentType;
+
+        //prohibit adding other panels
+        bool AddPage(wxWindow* page, const wxString& caption, bool select = false, const wxBitmap& bitmap = wxNullBitmap) {return false;}
+
+        ChatPanelMenu* m_ch_menu;
+
+        DECLARE_EVENT_TABLE();
 };
 
+//! Utility function that handles surrounding Layout updates in addition to loading a notebook perspective
+void LoadNotebookPerspective( SLNotebook* notebook, const wxString& perspective_name );
+void SaveNotebookPerspective( SLNotebook* notebook, const wxString& perspective_name );
+
 #endif // SPRINGLOBBY_HEADERGUARD_SLBOOK_H
 
 /**
diff --git a/src/base64.cpp b/src/base64.cpp
index f08a845..93ab69e 100644
--- a/src/base64.cpp
+++ b/src/base64.cpp
@@ -21,6 +21,11 @@
 //
 
 #include "base64.h"
+#include "defines.h"
+
+#ifdef HAVE_WX29
+    #include "utils/conversion.h"
+#endif
 
 const wxChar fillchar = '=';
 
@@ -107,8 +112,11 @@ std::string wxBase64::Decode(const wxString& data)
             c = data[i];
             if ((char)fillchar == c)
                 break;
-
+        #ifndef HAVE_WX29
             c = cvt.find(c);
+        #else
+            c = cvt.find( TowxString(c) );
+        #endif
             wxASSERT_MSG(c >= 0, _T("invalid base64 input"));
             c1 = ((c1 << 4) & 0xf0) | ((c >> 2) & 0xf);
             ret.push_back(c1);
@@ -120,7 +128,11 @@ std::string wxBase64::Decode(const wxString& data)
             if ((char)fillchar == c1)
                 break;
 
+        #ifndef HAVE_WX29
             c1 = cvt.find(c1);
+        #else
+            c1 = cvt.find( TowxString(c1) );
+        #endif
             wxASSERT_MSG(c1 >= 0, _T("invalid base64 input"));
             c = ((c << 6) & 0xc0) | c1;
             ret.push_back(c);
diff --git a/src/battle.cpp b/src/battle.cpp
index b01c800..eafb212 100644
--- a/src/battle.cpp
+++ b/src/battle.cpp
@@ -14,7 +14,7 @@
 #include "uiutils.h"
 #include "settings.h"
 #include "useractions.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 #include "springunitsynclib.h"
 #include "iconimagelist.h"
 #include "spring.h"
@@ -99,7 +99,7 @@ void Battle::OnRequestBattleStatus()
     bs.spectator = false;
     bs.colour = sett().GetBattleLastColour();
     // theres some highly annoying bug with color changes on player join/leave.
-    if ( !bs.colour.IsColourOk() ) bs.colour = GetFreeColour( GetMe() );
+    if ( !bs.colour.IsOk() ) bs.colour = GetFreeColour( GetMe() );
 
     SendMyBattleStatus();
 }
@@ -585,7 +585,9 @@ void Battle::StartSpring()
 			try
 			{
 				wxString path = sett().GetCurrentUsedDataDir() + wxFileName::GetPathSeparator() + _T("relayhost_script.txt");
-				if ( !wxFile::Access( path, wxFile::write ) ) wxLogError( _T("Access denied to script.txt.") );
+				if ( !wxFile::Access( path, wxFile::write ) ) {
+				    wxLogError( _T("Access denied to script.txt.") );
+				}
 
 				wxFile f( path, wxFile::write );
 				f.Write( hostscript );
@@ -637,7 +639,7 @@ void Battle::SetInGame( bool value )
 	time_t now = time(0);
 	if ( m_ingame && !value )
 	{
-		for ( int i = 0; i < GetNumUsers(); i++ )
+		for ( int i = 0; i < long(GetNumUsers()); i++ )
 		{
 			User& user = GetUser( i );
 			UserBattleStatus& status = user.BattleStatus();
@@ -792,7 +794,7 @@ void Battle::Autobalance( BalanceType balance_type, bool support_clans, bool str
     if ( numallyteams == 0 ) // 0 == use num start rects
     {
         int ally = 0;
-        for ( int i = 0; i < GetNumRects(); ++i )
+        for ( int i = 0; i < long(GetNumRects()); ++i )
         {
             BattleStartRect sr = GetStartRect(i);
             if ( sr.IsOk() )
diff --git a/src/battlelistctrl.cpp b/src/battlelistctrl.cpp
index 5ec1b9d..02ae746 100644
--- a/src/battlelistctrl.cpp
+++ b/src/battlelistctrl.cpp
@@ -13,7 +13,7 @@
 #include "server.h"
 #include "countrycodes.h"
 #include "settings.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 #include "useractions.h"
 #include "Helper/sortutil.h"
 #include "aui/auimanager.h"
@@ -32,12 +32,11 @@ BEGIN_EVENT_TABLE(BattleListCtrl, BattleListCtrl::BaseType )
 #endif
 END_EVENT_TABLE()
 
-BattleListCtrl::BattleListCtrl( wxWindow* parent, Ui& ui )
+BattleListCtrl::BattleListCtrl( wxWindow* parent )
     : CustomVirtListCtrl< IBattle *,BattleListCtrl>(parent, BLIST_LIST, wxDefaultPosition, wxDefaultSize,
             wxSUNKEN_BORDER | wxLC_REPORT | wxLC_SINGLE_SEL | wxLC_ALIGN_LEFT, _T("BattleListCtrl"), 10, 4, &CompareOneCrit,
             true /*highlight*/, UserActions::ActHighlight, true /*periodic sort*/ ),
-    m_popup( 0 ),
-    m_ui(ui)
+    m_popup( 0 )
 {
     GetAui().manager->AddPane( this, wxLEFT, _T("battlelistctrl") );
 
@@ -137,6 +136,7 @@ int BattleListCtrl::GetItemColumnImage(long item, long column) const
         case 4: return battle.MapExists() ? icons().ICON_EXISTS : icons().ICON_NEXISTS;
         case 5: return battle.ModExists() ? icons().ICON_EXISTS : icons().ICON_NEXISTS;
     }
+    return -1; // simply to avoid compiler warning
 }
 
 wxListItemAttr* BattleListCtrl::GetItemAttr(long item) const
@@ -214,7 +214,7 @@ void BattleListCtrl::OnDLMap( wxCommandEvent& /*unused*/  )
 {
     if ( m_selected_index > 0 &&  (long)m_data.size() > m_selected_index ) {
         DataType dt = m_data[m_selected_index];
-        m_ui.DownloadMap( dt->GetHostMapHash(), dt->GetHostMapName() );
+        ui().DownloadMap( dt->GetHostMapHash(), dt->GetHostMapName() );
     }
 }
 
@@ -222,7 +222,7 @@ void BattleListCtrl::OnDLMod( wxCommandEvent& /*unused*/  )
 {
     if ( m_selected_index > 0 &&  (long)m_data.size() > m_selected_index ) {
         DataType dt = m_data[m_selected_index];
-        m_ui.DownloadMod( dt->GetHostModHash(), dt->GetHostModName() );
+        ui().DownloadMod( dt->GetHostModHash(), dt->GetHostModName() );
     }
 }
 
@@ -265,6 +265,7 @@ int BattleListCtrl::CompareOneCrit( DataType u1, DataType u2, int col, int dir )
         case 9: return dir * compareSimple( u1->GetMaxPlayers(), u2->GetMaxPlayers() );
         default: return 0;
     }
+    return 0; // simply to avoid compiler warning
 }
 
 int BattleListCtrl::CompareStatus( DataType u1, DataType u2 )
diff --git a/src/battlelistctrl.h b/src/battlelistctrl.h
index 0c952eb..1405bcc 100644
--- a/src/battlelistctrl.h
+++ b/src/battlelistctrl.h
@@ -17,7 +17,7 @@ class Ui;
 class BattleListCtrl : public CustomVirtListCtrl< IBattle *, BattleListCtrl>
 {
   public:
-    BattleListCtrl( wxWindow* parent, Ui& ui );
+    BattleListCtrl( wxWindow* parent );
     ~BattleListCtrl();
 
     void AddBattle( IBattle& battle );
@@ -53,7 +53,6 @@ class BattleListCtrl : public CustomVirtListCtrl< IBattle *, BattleListCtrl>
     int GetIndexFromData( const DataType& data ) const;
 
     wxMenu* m_popup;
-    Ui& m_ui;
 
     virtual void Sort();
 
diff --git a/src/battlelistfilter.cpp b/src/battlelistfilter.cpp
index af91322..b9294f9 100644
--- a/src/battlelistfilter.cpp
+++ b/src/battlelistfilter.cpp
@@ -422,6 +422,38 @@ bool BattleListFilter::_IntCompare( const int a, const int b, const BattleListFi
 	}
 }
 
+bool BattleListFilter::StringMatches(const wxString& input, const wxString& filter_string, const wxRegEx* filter_regex, StringTransformFunction additional_transform, bool case_sensitive)
+{
+    if ( filter_string.Length() < 1 || filter_string == _T("") )
+	return true;
+
+    wxString input_cased ( input );
+    wxString filter_cased ( filter_string );
+    bool use_regex ( filter_regex && filter_regex->IsValid() );
+
+    /* Case-(in)sensitivize the input and filter strings. */
+    if ( ! case_sensitive )
+    {
+	input_cased.MakeUpper();
+	filter_cased.MakeUpper();
+    }
+
+    if ( input_cased.Contains(filter_cased) || ( use_regex && filter_regex->Matches(input) ) )
+	return true;
+    else if ( additional_transform )
+    {
+	/* Try matching using a transformed input string. */
+	wxString input_generated ( additional_transform(input) );
+	if ( ! case_sensitive )
+	    input_generated.MakeUpper();
+
+	if ( input_generated.Contains(filter_cased) || ( use_regex && filter_regex->Matches(input_generated) ) )
+	    return true;
+    }
+
+    return false;
+}
+
 void BattleListFilter::OnRankButton   ( wxCommandEvent& event )
 {
 	m_filter_rank_mode = _GetNextMode( m_filter_rank_mode );
@@ -493,25 +525,25 @@ bool BattleListFilter::FilterBattle( IBattle& battle )
 	if ( !m_filter_status_open->GetValue() && !battle.IsPassworded() && !battle.IsLocked() && !battle.GetInGame() && !battle.IsFull() )
         return false;
 
-	//Rank Check
-
-	/** @fixme Is `nonsenserank' useful, or can it be removed?  Why is
-	 * it here in the first place?
-	 */
-	/* `Nonsense', in this context, apparently means that the battle
-	 * requires rank 100, exactly, AND we're filtering for values less
-	 * than some number.
-	 */
-	bool nonsenserank = ( m_filter_rank_mode == BUTTON_MODE_SMALLER ) && ( battle.GetRankNeeded() == 100 ) ;
-
-	if ( m_filter_rank_choice_value != -1 /* don't have "all" selected */
-	        && !nonsenserank			/* Nonsensical `nonsenserank' flag isn't set. */
-	        && !_IntCompare( battle.GetRankNeeded(),
-	                         m_filter_rank_choice_value,
-	                         m_filter_rank_mode ) )
-		return false;
-
-	//Player Check
+  //Rank Check
+
+  /** @fixme Is `nonsenserank' useful, or can it be removed?  Why is
+   * it here in the first place?
+   */
+  /* `Nonsense', in this context, apparently means that the battle
+   * requires rank 100, exactly, AND we're filtering for values less
+   * than some number.
+   */
+  bool nonsenserank = ( m_filter_rank_mode == BUTTON_MODE_SMALLER ) && ( battle.GetRankNeeded() == 100) ;
+
+  if ( m_filter_rank_choice_value != -1 /* don't have "all" selected */
+       && !nonsenserank			/* Nonsensical `nonsenserank' flag isn't set. */
+       && !_IntCompare( battle.GetRankNeeded(),
+			m_filter_rank_choice_value,
+			m_filter_rank_mode ) )
+      return false;
+
+ 	//Player Check
 	if ( ( m_filter_player_choice_value != -1 ) && !_IntCompare( battle.GetNumUsers() - battle.GetSpectators() , m_filter_player_choice_value , m_filter_player_mode ) )
         return false;
 
@@ -533,23 +565,33 @@ bool BattleListFilter::FilterBattle( IBattle& battle )
 
 	//Strings Plain Text & RegEx Check (Case insensitiv)
 
-	//Description:
-	if ( !battle.GetDescription().Upper().Contains( m_filter_description_edit->GetValue().Upper() ) && !m_filter_description_expression->Matches( battle.GetDescription() ) )
-        return false;
-
-	//Host:
-	try
-	{
-		if ( !battle.GetFounder().GetNick().Upper().Contains( m_filter_host_edit->GetValue().Upper() ) && !m_filter_host_expression->Matches( battle.GetFounder().GetNick() ) )
-					return false;
-	}catch(...){}
-	//Map:
-	if ( !RefineMapname( battle.GetHostMapName() ).Upper().Contains( m_filter_map_edit->GetValue().Upper() ) && !m_filter_map_expression->Matches( RefineMapname( battle.GetHostMapName() ) ) )
-        return false;
-
-	//Mod:
-	if ( !battle.GetHostModName().Upper().Contains( m_filter_mod_edit->GetValue().Upper() ) &&  !RefineModname( battle.GetHostModName() ).Upper().Contains( m_filter_mod_edit->GetValue().Upper() ) && !m_filter_mod_expression->Matches( RefineModname( battle.GetHostModName() ) ) )
-        return false;
+  //Description:
+  if ( ! StringMatches(battle.GetDescription(),
+		       m_filter_description_edit->GetValue(),
+		       m_filter_description_expression) )
+      return false;
+
+  //Host:
+	try { //!TODO
+  if ( ! StringMatches(battle.GetFounder().GetNick(),
+		       m_filter_host_edit->GetValue(),
+		       m_filter_host_expression) )
+      return false;
+	} catch (...) {}
+
+  //Map:
+  if ( ! StringMatches(battle.GetHostMapName(),
+		       m_filter_map_edit->GetValue(),
+		       m_filter_map_expression,
+		       RefineMapname) )
+      return false;
+
+  //Mod:
+  if ( ! StringMatches(battle.GetHostModName(),
+		       m_filter_mod_edit->GetValue(),
+		       m_filter_mod_expression,
+		       RefineModname) )
+      return false;
 
 	return true;
 }
@@ -563,46 +605,50 @@ void BattleListFilter::OnChange   ( wxCommandEvent& /*unused*/ )
 
 void BattleListFilter::OnChangeMap ( wxCommandEvent& event )
 {
-	if ( m_filter_map_edit == NULL )
-        return;
-	if ( m_filter_map_expression != NULL ) {
-		delete m_filter_map_expression;
-	}
-	m_filter_map_expression = new wxRegEx( m_filter_map_edit->GetValue(), wxRE_ICASE );
-	OnChange( event );
+  if ( m_filter_map_edit == NULL ) return;
+
+  if ( m_filter_map_expression == NULL )
+      m_filter_map_expression = new wxRegEx(m_filter_map_edit->GetValue(), wxRE_ICASE);
+  else
+      m_filter_map_expression->Compile(m_filter_map_edit->GetValue(), wxRE_ICASE);
+
+  OnChange(event);
 }
 
 void BattleListFilter::OnChangeMod ( wxCommandEvent& event )
 {
-	if ( m_filter_mod_edit == NULL )
-        return;
-	if ( m_filter_mod_expression != NULL ) {
-		delete m_filter_mod_expression;
-	}
-	m_filter_mod_expression = new wxRegEx( m_filter_mod_edit->GetValue(), wxRE_ICASE );
-	OnChange( event );
+  if ( m_filter_mod_edit == NULL ) return;
+
+  if ( m_filter_mod_expression == NULL )
+      m_filter_mod_expression = new wxRegEx(m_filter_mod_edit->GetValue(), wxRE_ICASE);
+  else
+      m_filter_mod_expression->Compile(m_filter_mod_edit->GetValue(), wxRE_ICASE);
+
+  OnChange(event);
 }
 
 void BattleListFilter::OnChangeDescription ( wxCommandEvent& event )
 {
-	if ( m_filter_description_edit == NULL )
-        return;
-	if ( m_filter_description_expression != NULL ) {
-		delete m_filter_description_expression;
-	}
-	m_filter_description_expression = new wxRegEx( m_filter_description_edit->GetValue(), wxRE_ICASE );
-	OnChange( event );
+  if ( m_filter_description_edit == NULL ) return;
+
+  if ( m_filter_description_expression == NULL )
+      m_filter_description_expression = new wxRegEx(m_filter_description_edit->GetValue(), wxRE_ICASE);
+  else
+      m_filter_description_expression->Compile(m_filter_description_edit->GetValue(), wxRE_ICASE);
+
+  OnChange(event);
 }
 
 void BattleListFilter::OnChangeHost ( wxCommandEvent& event )
 {
-	if ( m_filter_host_edit == NULL )
-        return;
-	if ( m_filter_host_expression != NULL ) {
-		delete m_filter_host_expression;
-	}
-	m_filter_host_expression = new wxRegEx( m_filter_host_edit->GetValue(), wxRE_ICASE );
-	OnChange( event );
+  if ( m_filter_host_edit == NULL ) return;
+
+  if ( m_filter_host_expression == NULL )
+      m_filter_host_expression = new wxRegEx(m_filter_host_edit->GetValue(), wxRE_ICASE);
+  else
+      m_filter_host_expression->Compile(m_filter_host_edit->GetValue(), wxRE_ICASE);
+
+  OnChange(event);
 }
 
 
diff --git a/src/battlelistfilter.h b/src/battlelistfilter.h
index 11549db..49aead4 100644
--- a/src/battlelistfilter.h
+++ b/src/battlelistfilter.h
@@ -64,6 +64,29 @@ class BattleListFilter : public wxPanel
 		ButtonMode _GetButtonMode(wxString sign);
 		bool _IntCompare(int a,int b,ButtonMode mode);
 
+    /** A function callback used to transform an input string. */
+    typedef wxString (*StringTransformFunction)(const wxString& input);
+
+    /** Test whether an input string matches a filter string.
+     *  The filter will be tried as both a fixed string, and as a regular expression.
+     *
+     * @param input The input string to test.
+     *
+     * @param filter_string A fixed string to match against.
+     *
+     * @param filter_regex A regular expression object pointer.  If
+     * the expression is valid, it will be used to match the input if
+     * the fixed string does not.
+     *
+     * @param additional_transform A function that should be called to
+     * generate an additional <em>input</em> string.
+     *
+     * @param case_sensitive @c true if the comparison should be done case-sensitively.
+     *
+     * @return @c true if the input or generated input matches the filter string, and @c false otherwise.
+     */
+    bool StringMatches(const wxString& input, const wxString& filter_string, const wxRegEx* filter_regex = NULL, StringTransformFunction additional_transform = NULL, bool case_sensitive = false);
+
     bool m_activ;
 
 		BattleListTab* m_parent_battlelisttab;
@@ -102,6 +125,7 @@ class BattleListFilter : public wxPanel
 		wxTextCtrl* m_filter_description_edit;
         wxRegEx*      m_filter_description_expression;
 
+
         //Player
 		wxStaticText* m_filter_player_text;
 		wxButton* m_filter_player_button;
diff --git a/src/battlelisttab.cpp b/src/battlelisttab.cpp
index 42aad07..c6dd8b7 100644
--- a/src/battlelisttab.cpp
+++ b/src/battlelisttab.cpp
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007 The SpringLobby Team. All rights reserved. */
+/* Copyright (C) 2007-2009 The SpringLobby Team. All rights reserved. */
 
 #include <wx/intl.h>
 #include <wx/stattext.h>
@@ -23,6 +23,7 @@
 #include "chatpanel.h"
 #include "utils/debug.h"
 #include "utils/conversion.h"
+#include "utils/controls.h"
 #include "uiutils.h"
 #include "hostbattledialog.h"
 #include "server.h"
@@ -35,7 +36,7 @@
 #include "battlelistfilter.h"
 #include "iconimagelist.h"
 #include "useractions.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 
 const unsigned int BATTLELIST_COLUMNCOUNT = 10;
 
@@ -59,9 +60,8 @@ BEGIN_EVENT_TABLE( BattleListTab, wxPanel )
 END_EVENT_TABLE()
 
 
-BattleListTab::BattleListTab( wxWindow* parent, Ui& ui )
+BattleListTab::BattleListTab( wxWindow* parent )
     : wxScrolledWindow( parent, -1 ),
-    m_ui( ui ),
     m_sel_battle( 0 )
 {
 	GetAui().manager->AddPane( this, wxLEFT, _T( "battlelisttab" ) );
@@ -74,7 +74,7 @@ BattleListTab::BattleListTab( wxWindow* parent, Ui& ui )
 
 	m_battlelist_sizer = new wxBoxSizer( wxVERTICAL );
 
-	m_battle_list = new BattleListCtrl( this, m_ui );
+	m_battle_list = new BattleListCtrl( this );
 	m_battle_list->SetHighLightAction ( UserActions::ActHighlight );
 	m_battlelist_sizer->Add( m_battle_list, 1, wxALL | wxEXPAND, 5 );
 
@@ -82,7 +82,7 @@ BattleListTab::BattleListTab( wxWindow* parent, Ui& ui )
 
 	m_info_sizer = new wxBoxSizer( wxHORIZONTAL );
 
-	m_minimap = new MapCtrl( this, 100, 0, m_ui, true, true, false, false );
+	m_minimap = new MapCtrl( this, 100, 0, true, true, false, false );
 	m_info_sizer->Add( m_minimap, 0, wxALL, 5 );
 
 	m_data_sizer = new wxFlexGridSizer( 4, 2, 0, 0 );
@@ -163,8 +163,9 @@ BattleListTab::BattleListTab( wxWindow* parent, Ui& ui )
 
 	m_filter->Hide();
 
-	this->SetSizer( m_main_sizer );
-	this->Layout();
+    SetScrollRate( SCROLL_RATE, SCROLL_RATE );
+	SetSizer( m_main_sizer );
+	Layout();
 
 	SelectBattle( 0 );
 }
@@ -266,10 +267,10 @@ void BattleListTab::UpdateBattle( IBattle& battle )
 void BattleListTab::RemoveAllBattles()
 {
 	SelectBattle( 0 );
-	m_ui.GetServer().battles_iter->IteratorBegin();
-	while ( ! m_ui.GetServer().battles_iter->EOL() )
+	ui().GetServer().battles_iter->IteratorBegin();
+	while ( ! ui().GetServer().battles_iter->EOL() )
 	{
-		Battle* temp_battle = m_ui.GetServer().battles_iter->GetBattle();
+		Battle* temp_battle = ui().GetServer().battles_iter->GetBattle();
 		if ( temp_battle != 0 )
 			temp_battle->SetGUIListActiv( false );
 	}
@@ -279,9 +280,9 @@ void BattleListTab::RemoveAllBattles()
 
 
 void BattleListTab::UpdateList() {
-	m_ui.GetServer().battles_iter->IteratorBegin();
-	while ( ! m_ui.GetServer().battles_iter->EOL() ) {
-		Battle* b = m_ui.GetServer().battles_iter->GetBattle();
+	ui().GetServer().battles_iter->IteratorBegin();
+	while ( ! ui().GetServer().battles_iter->EOL() ) {
+		Battle* b = ui().GetServer().battles_iter->GetBattle();
 		if ( b != 0 )
 			UpdateBattle( *b );
 	}
@@ -300,31 +301,31 @@ void BattleListTab::SetFilterActiv( bool activ )
 
 void BattleListTab::OnHost( wxCommandEvent& /*unused*/ )
 {
-	if ( !m_ui.IsConnected() )
+	if ( !ui().IsConnected() )
 	{
 		wxLogWarning( _T( "Trying to host while offline" ) );
 		customMessageBoxNoModal( SL_MAIN_ICON, _( "You cannot host a game while being offline. Please connect to a lobby server." ), _( "Not Online." ), wxOK );
-		m_ui.ShowConnectWindow();
+		ui().ShowConnectWindow();
 		return;
 	}
-	if ( !m_ui.IsSpringCompatible() )
+	if ( !ui().IsSpringCompatible() )
 	{
 		wxLogWarning( _T( "Hosting is disabled due to the incompatible version " ) );
 		customMessageBoxNoModal( SL_MAIN_ICON, _( "Hosting is disabled due to the incompatible version you're using" ), _( "Spring error" ), wxICON_EXCLAMATION | wxOK );
 		return;
 	}
-	if ( m_ui.IsSpringRunning() )
+	if ( ui().IsSpringRunning() )
 	{
 		wxLogWarning( _T( "trying to host while spring is running" ) );
 		customMessageBoxNoModal( SL_MAIN_ICON, _( "You already are running a Spring instance, close it first in order to be able to host a new game" ), _( "Spring error" ), wxICON_EXCLAMATION | wxOK );
 		return;
 	}
-	Battle* battle = m_ui.mw().GetJoinTab().GetCurrentBattle();
+	Battle* battle = ui().mw().GetJoinTab().GetCurrentBattle();
 	if ( battle != 0 )
 	{
-		if ( m_ui.Ask( _( "Already in a battle" ), _( "You are already in a battle.\n\nDo you want to leave current battle to start a new?" ) ) ) {
+		if ( ui().Ask( _( "Already in a battle" ), _( "You are already in a battle.\n\nDo you want to leave current battle to start a new?" ) ) ) {
 			battle->Leave();
-			m_ui.mw().GetJoinTab().LeaveCurrentBattle();
+			ui().mw().GetJoinTab().LeaveCurrentBattle();
 		}
 		else
 		{
@@ -342,7 +343,7 @@ void BattleListTab::OnHost( wxCommandEvent& /*unused*/ )
 
 		if ( bo.nattype == NAT_None && sett().GetTestHostPort() )
 		{
-			switch ( m_ui.TestHostPort( bo.port ) )
+			switch ( ui().TestHostPort( bo.port ) )
 			{
 				case Server::porttest_pass :
 					break; // success
@@ -373,7 +374,7 @@ void BattleListTab::OnHost( wxCommandEvent& /*unused*/ )
 					break;
 
 			}
-			if ( !m_ui.TestHostPort( bo.port ) )
+			if ( !ui().TestHostPort( bo.port ) )
 			{
 				wxLogWarning( _T( "hosting port %d: test unsuccessful, closing battle" ), bo.port  );
 				customMessageBoxNoModal( SL_MAIN_ICON, wxString::Format( _( "Battle not started because the port you selected (%d) is unable to recieve incoming packets\n checks your router & firewall configuration again or change port in the dialog.\n\nIf everything else fails, enable the Hole Punching NAT Traversal\n option in the hosting settings." ), bo.port ) );
@@ -428,7 +429,7 @@ void BattleListTab::OnHost( wxCommandEvent& /*unused*/ )
 		bo.isproxy = sett().GetLastHostRelayedMode();
 		if ( bo.isproxy ) bo.nattype = NAT_None;
 		bo.relayhost = sett().GetLastRelayedHost();
-		m_ui.GetServer().HostBattle( bo, sett().GetLastHostPassword() );
+		ui().GetServer().HostBattle( bo, sett().GetLastHostPassword() );
 	}
 }
 
@@ -451,7 +452,7 @@ void BattleListTab::OnFilter( wxCommandEvent& /*unused*/ )
 void BattleListTab::OnFilterActiv( wxCommandEvent& /*unused*/ )
 {
 	bool active = m_filter_activ->GetValue();
-	if ( !m_ui.IsConnected() )
+	if ( !ui().IsConnected() )
 	{
 		m_filter_activ->SetValue( !active );
 		return;
@@ -474,7 +475,7 @@ void BattleListTab::OnJoin( wxCommandEvent& /*unused*/ )
 	if ( m_battle_list->GetSelectedIndex() < 0 ) return;
 
 	int id = m_battle_list->GetSelectedData()->GetBattleId();
-	DoJoin( m_ui.GetServer().battles_iter->GetBattle( id ) );
+	DoJoin( ui().GetServer().battles_iter->GetBattle( id ) );
 }
 
 
@@ -489,27 +490,27 @@ void BattleListTab::OnListJoin( wxListEvent& event )
 	if ( event.GetIndex() < 0 ) return;
 
 	int id = m_battle_list->GetSelectedData()->GetBattleId();
-	DoJoin( m_ui.GetServer().battles_iter->GetBattle( id ) );
+	DoJoin( ui().GetServer().battles_iter->GetBattle( id ) );
 }
 
 
 void BattleListTab::DoJoin( Battle& battle )
 {
-	if ( !m_ui.IsSpringCompatible() )
+	if ( !ui().IsSpringCompatible() )
 	{
 		wxLogWarning( _T( "trying to join battles with imcompatible spring version" ) );
 		customMessageBox( SL_MAIN_ICON, _( "Joining battles is disabled due to the incompatible spring version you're using." ), _( "Spring error" ), wxICON_EXCLAMATION | wxOK );
 		return;
 	}
 
-	Battle* curbattle = m_ui.mw().GetJoinTab().GetCurrentBattle();
+	Battle* curbattle = ui().mw().GetJoinTab().GetCurrentBattle();
 
 	if ( curbattle != 0 && curbattle->GetID() == battle.GetID() )
 	{
-		if ( m_ui.Ask( _( "Already in this battle" ), _( "You are already in this battle.\n\nDo you want to leave it?" ) ) )
+		if ( ui().Ask( _( "Already in this battle" ), _( "You are already in this battle.\n\nDo you want to leave it?" ) ) )
 		{
 			curbattle->Leave();
-			m_ui.mw().GetJoinTab().LeaveCurrentBattle();
+			ui().mw().GetJoinTab().LeaveCurrentBattle();
 			return;
 		}
 		else
@@ -520,9 +521,9 @@ void BattleListTab::DoJoin( Battle& battle )
 
 	if ( curbattle != 0 )
 	{
-		if ( m_ui.Ask( _( "Already in another battle" ), _( "You are already in a battle.\n\nDo you want to leave your current battle and join this one?" ) ) ) {
+		if ( ui().Ask( _( "Already in another battle" ), _( "You are already in a battle.\n\nDo you want to leave your current battle and join this one?" ) ) ) {
 			curbattle->Leave();
-			m_ui.mw().GetJoinTab().LeaveCurrentBattle();
+			ui().mw().GetJoinTab().LeaveCurrentBattle();
 		}
 		else
 		{
@@ -530,7 +531,7 @@ void BattleListTab::DoJoin( Battle& battle )
 		}
 	}
 
-	if ( m_ui.IsSpringRunning() )
+	if ( ui().IsSpringRunning() )
 	{
 		wxLogWarning( _T( "trying to join a battle while spring is running" ) );
 		customMessageBox( SL_MAIN_ICON, _( "You already are running a Spring instance, close it first in order to be able to join another battle." ), _( "Spring error" ), wxICON_EXCLAMATION | wxOK );
@@ -548,7 +549,7 @@ void BattleListTab::DoJoin( Battle& battle )
 		if ( customMessageBox( SL_MAIN_ICON, _( "You need to download the mod before you can join this game.\n\n" ) + downloadProc, _( "Mod not available" ), wxYES_NO | wxICON_QUESTION ) == wxYES ) {
 			wxString modhash = battle.GetHostModHash();
 			wxString modname = battle.GetHostModName();
-			m_ui.DownloadMod ( modhash, modname );
+			ui().DownloadMod ( modhash, modname );
 		}
 		return;
 	}
@@ -558,7 +559,7 @@ void BattleListTab::DoJoin( Battle& battle )
 		if ( customMessageBox( SL_MAIN_ICON, _( "You need to download the map to be able to play in this game.\n\n" ) + downloadProc, _( "Map not available" ), wxYES_NO | wxICON_QUESTION ) == wxYES ) {
 			wxString maphash = battle.GetHostMapHash();
 			wxString mapname = battle.GetHostMapName();
-			m_ui.DownloadMap ( maphash, mapname );
+			ui().DownloadMap ( maphash, mapname );
 		}
 	}
 
@@ -588,20 +589,11 @@ void BattleListTab::OnSelect( wxListEvent& event )
 }
 
 
-void BattleListTab::OnUnitSyncReloaded()
+void BattleListTab::OnUnitsyncReloaded( GlobalEvents::GlobalEventData /*data*/ )
 {
-	if ( ! m_ui.GetServerStatus() ) {
-		return;
-	}
+  if ( ! ui().GetServerStatus() ) { return; }
 
-	m_ui.GetServer().battles_iter->IteratorBegin();
-	while ( ! m_ui.GetServer().battles_iter->EOL() )
-	{
-		Battle* b = m_ui.GetServer().battles_iter->GetBattle();
-		if ( b != 0 ) b->OnUnitSyncReloaded();
-	}
-	UpdateList();
-	m_minimap->UpdateMinimap();
+  UpdateList();
 }
 
 void BattleListTab::UpdateHighlights()
diff --git a/src/battlelisttab.h b/src/battlelisttab.h
index 9a18a67..a3f01b7 100644
--- a/src/battlelisttab.h
+++ b/src/battlelisttab.h
@@ -2,6 +2,7 @@
 #define SPRINGLOBBY_HEADERGUARD_BATTLELISTTAB_H
 
 #include <wx/scrolwin.h>
+#include "utils/isink.h"
 
 class User;
 class Ui;
@@ -24,11 +25,11 @@ class wxToggleButton;
 class wxFlexGridSizer;
 /** \brief The panel containing a BattleListCtrl and a BattleListFilter
  * \todo DOCME */
-class BattleListTab : public wxScrolledWindow
+class BattleListTab : public wxScrolledWindow, public UnitsyncReloadedSink<BattleListTab>
 {
   friend class BattleListFilter;
   public:
-    BattleListTab( wxWindow* parent, Ui& ui );
+    BattleListTab( wxWindow* parent );
      ~BattleListTab();
 
     void AddBattle( IBattle& battle );
@@ -56,7 +57,7 @@ class BattleListTab : public wxScrolledWindow
     void DoJoin( Battle& battle );
 
     void OnSelect( wxListEvent& event );
-    void OnUnitSyncReloaded();
+    void OnUnitsyncReloaded( GlobalEvents::GlobalEventData data );
 
     void UpdateHighlights();
 
@@ -94,8 +95,6 @@ class BattleListTab : public wxScrolledWindow
 		wxCheckBox* m_info_show;
 #endif
 
-    Ui& m_ui;
-
     IBattle* m_sel_battle;
 
     void SetNumDisplayed();
diff --git a/src/battlemaptab.cpp b/src/battlemaptab.cpp
index 8759cf1..dc194ba 100644
--- a/src/battlemaptab.cpp
+++ b/src/battlemaptab.cpp
@@ -21,11 +21,12 @@
 #include <stdexcept>
 
 #include "battlemaptab.h"
-#include "ui.h"
 #include "iunitsync.h"
+#include "ui.h"
 #include "user.h"
 #include "battle.h"
 #include "utils/debug.h"
+#include "utils/controls.h"
 #include "chatpanel.h"
 #include "mapctrl.h"
 #include "mapselectdialog.h"
@@ -44,9 +45,8 @@ BEGIN_EVENT_TABLE( BattleMapTab, wxPanel )
 END_EVENT_TABLE()
 
 
-BattleMapTab::BattleMapTab( wxWindow* parent, Ui& ui, Battle& battle )
+BattleMapTab::BattleMapTab( wxWindow* parent, Battle& battle )
     : wxScrolledWindow( parent, -1 ),
-    m_ui( ui ),
     m_battle( battle ),
     m_map_dlg( 0 )
 {
@@ -56,7 +56,7 @@ BattleMapTab::BattleMapTab( wxWindow* parent, Ui& ui, Battle& battle )
 	wxBoxSizer* m_map_sizer = new wxBoxSizer( wxVERTICAL );
 
 	m_map_sizer->SetMinSize( wxSize( 352, -1 ) );
-	m_minimap = new MapCtrl( this, 352, &m_battle, m_ui, !battle.IsFounderMe(), false, true, false );
+	m_minimap = new MapCtrl( this, 352, &m_battle, !battle.IsFounderMe(), false, true, false );
 	m_minimap->SetMinSize( wxSize( 352, 352 ) );
 
 	m_map_sizer->Add( m_minimap, 1, wxALL | wxEXPAND, 2 );
@@ -117,7 +117,7 @@ BattleMapTab::BattleMapTab( wxWindow* parent, Ui& ui, Battle& battle )
 
 	//m_map_combo->Enable( m_battle.IsFounderMe() );
 	m_start_radios->Enable( m_battle.IsFounderMe() );
-	SetScrollRate( 3, 3 );
+	SetScrollRate( SCROLL_RATE, SCROLL_RATE );
 	Layout();
 }
 
@@ -249,7 +249,7 @@ void BattleMapTab::OnMapSelect( wxCommandEvent& /*unused*/ )
 void BattleMapTab::OnMapBrowse( wxCommandEvent& /*unused*/ )
 {
 	wxLogDebugFunc( _T( "" ) );
-	m_map_dlg = new MapSelectDialog ( ( wxWindow* )&m_ui.mw(), m_ui );
+	m_map_dlg = new MapSelectDialog ( ( wxWindow* )&ui().mw() );
 
 	if ( m_map_dlg->ShowModal() == wxID_OK && m_map_dlg->GetSelectedMap() != NULL )
 	{
@@ -276,9 +276,8 @@ void BattleMapTab::OnStartTypeSelect( wxCommandEvent& /*unused*/ )
 }
 
 
-void BattleMapTab::OnUnitSyncReloaded()
+void BattleMapTab::OnUnitsyncReloaded( GlobalEvents::GlobalEventData /*data*/ )
 {
-	m_minimap->UpdateMinimap();
-	ReloadMaplist();
+    ReloadMaplist();
 }
 
diff --git a/src/battlemaptab.h b/src/battlemaptab.h
index 3648fa9..2682eb6 100644
--- a/src/battlemaptab.h
+++ b/src/battlemaptab.h
@@ -2,6 +2,7 @@
 #define SPRINGLOBBY_HEADERGUARD_BATTLEMAPTAB_H
 
 #include <wx/scrolwin.h>
+#include "utils/isink.h"
 
 class Ui;
 class Battle;
@@ -24,10 +25,10 @@ class MapSelectDialog;
 
 /** \brief select map, draw startboxes (in sp define startpos)
  * \todo DOCMEMORE */
-class BattleMapTab : public wxScrolledWindow
+class BattleMapTab : public wxScrolledWindow, public UnitsyncReloadedSink< BattleMapTab >
 {
   public:
-    BattleMapTab( wxWindow* parent, Ui& ui, Battle& battle );
+    BattleMapTab( wxWindow* parent, Battle& battle );
      ~BattleMapTab();
 
      void UpdateUser( User& user );
@@ -41,12 +42,11 @@ class BattleMapTab : public wxScrolledWindow
      void OnStartTypeSelect( wxCommandEvent& event );
      void OnMouseWheel( wxMouseEvent& event );
 
-    void OnUnitSyncReloaded();
+    void OnUnitsyncReloaded( GlobalEvents::GlobalEventData /*data*/ );
 
     void SetMap( int index );
 
   protected:
-    Ui& m_ui;
     Battle& m_battle;
     //UnitSyncMap m_map;
 
diff --git a/src/battleoptionstab.cpp b/src/battleoptionstab.cpp
index 5ec07e5..38fd5e7 100644
--- a/src/battleoptionstab.cpp
+++ b/src/battleoptionstab.cpp
@@ -19,7 +19,7 @@
 #include <wx/checklst.h>
 #include <wx/numdlg.h>
 
-#include "ui.h"
+#include "battleoptionstab.h"
 #include "iunitsync.h"
 #include "ibattle.h"
 #include "utils/controls.h"
@@ -37,8 +37,9 @@ BEGIN_EVENT_TABLE( BattleOptionsTab, wxPanel )
 END_EVENT_TABLE()
 
 
-BattleOptionsTab::BattleOptionsTab( wxWindow* parent, Ui& ui, IBattle& battle ):
-		wxScrolledWindow( parent, -1 ), m_ui( ui ), m_battle( battle )
+BattleOptionsTab::BattleOptionsTab( wxWindow* parent,IBattle& battle )
+	: wxScrolledWindow( parent, -1 ),	 
+	m_battle( battle )
 {
 	GetAui().manager->AddPane( this, wxLEFT, _T( "battleoptionstab" ) );
 
@@ -104,7 +105,7 @@ BattleOptionsTab::BattleOptionsTab( wxWindow* parent, Ui& ui, IBattle& battle ):
 
 	m_main_sizer->Add( m_restr_box, 1, wxALL | wxEXPAND, 5 );
 
-	SetScrollRate( 3, 3 );
+	SetScrollRate( SCROLL_RATE, SCROLL_RATE );
 	this->SetSizer( m_main_sizer );
 	this->Layout();
 
diff --git a/src/battleoptionstab.h b/src/battleoptionstab.h
index 1e6b3cf..74cca6e 100644
--- a/src/battleoptionstab.h
+++ b/src/battleoptionstab.h
@@ -20,7 +20,7 @@ class wxCheckListBox;
 class BattleOptionsTab : public wxScrolledWindow
 {
   public:
-    BattleOptionsTab( wxWindow* parent, Ui& ui, IBattle& battle );
+    BattleOptionsTab( wxWindow* parent, IBattle& battle );
     ~BattleOptionsTab();
 
     void UpdateBattle( const wxString& Tag );
@@ -43,7 +43,6 @@ class BattleOptionsTab : public wxScrolledWindow
 
     void UpdateBattle();
 
-    Ui& m_ui;
     IBattle& m_battle;
 
     wxStaticText* m_aloowed_lbl;
diff --git a/src/battleroomlistctrl.cpp b/src/battleroomlistctrl.cpp
index dc5b1df..a917dad 100644
--- a/src/battleroomlistctrl.cpp
+++ b/src/battleroomlistctrl.cpp
@@ -28,7 +28,7 @@
 #include "countrycodes.h"
 #include "mainwindow.h"
 #include "aui/auimanager.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 #include "settings.h"
 
 template<> SortOrder CustomVirtListCtrl<User*,BattleroomListCtrl>::m_sortorder = SortOrder();
@@ -54,7 +54,7 @@ BEGIN_EVENT_TABLE( BattleroomListCtrl,  BattleroomListCtrl::BaseType )
 END_EVENT_TABLE()
 
 
-BattleroomListCtrl::BattleroomListCtrl( wxWindow* parent, IBattle* battle, Ui& ui, bool readonly )
+BattleroomListCtrl::BattleroomListCtrl( wxWindow* parent, IBattle* battle, bool readonly )
     : CustomVirtListCtrl< User *,BattleroomListCtrl>(parent, BRLIST_LIST, wxDefaultPosition, wxDefaultSize,
                 wxSUNKEN_BORDER | wxLC_REPORT | wxLC_SINGLE_SEL, _T("BattleroomListCtrl"), 10, 3, &CompareOneCrit,
                 true /*highlight*/, UserActions::ActHighlight, !readonly /*periodic sort*/ ),
@@ -64,7 +64,6 @@ BattleroomListCtrl::BattleroomListCtrl( wxWindow* parent, IBattle* battle, Ui& u
     m_sides(0),
     m_spec_item(0),
     m_handicap_item(0),
-    m_ui(ui),
     m_ro(readonly)
 {
   GetAui().manager->AddPane( this, wxLEFT, _T("battleroomlistctrl") );
@@ -102,7 +101,7 @@ BattleroomListCtrl::BattleroomListCtrl( wxWindow* parent, IBattle* battle, Ui& u
 
   	if ( !m_ro )
 	{
-		m_popup = new UserMenu(this);
+		m_popup = new UserMenu(this, this);
 		wxMenu* m_teams;
 		m_teams = new wxMenu();
 
@@ -157,6 +156,7 @@ BattleroomListCtrl::BattleroomListCtrl( wxWindow* parent, IBattle* battle, Ui& u
 		m_popup->Append( kick );
 		wxMenuItem* ring = new wxMenuItem( m_popup, BRLIST_RING, wxString( _("Ring") ) , wxEmptyString, wxITEM_NORMAL );
 		m_popup->Append( ring );
+
 	}
 }
 
@@ -344,12 +344,17 @@ void BattleroomListCtrl::OnListRightClick( wxListEvent& event )
         m_popup->Check( item, m_sel_user->BattleStatus().spectator );
         m_popup->Enable( item, true );
         m_popup->Enable( m_popup->FindItem( _("Ring") ), true );
-        bool isSelUserMe =  ( m_ui.IsThisMe(user) );
+        bool isSelUserMe =  ( ui().IsThisMe(user) );
         m_popup->Enable( m_popup->FindItem( _("Kick") ),!isSelUserMe);
     }
 
     wxLogMessage(_T("Popup"));
-    m_popup->EnableItems( !user.BattleStatus().IsBot(), GetSelectedUserNick() );
+    m_popup->EnableItems( !user.BattleStatus().IsBot(), GetSelectedUserNick() );//this updates groups, therefore we need to update the connection to evt handlers too
+    std::vector<long> groups_ids = m_popup->GetGroupIds();
+    for (std::vector<long>::const_iterator it = groups_ids.begin(); it != groups_ids.end(); ++it) {
+        Connect( *it, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( BattleroomListCtrl::OnUserMenuAddToGroup ), 0, this );
+    }
+    Connect( GROUP_ID_NEW, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( BattleroomListCtrl::OnUserMenuCreateGroup), 0, this );
     PopupMenu( m_popup );
     wxLogMessage(_T("Done"));
 }
@@ -377,7 +382,7 @@ void BattleroomListCtrl::OnColourSelect( wxCommandEvent& /*unused*/ )
 
 	wxColour CurrentColour = m_sel_user->BattleStatus().colour;
 	CurrentColour = GetColourFromUser(this, CurrentColour);
-	if ( !CurrentColour.IsColourOk() ) return;
+	if ( !CurrentColour.IsOk() ) return;
 	if( m_sel_user ) ((Battle*)m_battle)->ForceColour( *m_sel_user, CurrentColour );
 
 }
@@ -773,10 +778,11 @@ void BattleroomListCtrl::SetTipWindowText( const long item_hit, const wxPoint& p
 
 void BattleroomListCtrl::OnUserMenuAddToGroup( wxCommandEvent& event )
 {
-    int id  = event.GetId() - GROUP_ID;
+    int id  = event.GetId();
     wxString groupname = m_popup->GetGroupByEvtID(id);
     wxString nick = GetSelectedUserNick();
     useractions().AddUserToGroup( groupname, nick );
+    Disconnect( GROUP_ID_NEW, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( BattleroomListCtrl::OnUserMenuCreateGroup), 0, this );
 }
 
 void BattleroomListCtrl::OnUserMenuDeleteFromGroup( wxCommandEvent& /*unused*/ )
diff --git a/src/battleroomlistctrl.h b/src/battleroomlistctrl.h
index e997e15..30b12f4 100644
--- a/src/battleroomlistctrl.h
+++ b/src/battleroomlistctrl.h
@@ -15,7 +15,7 @@ class wxIcon;
 class BattleroomListCtrl : public CustomVirtListCtrl< User *, BattleroomListCtrl >
 {
   public:
-    BattleroomListCtrl( wxWindow* parent, IBattle* battle, Ui& ui, bool readonly );
+    BattleroomListCtrl( wxWindow* parent, IBattle* battle, bool readonly );
      ~BattleroomListCtrl();
 
     void SetBattle( IBattle* battle );
@@ -79,8 +79,6 @@ class BattleroomListCtrl : public CustomVirtListCtrl< User *, BattleroomListCtrl
 
     static int CompareOneCrit( DataType u1, DataType u2, int col, int dir ) ;
 
-    Ui& m_ui;
-
     virtual void Sort();
 
     bool m_ro;
diff --git a/src/battleroommmoptionstab.cpp b/src/battleroommmoptionstab.cpp
index 69ef687..3ecee8b 100644
--- a/src/battleroommmoptionstab.cpp
+++ b/src/battleroommmoptionstab.cpp
@@ -11,6 +11,7 @@
 #include <wx/button.h>
 #include <wx/tipwin.h>
 #include <wx/tooltip.h>
+#include <wx/textctrl.h>
 #include <map>
 
 #include "utils/controls.h"
@@ -18,7 +19,7 @@
 #include "mmoptionswrapper.h"
 #include "battle.h"
 #include "spinctld.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 #include "server.h"
 #include "settings.h"
 #include "ui.h"
@@ -102,20 +103,18 @@ BattleroomMMOptionsTab<BattleType>::BattleroomMMOptionsTab(  BattleType& battle,
 
   //m_main_sizer->FitInside(this);
 
+    SetScrollRate( SCROLL_RATE, SCROLL_RATE );
+	SetSizer( m_main_sizer );
+	Layout();
 
-	this->SetSizer( m_main_sizer );
-	this->Layout();
-
-  if ( !m_battle.IsFounderMe() )
-  {
-    m_options_preset_sel->Disable();
-    m_load_btn->Disable();
-    m_save_btn->Disable();
-    m_delete_btn->Disable();
-    m_default_btn->Disable();
-  }
+    if ( !m_battle.IsFounderMe() ) {
+        m_options_preset_sel->Disable();
+        m_load_btn->Disable();
+        m_save_btn->Disable();
+        m_delete_btn->Disable();
+        m_default_btn->Disable();
+    }
 
-	SetScrollRate( 4, 4 );
 }
 
 template < class BattleType >
diff --git a/src/battleroomtab.cpp b/src/battleroomtab.cpp
index 68b8755..4d83b38 100644
--- a/src/battleroomtab.cpp
+++ b/src/battleroomtab.cpp
@@ -36,6 +36,7 @@
 #include "battle.h"
 #include "utils/conversion.h"
 #include "utils/debug.h"
+#include "defines.h"
 #include "battleroomlistctrl.h"
 #include "chatpanel.h"
 #include "mapctrl.h"
@@ -43,7 +44,7 @@
 #include "addbotdialog.h"
 #include "server.h"
 #include "iconimagelist.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 #include "autobalancedialog.h"
 #include "settings.h"
 #include "Helper/colorbutton.h"
@@ -117,9 +118,8 @@ class MyStrings : public wxArrayString
 const MyStrings<SPRING_MAX_TEAMS> team_choices;
 const MyStrings<SPRING_MAX_ALLIES> ally_choices;
 
-BattleRoomTab::BattleRoomTab( wxWindow* parent, Ui& ui, Battle& battle )
+BattleRoomTab::BattleRoomTab( wxWindow* parent, Battle& battle )
     : wxScrolledWindow( parent, -1 ),
-    m_ui( ui ),
     m_battle( battle ),
     m_map_dlg( 0 )
 {
@@ -131,7 +131,7 @@ BattleRoomTab::BattleRoomTab( wxWindow* parent, Ui& ui, Battle& battle )
 	UserBattleStatus& myself = m_battle.GetMe().BattleStatus();
 
 	m_player_panel = new wxScrolledWindow( m_splitter , -1 );
-	m_player_panel->SetScrollRate( 3, 3 );
+	m_player_panel->SetScrollRate( SCROLL_RATE, SCROLL_RATE );
 	m_team_sel = new wxComboBox( m_player_panel, BROOM_TEAMSEL, _T( "1" ), wxDefaultPosition, wxSize( 50, CONTROL_HEIGHT ), team_choices );
 	m_team_sel->SetToolTip( TE( _( "Players with the same team number share control of their units." ) ) );
 	m_ally_sel = new wxComboBox( m_player_panel, BROOM_ALLYSEL, _T( "1" ), wxDefaultPosition, wxSize( 50, CONTROL_HEIGHT ), ally_choices );
@@ -166,14 +166,14 @@ BattleRoomTab::BattleRoomTab( wxWindow* parent, Ui& ui, Battle& battle )
 
 	m_map_combo = new wxComboBox( this, BROOM_MAP_SEL, _T( "" ), wxDefaultPosition, wxDefaultSize );
 
-	m_minimap = new MapCtrl( this, 162, &m_battle, m_ui, true, true, true, false );
+	m_minimap = new MapCtrl( this, 162, &m_battle, true, true, true, false );
 	m_minimap->SetToolTip( TE( _( "A preview of the selected map.  You can see the starting positions, or (if set) starting boxes." ) ) );
 
 	m_browse_map_btn = new wxButton( this, BROOM_MAP_BROWSE, _( "Map" ), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT );
 	m_browse_map_btn->SetSize( m_browse_map_btn->GetSize().GetWidth() * 2 , m_browse_map_btn->GetSize().GetHeight() ) ; // has 0 effect
 
-	m_players = new BattleroomListCtrl( m_player_panel, ( IBattle* )&battle, m_ui, false );
-	m_chat = new ChatPanel( m_splitter, m_ui, battle );
+	m_players = new BattleroomListCtrl( m_player_panel, ( IBattle* )&battle, false );
+	m_chat = new ChatPanel( m_splitter, battle );
 
 	m_command_line = new wxStaticLine( this, -1, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
 
@@ -392,7 +392,7 @@ BattleRoomTab::BattleRoomTab( wxWindow* parent, Ui& ui, Battle& battle )
 	UpdateBattleInfo( wxString::Format( _T( "%d_mapname" ), OptionsWrapper::PrivateOptions ) );
 	UpdateBattleInfo();
 
-	SetScrollRate( 3, 3 );
+	SetScrollRate( SCROLL_RATE, SCROLL_RATE );
 	SetSizer( m_main_sizer );
 	Layout();
 	unsigned int widthfraction = m_opts_list->GetClientSize().GetWidth() / 3;
@@ -596,7 +596,7 @@ void BattleRoomTab::OnStart( wxCommandEvent& /*unused*/ )
 
 	m_battle.SaveMapDefaults(); // save map presets
 
-	m_ui.StartHostedBattle();
+    ui().StartHostedBattle();
 }
 
 
@@ -679,7 +679,7 @@ void BattleRoomTab::OnAddBot( wxCommandEvent& /*unused*/ )
 		bs.aiversion = dlg.GetAIVersion();
 		bs.aitype = dlg.GetAIType();
 		bs.owner = m_battle.GetMe().GetNick();
-		m_ui.GetServer().AddBot( m_battle.GetBattleId(), dlg.GetNick(), bs );
+		ui().GetServer().AddBot( m_battle.GetBattleId(), dlg.GetNick(), bs );
 	}
 }
 
@@ -746,12 +746,12 @@ void BattleRoomTab::OnAllySel( wxCommandEvent& /*unused*/ )
 
 void BattleRoomTab::OnColourSel( wxCommandEvent& /*unused*/ )
 {
-	User& u = m_battle.GetMe();
-	wxColour CurrentColour = u.BattleStatus().colour;
-	CurrentColour = GetColourFromUser( this, CurrentColour );
-	if ( !CurrentColour.IsColourOk() ) return;
-	sett().SetBattleLastColour( CurrentColour );
-	m_battle.ForceColour( u, CurrentColour );
+    User& u = m_battle.GetMe();
+    wxColour CurrentColour = u.BattleStatus().colour;
+    CurrentColour = GetColourFromUser(this, CurrentColour);
+    if ( !CurrentColour.IsOk() ) return;
+    sett().SetBattleLastColour( CurrentColour );
+    m_battle.ForceColour( u, CurrentColour );
 }
 
 
@@ -838,9 +838,9 @@ void BattleRoomTab::OnUserLeft( User& user )
 }
 
 
-void BattleRoomTab::OnUnitSyncReloaded()
+void BattleRoomTab::OnUnitsyncReloaded( GlobalEvents::GlobalEventData /*data*/ )
 {
-	m_minimap->UpdateMinimap();
+	//m_minimap->UpdateMinimap();//should happen automagically now
 	ReloadMaplist();
 	UpdateBattleInfo();
 	m_battle.SendMyBattleStatus(); // This should reset sync status.
@@ -908,7 +908,7 @@ void BattleRoomTab::OnSetModDefaultPreset( wxCommandEvent& /*unused*/ )
 void BattleRoomTab::OnMapBrowse( wxCommandEvent& /*unused*/ )
 {
 	wxLogDebugFunc( _T( "" ) );
-	m_map_dlg = new MapSelectDialog ( ( wxWindow* )&m_ui.mw(), m_ui );
+	m_map_dlg = new MapSelectDialog ( ( wxWindow* )&ui().mw() );
 
 	if ( m_map_dlg->ShowModal() == wxID_OK && m_map_dlg->GetSelectedMap() != NULL )
 	{
diff --git a/src/battleroomtab.h b/src/battleroomtab.h
index 90af3e4..dc9ee29 100644
--- a/src/battleroomtab.h
+++ b/src/battleroomtab.h
@@ -4,6 +4,7 @@
 #include <wx/scrolwin.h>
 
 #include "mmoptionswrapper.h"
+#include "utils/isink.h"
 #include <map>
 
 class Ui;
@@ -33,10 +34,10 @@ typedef std::map<wxString, long> OptionListMap;
 
 /** \brief container for BattleroomListCtrl, battle specific ChatPanel. Also displaying battle info summary
  * \todo DOCMEMORE */
-class BattleRoomTab : public wxScrolledWindow
+class BattleRoomTab : public wxScrolledWindow, public UnitsyncReloadedSink<BattleRoomTab>
 {
 	public:
-		BattleRoomTab( wxWindow* parent, Ui& ui, Battle& battle );
+		BattleRoomTab( wxWindow* parent, Battle& battle );
 		~BattleRoomTab();
 
 		BattleroomListCtrl& GetPlayersListCtrl();
@@ -92,7 +93,6 @@ class BattleRoomTab : public wxScrolledWindow
 		void OnUserJoined( User& user );
 		void OnUserLeft( User& user );
 
-		void OnUnitSyncReloaded();
 		void ReloadMaplist();
 		void SetMap( int index );
 
@@ -102,13 +102,14 @@ class BattleRoomTab : public wxScrolledWindow
 
 		void SortPlayerList();
 
+		void OnUnitsyncReloaded( GlobalEvents::GlobalEventData /*data*/ );
+
 	protected:
 
 		long AddMMOptionsToList( long pos, OptionsWrapper::GameOption optFlag );
 
 		void SplitSizerHorizontally( const bool horizontal );
 
-		Ui& m_ui;
 		Battle& m_battle;
 		UnitSyncMap m_map;
 
diff --git a/src/channel/autojoinchanneldialog.cpp b/src/channel/autojoinchanneldialog.cpp
index 3de774a..0009724 100644
--- a/src/channel/autojoinchanneldialog.cpp
+++ b/src/channel/autojoinchanneldialog.cpp
@@ -42,7 +42,7 @@ AutojoinChannelDialog::AutojoinChannelDialog( wxWindow* parent )
 	SetSizer( mainSizer );
 	wxString channels;
 	std::vector<ChannelJoinInfo> chanlist = sett().GetChannelsJoin();
-	for ( int i = 0; i < chanlist.size(); i++ )
+	for ( int i = 0; i < long(chanlist.size()); i++ )
 	{
 		ChannelJoinInfo info = chanlist[i];
 		channels << info.name + _T(" ") + info.password + _T("\n");
diff --git a/src/channel/channel.cpp b/src/channel/channel.cpp
index 91733af..49230ee 100644
--- a/src/channel/channel.cpp
+++ b/src/channel/channel.cpp
@@ -14,6 +14,12 @@
 #include <wx/log.h>
 #include "../chatpanel.h"
 
+Channel::Channel( Server& serv )
+    : m_serv(serv),
+    m_do_ban_regex(false),
+    m_do_unban_regex(false)
+{}
+
 Channel::~Channel() {
   if(uidata.panel)uidata.panel->SetChannel(NULL);
 }
@@ -38,7 +44,7 @@ User& Channel::GetMe()
 
 void Channel::Said( User& who, const wxString& message )
 {
-  m_ui.OnChannelSaid( *this , who, message );
+  ui().OnChannelSaid( *this , who, message );
 }
 
 
@@ -51,7 +57,7 @@ void Channel::Say( const wxString& message )
 
 void Channel::DidAction( User& who, const wxString& action )
 {
-  m_ui.OnChannelDidAction( *this, who, action );
+  ui().OnChannelDidAction( *this, who, action );
 }
 
 
@@ -65,7 +71,7 @@ void Channel::DoAction( const wxString& action )
 void Channel::Left( User& who, const wxString& reason )
 {
   RemoveUser( who.GetNick() );
-  m_ui.OnUserLeftChannel( *this, who, reason );
+  ui().OnUserLeftChannel( *this, who, reason );
 }
 
 
@@ -79,14 +85,14 @@ void Channel::Leave()
 void Channel::Joined( User& who )
 {
   AddUser( who );
-  m_ui.OnUserJoinedChannel( *this, who );
+  ui().OnUserJoinedChannel( *this, who );
 }
 
 
 void Channel::OnChannelJoin( User& who )
 {
   AddUser( who );
-  m_ui.OnChannelJoin( *this, who );
+  ui().OnChannelJoin( *this, who );
 }
 
 
@@ -95,7 +101,7 @@ void Channel::SetTopic( const wxString& topic, const wxString& who )
   m_topic = topic;
   m_topic_nick = who;
 
-  m_ui.OnChannelTopic( *this, who, topic );
+  ui().OnChannelTopic( *this, who, topic );
 }
 
 wxString Channel::GetTopicSetBy()
@@ -173,7 +179,7 @@ bool Channel::ExecuteSayCommand( const wxString& in )
     m_banned_users.erase(params);
     return true;
   } else if(subcmd==_T("/banregex")){
-    m_ui.OnChannelMessage(m_name,_T("/banregex ")+params);
+    ui().OnChannelMessage(m_name,_T("/banregex ")+params);
     m_do_ban_regex=!params.empty();
     if(m_do_ban_regex){
       #ifdef wxHAS_REGEX_ADVANCED
@@ -181,11 +187,11 @@ bool Channel::ExecuteSayCommand( const wxString& in )
       #else
       m_ban_regex.Compile(params, wxRE_EXTENDED);
       #endif
-      if(!m_ban_regex.IsValid())m_ui.OnChannelMessage(m_name,_T("Invalid regular expression"));
+      if(!m_ban_regex.IsValid())ui().OnChannelMessage(m_name,_T("Invalid regular expression"));
     }
     return true;
   } else if(subcmd==_T("/unbanregex")){
-    m_ui.OnChannelMessage(m_name,_T("/unbanregex ")+params);
+    ui().OnChannelMessage(m_name,_T("/unbanregex ")+params);
     m_do_unban_regex=!params.empty();
     if(m_do_unban_regex){
       #ifdef wxHAS_REGEX_ADVANCED
@@ -193,18 +199,21 @@ bool Channel::ExecuteSayCommand( const wxString& in )
       #else
       m_unban_regex.Compile(params, wxRE_EXTENDED);
       #endif
-      if(!m_unban_regex.IsValid())m_ui.OnChannelMessage(m_name,_T("Invalid regular expression"));
+      if(!m_unban_regex.IsValid())ui().OnChannelMessage(m_name,_T("Invalid regular expression"));
     }
     return true;
   } else if (subcmd==_T("/checkban")) {
     if(IsBanned(params)){
-      m_ui.OnChannelMessage(m_name,params+_T(" is banned"));
-    } else {
-      m_ui.OnChannelMessage(m_name,params+_T(" is not banned"));
+      ui().OnChannelMessage(m_name,params+_T(" is banned"));
+    }else{
+      ui().OnChannelMessage(m_name,params+_T(" is not banned"));
     }
     return true;
-  } else if (subcmd==_T("/banregexmsg")) {
-    m_ui.OnChannelMessage(m_name,_T("/banregexmsg ")+params);
+  }
+
+
+  else if(subcmd==_T("/banregexmsg")){
+    ui().OnChannelMessage(m_name,_T("/banregexmsg ")+params);
     m_ban_regex_msg=params;
     return true;
   }
diff --git a/src/channel/channel.h b/src/channel/channel.h
index 3555062..f41ab8e 100644
--- a/src/channel/channel.h
+++ b/src/channel/channel.h
@@ -23,7 +23,7 @@ class Channel : public UserList
     UiChannelData uidata;
 
     //Channel(): m_serv(0),m_userdata(0) {}
-    Channel( Server& serv, Ui& ui ): m_serv(serv),m_ui(ui),m_do_ban_regex(false), m_do_unban_regex(false) {}
+    Channel( Server& serv );
     virtual ~Channel();
 
     Server& GetServer() { return m_serv; }
@@ -62,8 +62,6 @@ class Channel : public UserList
   protected:
     Server& m_serv;
 
-    Ui& m_ui;
-
     std::set<wxString> m_banned_users;
 
     bool m_do_ban_regex;
diff --git a/src/channel/channellistctrl.cpp b/src/channel/channellistctrl.cpp
index 79b7e90..5c3b536 100644
--- a/src/channel/channellistctrl.cpp
+++ b/src/channel/channellistctrl.cpp
@@ -58,9 +58,9 @@ void ChannelListctrl::AddChannel(const wxString& channel, unsigned int num_users
     SetItemCount( m_visible_idxs.size() );
 
     RefreshItem( m_visible_idxs.size() - 1);
-    SetColumnWidth( 0, wxLIST_AUTOSIZE );
-    SetColumnWidth( 1, wxLIST_AUTOSIZE );
-    SetColumnWidth( 2, wxLIST_AUTOSIZE );
+//    SetColumnWidth( 0, wxLIST_AUTOSIZE );
+//    SetColumnWidth( 1, wxLIST_AUTOSIZE );
+//    SetColumnWidth( 2, wxLIST_AUTOSIZE );
 }
 
 int ChannelListctrl::CompareOneCrit( DataType u1, DataType u2, int col, int dir )
diff --git a/src/chatlog.cpp b/src/chatlog.cpp
index afa7a0d..2b87d58 100644
--- a/src/chatlog.cpp
+++ b/src/chatlog.cpp
@@ -17,7 +17,7 @@
 #include "utils/conversion.h"
 #include "ui.h"
 
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 
 bool ChatLog::m_parent_dir_exists = true;
 
diff --git a/src/chatoptionstab.cpp b/src/chatoptionstab.cpp
index b2f9bc2..dfaee94 100644
--- a/src/chatoptionstab.cpp
+++ b/src/chatoptionstab.cpp
@@ -31,7 +31,6 @@
 
 #include "nonportable.h"
 #include "chatoptionstab.h"
-#include "ui.h"
 #include "iunitsync.h"
 #include "utils/controls.h"
 #include "uiutils.h"
@@ -60,9 +59,8 @@ BEGIN_EVENT_TABLE( ChatOptionsTab, wxPanel )
 END_EVENT_TABLE()
 
 
-ChatOptionsTab::ChatOptionsTab( wxWindow* parent, Ui& ui )
-    : wxScrolledWindow( parent, -1 ),
-    m_ui( ui )
+ChatOptionsTab::ChatOptionsTab( wxWindow* parent )
+    : wxScrolledWindow( parent, -1 )
 {
 	GetAui().manager->AddPane( this, wxLEFT, _T( "chatoptionstab" ) );
 
@@ -340,7 +338,7 @@ ChatOptionsTab::ChatOptionsTab( wxWindow* parent, Ui& ui )
 
 	bMainSizerV->Add( 0, 0, 1, wxEXPAND | wxALL, 5 );
 
-	SetScrollRate( 3, 3 );
+	SetScrollRate( SCROLL_RATE, SCROLL_RATE );
 
 	SetSizer( bMainSizerV );
 	Layout();
@@ -480,7 +478,7 @@ void ChatOptionsTab::OnSelectFont( wxCommandEvent& /*unused*/ )
 {
 	wxFontData data;
 	data.SetChosenFont( m_chat_font );
-	wxFontDialog dlg( ( wxWindow* ) &ui().mw(), data );
+	wxFontDialog dlg( this->GetParent(), data );
 	if ( dlg.ShowModal() == wxID_OK ) {
 		m_chat_font = dlg.GetFontData().GetChosenFont();
 		m_fontname->SetLabel( m_chat_font.GetFaceName() );
diff --git a/src/chatoptionstab.h b/src/chatoptionstab.h
index 0bccd4f..3eee698 100644
--- a/src/chatoptionstab.h
+++ b/src/chatoptionstab.h
@@ -18,7 +18,7 @@ class ColorButton;
 class ChatOptionsTab : public wxScrolledWindow
 {
   public:
-    ChatOptionsTab( wxWindow* parent, Ui& ui );
+    ChatOptionsTab( wxWindow* parent );
     ~ChatOptionsTab();
 
     void UpdateTextSample();
@@ -108,8 +108,6 @@ class ChatOptionsTab : public wxScrolledWindow
 
     wxFont m_chat_font;
 
-    Ui& m_ui;
-
     /// generic func used in all handlers
     void OnColorChange( ColorButton* button );
 
diff --git a/src/chatpanel.cpp b/src/chatpanel.cpp
index 6e4fb93..53427ff 100644
--- a/src/chatpanel.cpp
+++ b/src/chatpanel.cpp
@@ -3,6 +3,7 @@
 // Class: ChatPanel
 //
 
+#include "chatpanel.h"
 
 #include <stdexcept>
 
@@ -29,10 +30,10 @@
 #include "aui/auimanager.h"
 #include "aui/slbook.h"
 #include "channel/channel.h"
-#include "chatpanel.h"
 #include "utils/debug.h"
 #include "utils/conversion.h"
 #include "utils/platform.h"
+#include "utils/misc.h"
 #include "ui.h"
 #include "server.h"
 #include "user.h"
@@ -40,7 +41,8 @@
 #include "nicklistctrl.h"
 #include "mainwindow.h"
 #include "chatlog.h"
-#include "settings++/custom_dialogs.h"
+#include "chatpanelmenu.h"
+#include "utils/customdialogs.h"
 #include "settings.h"
 #include "uiutils.h"
 #include "Helper/wxtextctrlhist.h"
@@ -51,12 +53,6 @@
 #include "useractions.h"
 #include "usermenu.h"
 
-/*
-BEGIN_EVENT_TABLE(MyTextCtrl, wxTextCtrl)
-EVT_PAINT(MyTextCtrl::OnPaint)
-END_EVENT_TABLE()
-*/
-
 BEGIN_EVENT_TABLE( ChatPanel, wxPanel )
 
 	EVT_TEXT_ENTER( CHAT_TEXT, ChatPanel::OnSay )
@@ -64,59 +60,7 @@ BEGIN_EVENT_TABLE( ChatPanel, wxPanel )
 	EVT_BUTTON( CHAT_CHAN_OPTS, ChatPanel::OnChanOpts )
 	EVT_BUTTON( CHAT_SEND, ChatPanel::OnSay )
 	EVT_TEXT_URL( CHAT_LOG,  ChatPanel::OnLinkEvent )
-
-	EVT_MENU( CHAT_MENU_DISABLE_APPEND, ChatPanel::OnMenuToggleAppend )
-
-	EVT_MENU( CHAT_MENU_CH_LEAVE, ChatPanel::OnChannelMenuLeave )
-	EVT_MENU( CHAT_MENU_CH_DISPLAYJOIN, ChatPanel::OnChannelMenuDisplayJoinLeave )
-	EVT_MENU( CHAT_MENU_CH_AUTOJOIN, ChatPanel::OnChannelAutoJoin )
-	EVT_MENU( CHAT_MENU_CH_INFO, ChatPanel::OnChannelMenuInfo )
-	EVT_MENU( CHAT_MENU_CH_TOPIC, ChatPanel::OnChannelMenuTopic )
-	EVT_MENU( CHAT_MENU_CH_MSG, ChatPanel::OnChannelMenuMessage )
-	EVT_MENU( CHAT_MENU_CH_LOCK, ChatPanel::OnChannelMenuLock )
-	EVT_MENU( CHAT_MENU_CH_UNLOCK, ChatPanel::OnChannelMenuUnlock )
-	EVT_MENU( CHAT_MENU_CH_REG, ChatPanel::OnChannelMenuRegister )
-	EVT_MENU( CHAT_MENU_CH_UNREG, ChatPanel::OnChannelMenuUnregister )
-	EVT_MENU( CHAT_MENU_CH_SPAM_ON, ChatPanel::OnChannelMenuSpamOn )
-	EVT_MENU( CHAT_MENU_CH_SPAM_OFF, ChatPanel::OnChannelMenuSpanOff )
-	EVT_MENU( CHAT_MENU_CH_SPAM_ISON, ChatPanel::OnChannelMenuSpamIsOn )
-	EVT_MENU( CHAT_MENU_CH_CLEAR, ChatPanel::ClearContents )
-
-	EVT_MENU( CHAT_MENU_SV_DISCON, ChatPanel::OnServerMenuDisconnect )
-	EVT_MENU( CHAT_MENU_SV_RECON, ChatPanel::OnServerMenuReconnect )
-	EVT_MENU( CHAT_MENU_SV_REMOVE, ChatPanel::OnServerMenuRemove )
-	EVT_MENU( CHAT_MENU_SV_CHPWD, ChatPanel::OnServerMenuChangePassword )
-	EVT_MENU( CHAT_MENU_SV_ACCESS, ChatPanel::OnServerMenuSetAccess )
-	EVT_MENU( CHAT_MENU_SV_BROADCAST, ChatPanel::OnServerMenuBroadcast )
-
-	EVT_MENU( CHAT_MENU_US_CHAT, ChatPanel::OnUserMenuOpenChat )
-	EVT_MENU( CHAT_MENU_US_JOIN, ChatPanel::OnUserMenuJoinSame )
-	EVT_MENU( CHAT_MENU_US_SLAP, ChatPanel::OnUserMenuSlap )
-	EVT_MENU( CHAT_MENU_US_ADD_TO_GROUP, ChatPanel::OnUserMenuAddToGroup )
-	EVT_MENU( CHAT_MENU_US_MUTE, ChatPanel::OnUserMenuMute )
-	EVT_MENU( CHAT_MENU_US_UNMUTE, ChatPanel::OnUserMenuUnmute )
-	EVT_MENU( CHAT_MENU_US_KICK, ChatPanel::OnUserMenuKick )
-	EVT_MENU( CHAT_MENU_US_OP, ChatPanel::OnUserMenuOp )
-	EVT_MENU( CHAT_MENU_US_DEOP, ChatPanel::OnUserMenuDeop )
-	EVT_MENU( CHAT_MENU_US_MODERATOR_INGAME, ChatPanel::OnUserMenuModeratorIngame )
-	EVT_MENU( CHAT_MENU_US_MODERATOR_CURIP, ChatPanel::OnUserMenuModeratorCurrentIP )
-	EVT_MENU( CHAT_MENU_US_MODERATOR_KICK, ChatPanel::OnUserMenuModeratorKick )
-	EVT_MENU( CHAT_MENU_US_MODERATOR_BAN, ChatPanel::OnUserMenuModeratorBan )
-	EVT_MENU( CHAT_MENU_US_MODERATOR_UNBAN, ChatPanel::OnUserMenuModeratorUnban )
-	EVT_MENU( CHAT_MENU_US_MODERATOR_MUTE, ChatPanel::OnUserMenuModeratorMute )
-	EVT_MENU( CHAT_MENU_US_MODERATOR_MUTE_5, ChatPanel::OnUserMenuModeratorMute5 )
-	EVT_MENU( CHAT_MENU_US_MODERATOR_MUTE_10, ChatPanel::OnUserMenuModeratorMute10 )
-	EVT_MENU( CHAT_MENU_US_MODERATOR_MUTE_30, ChatPanel::OnUserMenuModeratorMute30 )
-	EVT_MENU( CHAT_MENU_US_MODERATOR_MUTE_120, ChatPanel::OnUserMenuModeratorMute120 )
-	EVT_MENU( CHAT_MENU_US_MODERATOR_MUTE_1440, ChatPanel::OnUserMenuModeratorMute1440 )
-	EVT_MENU( CHAT_MENU_US_MODERATOR_UNMUTE, ChatPanel::OnUserMenuModeratorUnmute )
-	EVT_MENU( CHAT_MENU_US_MODERATOR_RING, ChatPanel::OnUserMenuModeratorRing )
-
-	EVT_MENU( CHAT_MENU_COPYLINK, ChatPanel::OnUserMenuCopyLink )
-
-	EVT_MENU( CHAT_MENU_LOG_OPEN, ChatPanel::OnChatMenuOpenLog )
-
-	EVT_MENU( CHAT_MENU_SHOW_MUTELIST, ChatPanel::OnChannelMenuShowMutelist )
+	EVT_MENU ( wxID_ANY, ChatPanel::OnMenuItem )
 
 END_EVENT_TABLE()
 
@@ -147,12 +91,11 @@ static wxColor m_irc_colors[16]  =
 	wxColor(149,149,149)
 };
 
-ChatPanel::ChatPanel( wxWindow* parent, Ui& ui, Channel& chan, wxImageList* imaglist ):
+ChatPanel::ChatPanel( wxWindow* parent, Channel& chan, wxImageList* imaglist ):
   wxPanel( parent, -1 ),
   m_show_nick_list( true ),
   m_nicklist(0),
   m_chat_tabs(( SLNotebook* )parent ),
-  m_ui( ui ),
   m_channel( &chan ),
   m_server( 0 ),
   m_user( 0 ),
@@ -160,7 +103,6 @@ ChatPanel::ChatPanel( wxWindow* parent, Ui& ui, Channel& chan, wxImageList* imag
   m_type( CPT_Channel ),
   m_popup_menu( 0 ),
   m_chat_log(sett().GetDefaultServer(), chan_prefix + chan.GetName()),
-  m_usermenu( 0 ),
   m_icon_index( 2 ),
   m_imagelist( imaglist ),
   m_disable_append( false )
@@ -175,12 +117,11 @@ ChatPanel::ChatPanel( wxWindow* parent, Ui& ui, Channel& chan, wxImageList* imag
 }
 
 
-ChatPanel::ChatPanel( wxWindow* parent, Ui& ui, const User& user, wxImageList* imaglist  ):
+ChatPanel::ChatPanel( wxWindow* parent, const User& user, wxImageList* imaglist  ):
   wxPanel( parent, -1 ),
   m_show_nick_list( false ),
   m_nicklist(0),
   m_chat_tabs(( SLNotebook* )parent ),
-  m_ui( ui ),
   m_channel( 0 ),
   m_server( 0 ),
   m_user( &user ),
@@ -188,7 +129,6 @@ ChatPanel::ChatPanel( wxWindow* parent, Ui& ui, const User& user, wxImageList* i
   m_type( CPT_User ),
   m_popup_menu( 0 ),
   m_chat_log(sett().GetDefaultServer(), user.GetNick()),
-  m_usermenu( 0 ),
   m_icon_index( 3 ),
   m_imagelist( imaglist ),
   m_disable_append( false )
@@ -201,12 +141,11 @@ ChatPanel::ChatPanel( wxWindow* parent, Ui& ui, const User& user, wxImageList* i
 }
 
 
-ChatPanel::ChatPanel( wxWindow* parent, Ui& ui, Server& serv, wxImageList* imaglist  ):
+ChatPanel::ChatPanel( wxWindow* parent, Server& serv, wxImageList* imaglist  ):
   wxPanel( parent, -1 ),
   m_show_nick_list( false ),
   m_nicklist(0),
   m_chat_tabs(( SLNotebook* )parent ),
-  m_ui( ui ),
   m_channel( 0 ),
   m_server( &serv ),
   m_user( 0 ),
@@ -214,7 +153,6 @@ ChatPanel::ChatPanel( wxWindow* parent, Ui& ui, Server& serv, wxImageList* imagl
   m_type( CPT_Server ),
   m_popup_menu( 0 ),
   m_chat_log(sett().GetDefaultServer(), _T( "_SERVER" )),
-  m_usermenu( 0 ),
   m_icon_index( 1 ),
   m_imagelist( imaglist ),
   m_disable_append( false )
@@ -229,12 +167,11 @@ ChatPanel::ChatPanel( wxWindow* parent, Ui& ui, Server& serv, wxImageList* imagl
 }
 
 
-ChatPanel::ChatPanel( wxWindow* parent, Ui& ui, Battle& battle ):
+ChatPanel::ChatPanel( wxWindow* parent, Battle& battle ):
   wxPanel( parent, -1 ),
   m_show_nick_list( false ),
   m_nicklist( 0 ),
   m_chat_tabs( 0 ),
-  m_ui( ui ),
   m_channel( 0 ),
   m_server( 0 ),
   m_user( 0 ),
@@ -242,7 +179,6 @@ ChatPanel::ChatPanel( wxWindow* parent, Ui& ui, Battle& battle ):
   m_type( CPT_Battle ),
   m_popup_menu( 0 ),
   m_chat_log(sett().GetDefaultServer(), _T( "_BATTLE_" ) + wxDateTime::Now().Format( _T( "%Y_%m_%d__%H_%M_%S" ) )),
-  m_usermenu( 0 ),
   m_disable_append( false )
 {
 	wxLogDebugFunc( _T( "wxWindow* parent, Battle& battle" ) );
@@ -290,7 +226,6 @@ void ChatPanel::CreateControls( )
 {
   wxLogDebugFunc( _T( "" ) );
 
-  m_autorejoin = 0;
   // Creating sizers
   m_main_sizer = new wxBoxSizer( wxHORIZONTAL );
   m_chat_sizer = new wxBoxSizer( wxVERTICAL );
@@ -305,13 +240,14 @@ void ChatPanel::CreateControls( )
 
     m_nick_sizer = new wxBoxSizer( wxVERTICAL );
     m_usercount_label = new wxStaticText( m_nick_panel, wxID_ANY, wxString::Format( _("%d users"), GetChannel()->GetNumUsers() ) );
-    m_usermenu = CreateNickListMenu();
-    m_nicklist = new NickListCtrl( m_nick_panel, true, m_usermenu );
+    CreatePopup();//ensures m_popup_menu is constructed
+    assert ( m_popup_menu->GetUserMenu() );
+    m_nicklist = new NickListCtrl( m_nick_panel, true, m_popup_menu->GetUserMenu() );
 
    // m_nick_filter = new wxComboBox( m_nick_panel, -1, _("Show all"), wxDefaultPosition, wxSize(80,CONTROL_HEIGHT), 0, 0, wxCB_READONLY );
    // m_nick_filter->Disable();
 
-		m_nick_sizer->Add( m_usercount_label, 0 );
+    m_nick_sizer->Add( m_usercount_label, 0 );
     m_nick_sizer->Add( m_nicklist, 1, wxEXPAND );
    // m_nick_sizer->Add( m_nick_filter, 0, wxEXPAND | wxTOP, 2 );
 
@@ -386,219 +322,14 @@ void ChatPanel::CreateControls( )
 
 }
 
-
 void ChatPanel::CreatePopup()
 {
-	if ( m_popup_menu != 0 ) return;
+	if ( m_popup_menu != 0 )
+        return;
 	wxLogDebugFunc( _T( "" ) );
-
-  m_popup_menu = new wxMenu();
-
-  m_append_menu = new wxMenuItem( m_popup_menu, CHAT_MENU_DISABLE_APPEND, _( "Disable text appending (workaround for autoscroll)" ), wxEmptyString, wxITEM_CHECK );
-  m_popup_menu->Append( m_append_menu );
-  m_append_menu->Check( m_disable_append );
-
-  wxMenuItem* copy = new wxMenuItem( m_popup_menu, wxID_COPY, _( "Copy" ), wxEmptyString, wxITEM_NORMAL );
-  m_popup_menu->Append( copy );
-    //      eventID,    eventType,                  member function pointer to be called        userData            instance on which member function is called
-  Connect( wxID_COPY, wxEVT_COMMAND_MENU_SELECTED, (wxObjectEventFunction)&wxTextCtrl::OnCopy, (wxObject*) NULL, (wxEvtHandler*)m_chatlog_text );
-
-    if ( m_url_at_pos != _T("") ) {
-        wxMenuItem* copylink = new wxMenuItem( m_popup_menu, CHAT_MENU_COPYLINK, _( "Copy link location" ), wxEmptyString, wxITEM_NORMAL );
-        m_popup_menu->Append( copylink );
-    }
-
-    wxMenuItem* clear = new wxMenuItem( m_popup_menu, CHAT_MENU_CH_CLEAR, _( "Clear" ), wxEmptyString, wxITEM_NORMAL );
-    m_popup_menu->Append( clear );
-
-	if ( m_type == CPT_Channel ) {
-
-		wxLogMessage( _T( "channel" ) );
-		m_autorejoin = new wxMenuItem( m_popup_menu, CHAT_MENU_CH_AUTOJOIN, _( "Auto join this channel" ), wxEmptyString, wxITEM_CHECK );
-		m_popup_menu->Append( m_autorejoin );
-		if ( m_channel ) {
-			bool isautojoin = sett().GetChannelJoinIndex(m_channel->GetName()) >= 0;
-			m_autorejoin->Check( isautojoin );
-		}
-
-		wxMenuItem* leaveitem = new wxMenuItem( m_popup_menu, CHAT_MENU_CH_LEAVE, _( "Leave" ), wxEmptyString, wxITEM_NORMAL );
-		m_popup_menu->Append( leaveitem );
-
-		displayjoinitem = new wxMenuItem( m_popup_menu, CHAT_MENU_CH_DISPLAYJOIN, _( "Display Join/Leave Messages" ), wxEmptyString, wxITEM_CHECK );
-		if ( m_channel && m_type == CPT_Channel ) {
-			m_popup_menu->Append( displayjoinitem );
-			displayjoinitem->Check( sett().GetDisplayJoinLeave( m_channel->GetName() ) );
-		}
-
-        wxMenuItem* mutelistitem = new wxMenuItem( m_popup_menu, CHAT_MENU_SHOW_MUTELIST, _( "Show mute list" ), wxEmptyString, wxITEM_NORMAL );
-		m_popup_menu->Append( mutelistitem );
-
-		m_popup_menu->AppendSeparator();
-		wxMenu* m_chanserv;
-		m_chanserv = new wxMenu();
-		wxMenuItem* infoitem = new wxMenuItem( m_chanserv, CHAT_MENU_CH_INFO, _( "Channel info" ), wxEmptyString, wxITEM_NORMAL );
-		m_chanserv->Append( infoitem );
-
-		m_chanserv->AppendSeparator();
-		wxMenuItem* chtopicitem = new wxMenuItem( m_chanserv, CHAT_MENU_CH_TOPIC, _( "Set topic..." ), wxEmptyString, wxITEM_NORMAL );
-		m_chanserv->Append( chtopicitem );
-		wxMenuItem* chmessageitem = new wxMenuItem( m_chanserv, CHAT_MENU_CH_MSG, _( "Channel message..." ), wxEmptyString, wxITEM_NORMAL );
-		m_chanserv->Append( chmessageitem );
-
-		m_chanserv->AppendSeparator();
-		wxMenuItem* chlockitem = new wxMenuItem( m_chanserv, CHAT_MENU_CH_LOCK, _( "Lock..." ), wxEmptyString, wxITEM_NORMAL );
-		m_chanserv->Append( chlockitem );
-		wxMenuItem* chunlockitem = new wxMenuItem( m_chanserv, CHAT_MENU_CH_UNLOCK, _( "Unlock" ), wxEmptyString, wxITEM_NORMAL );
-		m_chanserv->Append( chunlockitem );
-
-		m_chanserv->AppendSeparator();
-		wxMenuItem* chregisteritem = new wxMenuItem( m_chanserv, CHAT_MENU_CH_REG, _( "Register..." ), wxEmptyString, wxITEM_NORMAL );
-		m_chanserv->Append( chregisteritem );
-		wxMenuItem* chunregisteritem = new wxMenuItem( m_chanserv, CHAT_MENU_CH_UNREG, _( "Unregister" ), wxEmptyString, wxITEM_NORMAL );
-		m_chanserv->Append( chunregisteritem );
-
-		m_chanserv->AppendSeparator();
-		wxMenu* m_spam;
-		m_spam = new wxMenu();
-		wxMenuItem* spamprotonitem = new wxMenuItem( m_spam, CHAT_MENU_CH_SPAM_ON, _( "On" ), wxEmptyString, wxITEM_NORMAL );
-		m_spam->Append( spamprotonitem );
-		wxMenuItem* spamprotoffitem = new wxMenuItem( m_spam, CHAT_MENU_CH_SPAM_OFF, _( "Off" ), wxEmptyString, wxITEM_NORMAL );
-		m_spam->Append( spamprotoffitem );
-
-		m_spam->AppendSeparator();
-		wxMenuItem* spamprotisonitem = new wxMenuItem( m_spam, CHAT_MENU_CH_SPAM_ISON, _( "Is on?" ), wxEmptyString, wxITEM_NORMAL );
-		m_spam->Append( spamprotisonitem );
-		m_chanserv->Append( -1, _( "Spam protection" ), m_spam );
-		m_popup_menu->Append( -1, _( "ChanServ" ), m_chanserv );
-
-	}
-	else if ( m_type == CPT_Server ) {
-
-		wxLogMessage( _T( "server" ) );
-
-		wxMenuItem* disconnectitem = new wxMenuItem( m_popup_menu, CHAT_MENU_SV_DISCON, _( "Disconnect" ), wxEmptyString, wxITEM_NORMAL );
-		m_popup_menu->Append( disconnectitem );
-		wxMenuItem* reconnectitem = new wxMenuItem( m_popup_menu, CHAT_MENU_SV_RECON, _( "Reconnect" ), wxEmptyString, wxITEM_NORMAL );
-		m_popup_menu->Append( reconnectitem );
-
-		m_popup_menu->AppendSeparator();
-		wxMenu* m_user_menu;
-
-		m_user_menu = new wxMenu();
-		wxMenu* m_accounts;
-		m_accounts = new wxMenu();
-		wxMenuItem* removeitem = new wxMenuItem( m_accounts, CHAT_MENU_SV_REMOVE, _( "Remove..." ), wxEmptyString, wxITEM_NORMAL );
-		m_accounts->Append( removeitem );
-		wxMenuItem* chpwditem = new wxMenuItem( m_accounts, CHAT_MENU_SV_CHPWD, _( "Change password..." ), wxEmptyString, wxITEM_NORMAL );
-		m_accounts->Append( chpwditem );
-		wxMenuItem* setaccessitem = new wxMenuItem( m_accounts, CHAT_MENU_SV_ACCESS, _( "Set access..." ), wxEmptyString, wxITEM_NORMAL );
-		m_accounts->Append( setaccessitem );
-		m_user_menu->Append( -1, _( "Accounts" ), m_accounts );
-
-		m_user_menu->AppendSeparator();
-		wxMenuItem* broadcastitem = new wxMenuItem( m_user_menu, CHAT_MENU_SV_BROADCAST, _( "Broadcast..." ), wxEmptyString, wxITEM_NORMAL );
-		m_user_menu->Append( broadcastitem );
-		m_popup_menu->Append( -1, _( "Admin" ), m_user_menu );
-	}
-	else if ( m_type == CPT_User ) {
-        if ( m_usermenu  )
-            delete m_usermenu ;
-
-        m_usermenu = CreateNickListMenu();
-        if ( m_user )
-            m_usermenu->EnableItems( true, m_user->GetNick() );
-        m_popup_menu->AppendSubMenu( m_usermenu, _("User") );
-	}
-
-    if ( m_chat_log.LogEnabled() ) {
-        wxMenuItem* open_extern = new wxMenuItem( m_popup_menu, CHAT_MENU_LOG_OPEN, _( "Open log in editor" ), wxEmptyString, wxITEM_NORMAL );
-        m_popup_menu->Append( open_extern );
-    }
-}
-
-
-ChatPanel::UserMenu* ChatPanel::CreateNickListMenu()
-{
-	ChatPanel::UserMenu* m_user_menu;
-	m_user_menu = new ChatPanel::UserMenu( this );
-    if ( m_type != CPT_User ) {
-        wxMenuItem* chatitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_CHAT,  _( "Open Chat" ) , wxEmptyString, wxITEM_NORMAL );
-        m_user_menu->Append( chatitem );
-    }
-    wxMenuItem* joinbattleitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_JOIN,  _( "Join same battle" ) , wxEmptyString, wxITEM_NORMAL );
-    m_user_menu->Append( joinbattleitem );
-
-	m_user_menu->AppendSeparator();
-
-	if ( ui().GetServer().GetMe().GetStatus().moderator ) {
-		wxMenuItem* modingameitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_MODERATOR_INGAME, _( "Ingame time" ), wxEmptyString, wxITEM_NORMAL );
-		m_user_menu->Append( modingameitem );
-		wxMenuItem* modipitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_MODERATOR_CURIP, _( "Retrieve IP and Smurfs" ), wxEmptyString, wxITEM_NORMAL );
-		m_user_menu->Append( modipitem );
-
-		m_user_menu->AppendSeparator();
-
-		wxMenu* m_user_menu_mute;
-		m_user_menu_mute = new wxMenu();
-		wxMenuItem* modmuteitem = new wxMenuItem( m_user_menu_mute, CHAT_MENU_US_MODERATOR_MUTE, _( "Mute..." ) , wxEmptyString, wxITEM_NORMAL );
-		m_user_menu_mute->Append( modmuteitem );
-		wxMenuItem* modmute5item = new wxMenuItem( m_user_menu_mute, CHAT_MENU_US_MODERATOR_MUTE_5, _( "Mute for 5 minutes" ) , wxEmptyString, wxITEM_NORMAL );
-		m_user_menu_mute->Append( modmute5item );
-		wxMenuItem* modmute10item = new wxMenuItem( m_user_menu_mute, CHAT_MENU_US_MODERATOR_MUTE_10, _( "Mute for 10 minutes" ), wxEmptyString, wxITEM_NORMAL );
-		m_user_menu_mute->Append( modmute10item );
-		wxMenuItem* modmute30item = new wxMenuItem( m_user_menu_mute, CHAT_MENU_US_MODERATOR_MUTE_30, _( "Mute for 30 minutes" ), wxEmptyString, wxITEM_NORMAL );
-		m_user_menu_mute->Append( modmute30item );
-		wxMenuItem* modmute120item = new wxMenuItem( m_user_menu_mute, CHAT_MENU_US_MODERATOR_MUTE_120, _( "Mute for 2 hours" ) , wxEmptyString, wxITEM_NORMAL );
-		m_user_menu_mute->Append( modmute120item );
-		wxMenuItem* modmute1440item = new wxMenuItem( m_user_menu_mute, CHAT_MENU_US_MODERATOR_MUTE_1440, _( "Mute for 1 day" ), wxEmptyString, wxITEM_NORMAL );
-		m_user_menu_mute->Append( modmute1440item );
-		m_user_menu_mute->AppendSeparator();
-		wxMenuItem* modunmuteitem = new wxMenuItem( m_user_menu_mute, CHAT_MENU_US_MODERATOR_UNMUTE, _( "Unmute" ), wxEmptyString, wxITEM_NORMAL );
-		m_user_menu_mute->Append( modunmuteitem );
-		m_user_menu->Append( -1, _( "Mute" ), m_user_menu_mute );
-
-		wxMenuItem* modkickitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_MODERATOR_KICK, _( "Kick..." ), wxEmptyString, wxITEM_NORMAL );
-		m_user_menu->Append( modkickitem );
-
-		m_user_menu->AppendSeparator();
-		wxMenuItem* modbanitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_MODERATOR_BAN, _( "Ban..." ), wxEmptyString, wxITEM_NORMAL );
-		m_user_menu->Append( modbanitem );
-		wxMenuItem* modunbanitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_MODERATOR_UNBAN, _( "Unban" ), wxEmptyString, wxITEM_NORMAL );
-		m_user_menu->Append( modunbanitem );
-
-		m_user_menu->AppendSeparator();
-		wxMenuItem* modringitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_MODERATOR_RING, _( "Ring" ), wxEmptyString, wxITEM_NORMAL );
-		m_user_menu->Append( modringitem );
-		//m_user_menu->Append( -1, _("Moderator"), m_user_menu );
-	} else {
-		wxMenuItem* slapitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_SLAP, _( "Slap!" ), wxEmptyString, wxITEM_NORMAL );
-		m_user_menu->Append( slapitem );
-	}
-
-    if ( m_type != CPT_User ) {
-        m_user_menu->AppendSeparator();
-        wxMenu* m_chanserv;
-        m_chanserv = new wxMenu();
-        wxMenuItem* chmuteitem = new wxMenuItem( m_chanserv, CHAT_MENU_US_MUTE, _( "Mute..." ), wxEmptyString, wxITEM_NORMAL );
-        m_chanserv->Append( chmuteitem );
-        wxMenuItem* chunmuteitem = new wxMenuItem( m_chanserv, CHAT_MENU_US_UNMUTE, _( "Unmute" ), wxEmptyString, wxITEM_NORMAL );
-        m_chanserv->Append( chunmuteitem );
-        m_chanserv->AppendSeparator();
-        wxMenuItem* chkickitem = new wxMenuItem( m_chanserv, CHAT_MENU_US_KICK, _( "Kick..." ), wxEmptyString, wxITEM_NORMAL );
-        m_chanserv->Append( chkickitem );
-
-        m_chanserv->AppendSeparator();
-        wxMenuItem* chopitem = new wxMenuItem( m_chanserv, CHAT_MENU_US_OP, _( "Op" ), wxEmptyString, wxITEM_NORMAL );
-        m_chanserv->Append( chopitem );
-        wxMenuItem* chdeopitem = new wxMenuItem( m_chanserv, CHAT_MENU_US_DEOP, _( "DeOp" ), wxEmptyString, wxITEM_NORMAL );
-        m_chanserv->Append( chdeopitem );
-        m_user_menu->Append( -1, _( "ChanServ" ), m_chanserv );
-    }
-
-	return m_user_menu;
+	m_popup_menu = new ChatPanelMenu( this );
 }
 
-
 const User* ChatPanel::GetSelectedUser() const
 {
 	if ( m_type == CPT_User ) {
@@ -612,7 +343,7 @@ const User* ChatPanel::GetSelectedUser() const
 
 const User& ChatPanel::GetMe()  const
 {
-	return m_ui.GetServer().GetMe();
+	return ui().GetServer().GetMe();
 }
 
 void ChatPanel::OutputLine( const wxString& message, const wxColour& col, const wxFont& fon )
@@ -699,7 +430,7 @@ void ChatPanel::OutputLine( const ChatLine& line )
 					}
 
 				wxColor dummy(0,0,0);
-				if ( ( color > -1 ) && ( color < ( sizeof( m_irc_colors ) / sizeof( dummy ) ) ) )
+				if ( ( color > -1 ) && ( color < long(( sizeof( m_irc_colors ) / sizeof( dummy ) )) ) )
 				{
 
 					curcolor = m_irc_colors[color];
@@ -769,20 +500,14 @@ void ChatPanel::OnLinkEvent( wxTextUrlEvent& event )
         return;
 
     wxString url = m_chatlog_text->GetRange( event.GetURLStart(), event.GetURLEnd());
-    m_ui.OpenWebBrowser( url );
-}
-
-void ChatPanel::OnUserMenuCopyLink( wxCommandEvent& /*unused*/ )
-{
-    CopyToClipboard( m_url_at_pos );
-    m_url_at_pos = _T("");
+    OpenWebBrowser( url );
 }
 
 void ChatPanel::OnChanOpts( wxCommandEvent& /*unused*/ )
 {
   CreatePopup();
   if ( (m_chan_opts_button == 0) || (m_popup_menu == 0)) return;
-  m_chan_opts_button->PopupMenu(m_popup_menu);
+  m_chan_opts_button->PopupMenu(m_popup_menu->GetMenu());
 }
 
 
@@ -862,15 +587,14 @@ void ChatPanel::Said( const wxString& who, const wxString& message )
 
 
 	if ( req_user ) {
-     m_ui.mw().RequestUserAttention();
+     ui().mw().RequestUserAttention();
      #ifndef DISABLE_SOUND
-     if ( sett().GetChatPMSoundNotificationEnabled() && ( m_ui.GetActiveChatPanel() != this  || !wxTheApp->IsActive() ) )
+     if ( sett().GetChatPMSoundNotificationEnabled() && ( ui().GetActiveChatPanel() != this  || !wxTheApp->IsActive() ) )
         sound().pm();
      #endif
 	}
 }
 
-
 bool ChatPanel::ContainsWordToHighlight( const wxString& message ) const
 {
     //get list of words to highlight
@@ -884,7 +608,6 @@ bool ChatPanel::ContainsWordToHighlight( const wxString& message ) const
 
 }
 
-
 void ChatPanel::DidAction( const wxString& who, const wxString& action )
 {
   // change the image of the tab to show new events
@@ -892,7 +615,6 @@ void ChatPanel::DidAction( const wxString& who, const wxString& action )
 	OutputLine( _T( " * " ) + who + _T( " " ) + action, sett().GetChatColorAction(), sett().GetChatFont() );
 }
 
-
 //! @brief Output motd sent by server
 //!
 //! @param message The MOTD message to output
@@ -905,7 +627,6 @@ void ChatPanel::Motd( const wxString& message )
 	OutputLine( _T( " ** motd ** " ) + message, sett().GetChatColorServer(), f );
 }
 
-
 void ChatPanel::StatusMessage( const wxString& message )
 {
 	if ( m_chatlog_text == 0 ) {
@@ -918,7 +639,6 @@ void ChatPanel::StatusMessage( const wxString& message )
 	}
 }
 
-
 void ChatPanel::ClientMessage( const wxString& message )
 {
 	wxFont f = m_chatlog_text->GetFont();
@@ -926,7 +646,6 @@ void ChatPanel::ClientMessage( const wxString& message )
 	OutputLine( _T( " ** " ) + message, sett().GetChatColorClient(), f );
 }
 
-
 void ChatPanel::UnknownCommand( const wxString& command, const wxString& params )
 {
 	wxFont f = m_chatlog_text->GetFont();
@@ -936,7 +655,6 @@ void ChatPanel::UnknownCommand( const wxString& command, const wxString& params
 	OutputLine( _( " !! Command: \"" ) + command + _( "\" params: \"" ) + params + _T( "\"." ), sett().GetChatColorError(), f );
 }
 
-
 wxString ChatPanel::GetChatTypeStr() const
 {
 	if ( m_type == CPT_Channel ) return _( "channel" );
@@ -946,7 +664,6 @@ wxString ChatPanel::GetChatTypeStr() const
 	return _T( "ROOMTYPE FIXME" );
 }
 
-
 void ChatPanel::Joined( User& who )
 {
 	if ( m_type == CPT_Channel ) {
@@ -968,7 +685,6 @@ void ChatPanel::Joined( User& who )
 	textcompletiondatabase.Insert_Mapping( who.GetNick(), who.GetNick() );
 }
 
-
 void ChatPanel::OnChannelJoin( User& who )
 {
 	if ( m_type == CPT_Channel && m_show_nick_list && (m_nicklist != 0) )
@@ -981,7 +697,6 @@ void ChatPanel::OnChannelJoin( User& who )
 	textcompletiondatabase.Insert_Mapping( who.GetNick(), who.GetNick() );
 }
 
-
 void ChatPanel::Parted( User& who, const wxString& message )
 {
 	if ( m_type == CPT_Channel ) {
@@ -1010,7 +725,6 @@ void ChatPanel::Parted( User& who, const wxString& message )
 	textcompletiondatabase.Delete_Mapping( who.GetNick() );
 }
 
-
 void ChatPanel::SetTopic( const wxString& who, const wxString& message )
 {
 	/*
@@ -1036,7 +750,6 @@ void ChatPanel::SetTopic( const wxString& who, const wxString& message )
 	OutputLine( _( " ** Set by " ) + who, sett().GetChatColorServer(), f );
 }
 
-
 void ChatPanel::UserStatusUpdated( User& who )
 {
 	if ( !m_show_nick_list || ( m_nicklist == 0 ) ) return;
@@ -1046,13 +759,11 @@ void ChatPanel::UserStatusUpdated( User& who )
   } catch (...) { return; }
 }
 
-
 const Channel* ChatPanel::GetChannel() const
 {
 	return m_channel;
 }
 
-
 void ChatPanel::SetChannel( Channel* chan )
 {
 	ASSERT_LOGIC( this, _T( "this==null" ) );
@@ -1080,7 +791,6 @@ const Server* ChatPanel::GetServer()  const
 	return m_server;
 }
 
-
 void ChatPanel::SetServer( Server* serv )
 {
 	ASSERT_LOGIC( m_type == CPT_Server, _T( "Not of type server" ) );
@@ -1098,13 +808,11 @@ void ChatPanel::SetServer( Server* serv )
 //	}
 }
 
-
 const User* ChatPanel::GetUser() const
 {
 	return m_user;
 }
 
-
 void ChatPanel::SetUser( const User* usr )
 {
 	ASSERT_LOGIC( m_type == CPT_User, _T( "Not of type user" ) );
@@ -1122,19 +830,16 @@ void ChatPanel::SetUser( const User* usr )
 //        m_chat_log.SetTarget( sett().GetDefaultServer(), usr->GetNick() );
 }
 
-
 bool ChatPanel::IsServerPanel() const
 {
 	return ( m_type == CPT_Server );
 }
 
-
 int ChatPanel::GetPanelType() const
 {
 	return m_type;
 }
 
-
 //! @brief Set the Channel object
 //!
 //! @param channel the Channel object.
@@ -1152,7 +857,6 @@ void ChatPanel::_SetChannel( Channel* channel )
 
 }
 
-
 void ChatPanel::Say( const wxString& message )
 {
 	wxLogDebugFunc( message );
@@ -1166,7 +870,7 @@ void ChatPanel::Say( const wxString& message )
 		wxLogMessage( _T( "line: %s" ), line.c_str() );
 
 		if ( line.Find( '/' ) == 0 ) {
-			if ( m_ui.ExecuteSayCommand( line ) ) return;
+			if ( ui().ExecuteSayCommand( line ) ) return;
 		}
 
 		if ( line == _T( "/ver" ) ) {
@@ -1175,8 +879,7 @@ void ChatPanel::Say( const wxString& message )
 		}
 
 		if ( line == _T( "/clear" ) ) {
-			wxCommandEvent dummy;
-			ClearContents( dummy );
+            m_chatlog_text->SetValue( _T("") );
 			return;
 		}
 
@@ -1247,11 +950,9 @@ void ChatPanel::Say( const wxString& message )
 			m_server->SendRaw( line );
 			OutputLine( _( " Sent: \"" ) + line + _( "\"" ), sett().GetChatColorNormal(), sett().GetChatFont() );
 		}
-
 	}
 }
 
-
 void ChatPanel::Part()
 {
 	wxLogDebugFunc( _T( "" ) );
@@ -1263,7 +964,6 @@ void ChatPanel::Part()
 	}
 }
 
-
 bool ChatPanel::IsOk() const
 {
 	if ( m_type == CPT_Channel ) return ( m_channel != 0 );
@@ -1273,8 +973,6 @@ bool ChatPanel::IsOk() const
 	return false;
 }
 
-
-
 void ChatPanel::OnUserDisconnected()
 {
   // change the image of the tab to show new events
@@ -1282,7 +980,6 @@ void ChatPanel::OnUserDisconnected()
 	OutputLine( _T( " ** User is now offline." ), sett().GetChatColorJoinPart(), sett().GetChatFont() );
 }
 
-
 void ChatPanel::OnUserConnected()
 {
   // change the image of the tab to show new events
@@ -1295,509 +992,11 @@ void ChatPanel::OnUserConnected()
 // Menu Events
 //////////////////////////////////////////////////////////////////////////////////////
 
-
-
-void ChatPanel::OnChannelMenuLeave( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	Part();
-	SetChannel( 0 );
-}
-
-
-void ChatPanel::OnChannelMenuDisplayJoinLeave( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( !displayjoinitem->IsChecked() ) {
-		sett().SetDisplayJoinLeave( false, m_channel->GetName() );
-		displayjoinitem->Check( false );
-	} else {
-		sett().SetDisplayJoinLeave( true, m_channel->GetName() );
-		displayjoinitem->Check( true );
-	}
-}
-
-
-void ChatPanel::OnChannelAutoJoin( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( m_autorejoin == 0 ) return;
-
-	if ( m_autorejoin->IsChecked() ) {
-			sett().AddChannelJoin( m_channel->GetName(), m_channel->GetPassword() );
-			m_autorejoin->Check( true );
-	} else {
-		sett().RemoveChannelJoin( m_channel->GetName() );
-		m_autorejoin->Check( false );
-	}
-}
-
-
-void ChatPanel::OnChannelMenuInfo( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( !m_channel->UserExists( _T( "ChanServ" ) ) ) {
-		m_ui.ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
-		return;
-	}
-	User& cs = m_channel->GetUser( _T( "ChanServ" ) );
-
-	cs.Say( _T( "!INFO #" ) + m_channel->GetName() );
-	//INFO /<channame>/
-}
-
-
-void ChatPanel::OnChannelMenuTopic( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( !m_channel->UserExists( _T( "ChanServ" ) ) ) {
-		m_ui.ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
-		return;
-	}
-	User& cs = m_channel->GetUser( _T( "ChanServ" ) );
-
-	wxString topic = m_channel->GetTopic();
-	if ( !m_ui.AskText( _( "Set topic..." ), _( "What should be the new topic?" ), topic, wxOK | wxCANCEL | wxCENTRE | wxTE_MULTILINE ) ) return;
-	topic.Replace( _T("\n"), _T("\\n") );
-	cs.Say( _T( "!TOPIC #" ) + m_channel->GetName() + _T( " " ) + topic );
-	//TOPIC /<channame>/ {topic}
-}
-
-
-void ChatPanel::OnChannelMenuMessage( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( !m_channel->UserExists( _T( "ChanServ" ) ) ) {
-		m_ui.ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
-		return;
-	}
-	User& cs = m_channel->GetUser( _T( "ChanServ" ) );
-
-	wxString text;
-if ( !m_ui.AskText( _( "Channel message..." ), _( "Message:" ), text ) ) return;
-
-	cs.Say( _T( "!CHANMSG #" ) + m_channel->GetName() + _T( " " ) + text );
-	//CHANMSG /<channame>/ {message}
-}
-
-
-void ChatPanel::OnChannelMenuLock( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( !m_channel->UserExists( _T( "ChanServ" ) ) ) {
-		m_ui.ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
-		return;
-	}
-	User& cs = m_channel->GetUser( _T( "ChanServ" ) );
-
-	wxString text;
-	if ( !m_ui.AskText( _( "Lock channel..." ), _( "What should the new password be?" ), text ) ) return;
-
-	cs.Say( _T( "!LOCK #" ) + m_channel->GetName() + _T( " " ) + text );
-	//LOCK /<channame>/ <key>
-}
-
-
-void ChatPanel::OnChannelMenuUnlock( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( !m_channel->UserExists( _T( "ChanServ" ) ) ) {
-		m_ui.ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
-		return;
-	}
-	User& cs = m_channel->GetUser( _T( "ChanServ" ) );
-
-	if ( !m_ui.Ask( _( "Unlock Channel" ), _( "Are you sure you want to unlock this channel?" ) ) ) return;
-
-	cs.Say( _T( "!UNLOCK #" ) + m_channel->GetName() );
-	//UNLOCK /<channame>/
-}
-
-
-void ChatPanel::OnChannelMenuRegister( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( !m_channel->GetServer().UserExists( _T( "ChanServ" ) ) ) {
-		m_ui.ShowMessage( _( "ChanServ error" ), _( "ChanServ is not on this server." ) );
-		return;
-	}
-	User& cs = m_channel->GetServer().GetUser( _T( "ChanServ" ) );
-
-	wxString text = m_channel->GetMe().GetNick();
-	if ( !m_ui.AskText( _( "Register Channel" ), _( "Who should be appointed founder of this channel?" ), text ) ) return;
-
-	cs.Say( _T( "!REGISTER #" ) + m_channel->GetName() + _T( " " ) + text );
-	//REGISTER <channame> <founder>
-}
-
-
-void ChatPanel::OnChannelMenuUnregister( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( !m_channel->GetServer().UserExists( _T( "ChanServ" ) ) ) {
-		m_ui.ShowMessage( _( "ChanServ error" ), _( "ChanServ is not on this server." ) );
-		return;
-	}
-	User& cs = m_channel->GetServer().GetUser( _T( "ChanServ" ) );
-
-	if ( !m_ui.Ask( _( "Unregister Channel" ), _( "Are you sure you want to unregister this channel?" ) ) ) return;
-
-	cs.Say( _T( "!UNREGISTER #" ) + m_channel->GetName() );
-	//UNREGISTER <channame>
-}
-
-
-void ChatPanel::OnChannelMenuSpamOn( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( !m_channel->UserExists( _T( "ChanServ" ) ) ) {
-		m_ui.ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
-		return;
-	}
-	User& cs = m_channel->GetUser( _T( "ChanServ" ) );
-
-	cs.Say( _T( "!SPAMPROTECTION #" ) + m_channel->GetName() + _T( " on" ) );
-	//SPAMPROTECTION /<channame>/ <on|off>
-}
-
-
-void ChatPanel::OnChannelMenuSpanOff( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( !m_channel->UserExists( _T( "ChanServ" ) ) ) {
-		m_ui.ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
-		return;
-	}
-	User& cs = m_channel->GetUser( _T( "ChanServ" ) );
-
-	cs.Say( _T( "!SPAMPROTECTION #" ) + m_channel->GetName() + _T( " off" ) );
-	//SPAMPROTECTION /<channame>/ <on|off>
-}
-
-
-void ChatPanel::OnChannelMenuSpamIsOn( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( !m_channel->UserExists( _T( "ChanServ" ) ) ) {
-		m_ui.ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
-		return;
-	}
-	User& cs = m_channel->GetUser( _T( "ChanServ" ) );
-
-	cs.Say( _T( "!SPAMPROTECTION #" ) + m_channel->GetName() );
-	//SPAMPROTECTION /<channame>/
-}
-
-
-void ChatPanel::OnServerMenuDisconnect( wxCommandEvent& /*unused*/ )
-{
-	m_ui.Disconnect();
-}
-
-
-void ChatPanel::OnServerMenuReconnect( wxCommandEvent& /*unused*/ )
-{
-	m_ui.Reconnect();
-}
-
-
-void ChatPanel::OnServerMenuRemove( wxCommandEvent& /*unused*/ )
-{
-	wxString user;
-	if ( !m_ui.AskText( _( "Remove User Acount" ), _( "What user account do you want to remove today?" ), user ) ) return;
-	if ( !m_ui.Ask( _( "Remove Account" ), _( "Are you sure you want to remove the account " ) + user + _T( "?" ) ) ) return;
-	Say( _T( "removeaccount " ) + user );
-}
-
-
-void ChatPanel::OnServerMenuChangePassword( wxCommandEvent& /*unused*/ )
-{
-	wxString user, password;
-	if ( !m_ui.AskText( _( "Change User Acount Password" ), _( "What user account do you want to change the password for?" ), user ) ) return;
-	if ( !m_ui.AskPassword( _( "Change User Acount Password" ), _( "What would be the new password?" ), password ) ) return;
-	Say( _T( "changeaccountpass " ) + user + _T( " " ) + password );
-}
-
-
-void ChatPanel::OnServerMenuSetAccess( wxCommandEvent& /*unused*/ )
-{
-	m_ui.ShowMessage( _( "Error" ), _( "Not Implemented" ) );
-}
-
-
-void ChatPanel::OnServerMenuBroadcast( wxCommandEvent& /*unused*/ )
-{
-	wxString msg;
-	if ( !m_ui.AskText( _( "Broadcast Message" ), _( "Message to be broadcasted:" ), msg ) ) return;
-	Say( _T( "broadcast " ) + msg );
-}
-
-
-void ChatPanel::OnUserMenuOpenChat( wxCommandEvent& /*unused*/ )
-{
-	const User* user = GetSelectedUser();
-	if ( user == 0 ) return;
-
-	m_ui.mw().OpenPrivateChat( *user );
-}
-
-
-void ChatPanel::OnUserMenuJoinSame( wxCommandEvent& /*unused*/ )
-{
-	const User* user = GetSelectedUser();
-	if ( user == 0 ) return;
-	Battle* battle = user->GetBattle();
-	if ( battle == 0 ) return;
-
-	if ( !usync().ModExists( battle->GetHostModName() ) ) {
-		customMessageBoxNoModal( SL_MAIN_ICON, _( "You don't have the mod " ) + battle->GetHostModName()
-														 + _( " . Please download it first" ), _( "Mod unavailable" ) );
-		return;
-	}
-
-	wxString password;
-	if ( battle->IsPassworded() ) {
-		if ( !m_ui.AskPassword( _( "Battle password" ), _( "This battle is password protected, enter the password." ), password ) ) return;
-	}
-	battle->Join( password );
-}
-
-
-void ChatPanel::OnUserMenuSlap( wxCommandEvent& /*unused*/ )
-{
-	const User* user = GetSelectedUser();
-	if ( user == 0 ) return;
-
-	if ( m_type == CPT_Channel ) {
-		if ( m_channel == 0 ) return;
-		m_channel->DoAction( _T( "Slaps " ) + user->GetNick() + _T( " around with a large PeeWee!" ) );
-	} else if ( m_type == CPT_User ) {
-		if ( m_user == 0 ) return;
-		m_user->DoAction( _T( "slaps " ) + user->GetNick() + _T( " around with a large PeeWee!" ) );
-	}
-}
-
-
-void ChatPanel::OnUserMenuMute( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( !m_channel->UserExists( _T( "ChanServ" ) ) ) {
-		m_ui.ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
-		return;
-	}
-
-	wxString mutetime = _T( "5" );
-	if ( !m_ui.AskText( _( "Mute User" ), _( "For how many minutes should the user be muted?" ), mutetime ) ) return;
-
-	User& cs = m_channel->GetUser( _T( "ChanServ" ) );
-
-	const User* user = GetSelectedUser();
-	if ( user == 0 ) return;
-
-	cs.Say( _T( "!MUTE #" ) + m_channel->GetName() + _T( " " ) + user->GetNick() + _T( " " ) + mutetime );
-	//MUTE /<channame>/ <username> [<duration>]
-
-}
-
-
-void ChatPanel::OnUserMenuUnmute( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( !m_channel->UserExists( _T( "ChanServ" ) ) ) {
-		m_ui.ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
-		return;
-	}
-	User& cs = m_channel->GetUser( _T( "ChanServ" ) );
-
-	const User* user = GetSelectedUser();
-	if ( user == 0 ) return;
-
-	cs.Say( _T( "!UNMUTE #" ) + m_channel->GetName() + _T( " " ) + user->GetNick() );
-	//UNMUTE /<channame>/ <username>
-}
-
-
-void ChatPanel::OnUserMenuKick( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( !m_channel->UserExists( _T( "ChanServ" ) ) ) {
-		m_ui.ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
-		return;
-	}
-
-	const User* user = GetSelectedUser();
-	if ( user == 0 ) return;
-
-	wxString msg;
-	if ( !m_ui.AskText( _( "Kick User" ), _( "Reason:" ), msg ) ) return;
-
-	User& cs = m_channel->GetUser( _T( "ChanServ" ) );
-
-	if ( msg != wxEmptyString ) msg = _T( " " ) + msg;
-	cs.Say( _T( "!KICK #" ) + m_channel->GetName() + _T( " " ) + user->GetNick() + msg );
-	//KICK /<channame>/ <username> [{reason}]
-}
-
-
-void ChatPanel::OnUserMenuOp( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( !m_channel->UserExists( _T( "ChanServ" ) ) ) {
-		m_ui.ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
-		return;
-	}
-
-	const User* user = GetSelectedUser();
-	if ( user == 0 ) return;
-	User& cs = m_channel->GetUser( _T( "ChanServ" ) );
-
-	cs.Say( _T( "!OP #" ) + m_channel->GetName() + _T( " " ) + user->GetNick() );
-	//OP /<channame>/ <username>
-}
-
-
-void ChatPanel::OnUserMenuDeop( wxCommandEvent& /*unused*/ )
-{
-	if ( m_channel == 0 ) return;
-	if ( !m_channel->UserExists( _T( "ChanServ" ) ) ) {
-		m_ui.ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
-		return;
-	}
-
-	const User* user = GetSelectedUser();
-	if ( user == 0 ) return;
-	User& cs = m_channel->GetUser( _T( "ChanServ" ) );
-
-	cs.Say( _T( "!DEOP #" ) + m_channel->GetName() + _T( " " ) + user->GetNick() );
-	//DEOP /<channame>/ <username>
-}
-
-
-void ChatPanel::OnUserMenuModeratorIngame( wxCommandEvent& /*unused*/ )
-{
-	m_ui.GetServer().RequestInGameTime( GetSelectedUser()->GetNick() );
-}
-
-
-void ChatPanel::OnUserMenuModeratorCurrentIP( wxCommandEvent& /*unused*/ )
-{
-	m_ui.GetServer().ModeratorGetIP( GetSelectedUser()->GetNick() );
-}
-
-
-void ChatPanel::OnUserMenuModeratorKick( wxCommandEvent& /*unused*/ )
-{
-	wxString reason;
-	if ( !m_ui.AskText( _( "Kick user" ), _( "Reason:" ), reason ) ) return;
-	m_ui.GetServer().ModeratorKick( GetSelectedUser()->GetNick(), reason );
-}
-
-
-void ChatPanel::OnUserMenuModeratorBan( wxCommandEvent& /*unused*/ )
-{
-	m_ui.ShowMessage( _( "Error" ), _( "Not Implemented" ) );
-}
-
-
-void ChatPanel::OnUserMenuModeratorUnban( wxCommandEvent& /*unused*/ )
-{
-	m_ui.ShowMessage( _( "Error" ), _( "Not Implemented" ) );
-}
-
-
-void ChatPanel::OnUserMenuModeratorMute( wxCommandEvent& /*unused*/ )
-{
-	wxString duration;
-	if ( !m_ui.AskText( _( "Mute user" ), _( "Duration:" ), duration ) ) return;
-	long int dur = 0;
-	duration.ToLong( &dur, dur );
-	m_ui.GetServer().ModeratorMute( m_channel->GetName(), GetSelectedUser()->GetNick(), ( int ) dur, true );
-}
-
-
-void ChatPanel::OnUserMenuModeratorMute5( wxCommandEvent& /*unused*/ )
-{
-	m_ui.GetServer().ModeratorMute( m_channel->GetName(), GetSelectedUser()->GetNick(), 5, true );
-}
-
-
-void ChatPanel::OnUserMenuModeratorMute10( wxCommandEvent& /*unused*/ )
-{
-	m_ui.GetServer().ModeratorMute( m_channel->GetName(), GetSelectedUser()->GetNick(), 10, true );
-}
-
-
-void ChatPanel::OnUserMenuModeratorMute30( wxCommandEvent& /*unused*/ )
-{
-	m_ui.GetServer().ModeratorMute( m_channel->GetName(), GetSelectedUser()->GetNick(), 30, true );
-}
-
-
-void ChatPanel::OnUserMenuModeratorMute120( wxCommandEvent& /*unused*/ )
-{
-	m_ui.GetServer().ModeratorMute( m_channel->GetName(), GetSelectedUser()->GetNick(), 120, true );
-}
-
-
-void ChatPanel::OnUserMenuModeratorMute1440( wxCommandEvent& /*unused*/ )
-{
-	m_ui.GetServer().ModeratorMute( m_channel->GetName(), GetSelectedUser()->GetNick(), 1440, true );
-}
-
-
-
-void ChatPanel::OnUserMenuModeratorUnmute( wxCommandEvent& /*unused*/ )
-{
-	m_ui.GetServer().ModeratorUnmute( m_channel->GetName(), GetSelectedUser()->GetNick() );
-}
-
-
-void ChatPanel::OnUserMenuModeratorRing( wxCommandEvent& /*unused*/ )
-{
-	m_ui.GetServer().Ring( GetSelectedUser()->GetNick() );
-}
-
 void ChatPanel::FocusInputBox()
 {
     m_say_text->SetFocus();
 }
 
-
-void ChatPanel::OnUserMenuAddToGroup( wxCommandEvent& event )
-{
-    int id  = event.GetId() - GROUP_ID;
-    wxString groupname = m_usermenu->GetGroupByEvtID(id);
-    const User* user = GetSelectedUser();
-    if ( user )
-        useractions().AddUserToGroup( groupname, user->GetNick() );
-}
-
-
-void ChatPanel::OnUserMenuDeleteFromGroup( wxCommandEvent& /*unused*/ )
-{
-    const User* user = GetSelectedUser();
-    if ( user )
-        useractions().RemoveUser( user->GetNick() );
-}
-
-
-void ChatPanel::OnUserMenuCreateGroup( wxCommandEvent& /*unused*/ )
-{
-    wxString name;
-    if ( ui().AskText( _("Enter name"),
-        _("Please enter the name for the new group.\nAfter clicking ok you will be taken to adjust its settings."), name ) )
-    {
-        const User* user = GetSelectedUser();
-        if ( user ) {
-            useractions().AddGroup( name );
-            useractions().AddUserToGroup( name, user->GetNick() );
-            ui().mw().ShowConfigure( MainWindow::OPT_PAGE_GROUPS );
-        }
-        else
-            customMessageBoxNoModal( SL_MAIN_ICON, _("couldn't add user"), _("Error") );
-    }
-}
-
 wxString ChatPanel::FindUrl( const long pos ) const
 {
     long last = m_chatlog_text->GetLastPosition();
@@ -1830,21 +1029,10 @@ void ChatPanel::OnMouseDown( wxMouseEvent& event )
         m_url_at_pos = FindUrl( pos );
 	}
 	CreatePopup();
-	if ( m_popup_menu != 0 ) PopupMenu( m_popup_menu );
+	if ( m_popup_menu != 0 ) PopupMenu( m_popup_menu->GetMenu() );
 	else event.Skip();
 }
 
-
-void ChatPanel::OnMenuToggleAppend( wxCommandEvent& /*unused*/ )
-{
-  m_disable_append = m_append_menu->IsChecked();
-  if ( !m_disable_append )
-  {
-    for ( std::vector<ChatLine>::iterator iter = m_buffer.begin(); iter < m_buffer.end() ; iter++ ) OutputLine( *iter );
-    m_buffer.clear();
-  }
-}
-
 void ChatPanel::UpdateNicklistHighlights()
 {
     if ( m_show_nick_list && (m_nicklist != 0) ) {
@@ -1852,17 +1040,14 @@ void ChatPanel::UpdateNicklistHighlights()
     }
 }
 
-
 void ChatPanel::SortNickList()
 {
   if ( m_show_nick_list && (m_nicklist != 0 ) ) m_nicklist->SortList();
 }
 
-
-
 void ChatPanel::SetIconHighlight( HighlightType highlight )
 {
-  if (  m_ui.GetActiveChatPanel() != this && m_chat_tabs && !IsShownOnScreen() )
+  if (  ui().GetActiveChatPanel() != this && m_chat_tabs && !IsShownOnScreen() )
   {
     for ( unsigned int i = 0; i <  m_chat_tabs->GetPageCount( ); ++i )
     {
@@ -1924,19 +1109,7 @@ void ChatPanel::SetIconHighlight( HighlightType highlight )
   }
 }
 
-void ChatPanel::OnChannelMenuShowMutelist( wxCommandEvent& /*unused*/ )
-{
-    if ( m_channel && ( m_type == CPT_Channel ) ) {
-       m_channel->GetServer().SendRaw( _T("MUTELIST ") + m_channel->GetName() );
-    }
-}
-
-void ChatPanel::ClearContents( wxCommandEvent& /*unused*/ )
-{
-    m_chatlog_text->SetValue( _T("") );
-}
-
-void ChatPanel::OnChatMenuOpenLog( wxCommandEvent& event )
+void ChatPanel::OnMenuItem( wxCommandEvent& event )
 {
-    m_chat_log.OpenInEditor();
+    m_popup_menu->OnMenuItem( event );
 }
diff --git a/src/chatpanel.h b/src/chatpanel.h
index 5e0f1b5..8c12b0b 100644
--- a/src/chatpanel.h
+++ b/src/chatpanel.h
@@ -5,7 +5,6 @@
 #include <wx/textctrl.h>
 #include <vector>
 
-#include "usermenu.h"
 #include "chatlog.h"
 #include "Helper/TextCompletionDatabase.hpp"
 
@@ -32,6 +31,7 @@ class wxMouseEvent;
 class SLNotebook;
 class wxNotebook;
 class wxImageList;
+class ChatPanelMenu;
 
 enum ChatPanelType {
   CPT_Channel,
@@ -67,10 +67,10 @@ class ChatPanel : public wxPanel
 {
   public:
 
-    ChatPanel( wxWindow* parent, Ui& ui, Channel& chan, wxImageList* imaglist );
-    ChatPanel( wxWindow* parent, Ui& ui, const User& user, wxImageList* imaglist  );
-    ChatPanel( wxWindow* parent, Ui& ui, Server& serv, wxImageList* imaglist  );
-    ChatPanel( wxWindow* parent, Ui& ui, Battle& battle );
+    ChatPanel( wxWindow* parent, Channel& chan, wxImageList* imaglist );
+    ChatPanel( wxWindow* parent, const User& user, wxImageList* imaglist  );
+    ChatPanel( wxWindow* parent, Server& serv, wxImageList* imaglist  );
+    ChatPanel( wxWindow* parent, Battle& battle );
     ~ChatPanel();
 
     void Said( const wxString& who, const wxString& message );
@@ -123,67 +123,14 @@ class ChatPanel : public wxPanel
     void OnLinkEvent( wxTextUrlEvent& event );
     void OnMouseDown( wxMouseEvent& event );
 
-    void OnMenuToggleAppend( wxCommandEvent& event );
-
-    void OnChannelMenuLeave( wxCommandEvent& event );
-    void OnChannelMenuDisplayJoinLeave( wxCommandEvent& event );
-    void OnChannelAutoJoin( wxCommandEvent& event );
-    void OnChannelMenuInfo( wxCommandEvent& event );
-    void OnChannelMenuTopic( wxCommandEvent& event );
-    void OnChannelMenuMessage( wxCommandEvent& event );
-    void OnChannelMenuLock( wxCommandEvent& event );
-    void OnChannelMenuUnlock( wxCommandEvent& event );
-    void OnChannelMenuRegister( wxCommandEvent& event );
-    void OnChannelMenuUnregister( wxCommandEvent& event );
-    void OnChannelMenuSpamOn( wxCommandEvent& event );
-    void OnChannelMenuSpanOff( wxCommandEvent& event );
-    void OnChannelMenuSpamIsOn( wxCommandEvent& event );
-    void OnChannelMenuShowMutelist( wxCommandEvent& event );
-
-    void OnServerMenuDisconnect( wxCommandEvent& event );
-    void OnServerMenuReconnect( wxCommandEvent& event );
-    void OnServerMenuRemove( wxCommandEvent& event );
-    void OnServerMenuChangePassword( wxCommandEvent& event );
-    void OnServerMenuSetAccess( wxCommandEvent& event );
-    void OnServerMenuBroadcast( wxCommandEvent& event );
-
-    void OnUserMenuOpenChat( wxCommandEvent& event );
-    void OnUserMenuJoinSame( wxCommandEvent& event );
-    void OnUserMenuSlap( wxCommandEvent& event );
-    void OnUserMenuMute( wxCommandEvent& event );
-    void OnUserMenuUnmute( wxCommandEvent& event );
-    void OnUserMenuKick( wxCommandEvent& event );
-    void OnUserMenuOp( wxCommandEvent& event );
-    void OnUserMenuDeop( wxCommandEvent& event );
-    void OnUserMenuModeratorIngame( wxCommandEvent& event );
-    void OnUserMenuModeratorCurrentIP( wxCommandEvent& event );
-    void OnUserMenuModeratorKick( wxCommandEvent& event );
-    void OnUserMenuModeratorBan( wxCommandEvent& event );
-    void OnUserMenuModeratorUnban( wxCommandEvent& event );
-    void OnUserMenuModeratorMute( wxCommandEvent& event );
-    void OnUserMenuModeratorMute5( wxCommandEvent& event );
-    void OnUserMenuModeratorMute10( wxCommandEvent& event );
-    void OnUserMenuModeratorMute30( wxCommandEvent& event );
-    void OnUserMenuModeratorMute120( wxCommandEvent& event );
-    void OnUserMenuModeratorMute1440( wxCommandEvent& event );
-    void OnUserMenuModeratorUnmute( wxCommandEvent& event );
-    void OnUserMenuModeratorRing( wxCommandEvent& event );
-
-    void OnUserMenuCopyLink( wxCommandEvent& event );
-
-    void OnChatMenuOpenLog( wxCommandEvent& event );
-
     void OnKeyPressed( wxKeyEvent& keyevent );
     void OnKeyReleased( wxKeyEvent& keyevent );
 
-    void OnUserMenuAddToGroup( wxCommandEvent& event );
-    void OnUserMenuDeleteFromGroup( wxCommandEvent& event );
-    void OnUserMenuCreateGroup( wxCommandEvent& event );
     void UpdateNicklistHighlights();
 
     void SortNickList();
 
-    void ClearContents( wxCommandEvent& event );
+    void OnMenuItem( wxCommandEvent& event );
 
   protected:
 
@@ -215,7 +162,7 @@ class ChatPanel : public wxPanel
 
     wxButton* m_say_button;     //!< The say button.
     SLNotebook* m_chat_tabs;
-    Ui& m_ui;
+ 
     Channel* m_channel;         //!< Channel object.
     Server* m_server;           //!< Server object.
     const User* m_user;               //!< User object.
@@ -227,13 +174,9 @@ class ChatPanel : public wxPanel
 
     wxString m_chan_pass;
 
-    wxMenu* m_popup_menu;
-    wxMenuItem* m_autorejoin;
-    wxMenuItem* m_append_menu;
+    ChatPanelMenu* m_popup_menu;
+
     ChatLog m_chat_log;
-    wxMenuItem* displayjoinitem;
-    typedef SL_GENERIC::UserMenu<ChatPanel> UserMenu;
-    UserMenu* m_usermenu;
 
     void LogTime();
     void CreateControls( );
@@ -243,9 +186,6 @@ class ChatPanel : public wxPanel
 
     wxImageList* m_imagelist;
 
-    UserMenu* CreateNickListMenu();
-
-
     static const int m_groupMenu_baseID = 6798;
 	TextCompletionDatabase textcompletiondatabase;
 
@@ -254,6 +194,8 @@ class ChatPanel : public wxPanel
 
     wxString m_url_at_pos; //! the mouse event sink sets this
 
+    friend class ChatPanelMenu; //menu needs access to members
+
     DECLARE_EVENT_TABLE();
 };
 
@@ -262,63 +204,8 @@ enum
     CHAT_SEND = wxID_HIGHEST,
     CHAT_TEXT,
     CHAT_LOG,
-    CHAT_CHAN_OPTS,
-
-    CHAT_MENU_DISABLE_APPEND,
-
-    CHAT_MENU_CH_CLEAR,
-    CHAT_MENU_CH_LEAVE,
-    CHAT_MENU_CH_DISPLAYJOIN,
-    CHAT_MENU_CH_AUTOJOIN,
-    CHAT_MENU_CH_INFO,
-    CHAT_MENU_CH_TOPIC,
-    CHAT_MENU_CH_MSG,
-    CHAT_MENU_CH_LOCK,
-    CHAT_MENU_CH_UNLOCK,
-    CHAT_MENU_CH_REG,
-    CHAT_MENU_CH_UNREG,
-    CHAT_MENU_CH_SPAM_ON,
-    CHAT_MENU_CH_SPAM_OFF,
-    CHAT_MENU_CH_SPAM_ISON,
-
-    CHAT_MENU_SV_DISCON,
-    CHAT_MENU_SV_RECON,
-    CHAT_MENU_SV_REMOVE,
-    CHAT_MENU_SV_CHPWD,
-    CHAT_MENU_SV_ACCESS,
-    CHAT_MENU_SV_BROADCAST,
-
-    CHAT_MENU_US_CHAT,
-    CHAT_MENU_US_JOIN,
-    CHAT_MENU_US_SLAP,
-    CHAT_MENU_US_MUTE,
-    CHAT_MENU_US_UNMUTE,
-    CHAT_MENU_US_KICK,
-    CHAT_MENU_US_ADD_TO_GROUP,
-    CHAT_MENU_US_OP,
-    CHAT_MENU_US_DEOP,
-    CHAT_MENU_US_MODERATOR_INGAME,
-    CHAT_MENU_US_MODERATOR_CURIP,
-    CHAT_MENU_US_MODERATOR_KICK,
-    CHAT_MENU_US_MODERATOR_BAN,
-    CHAT_MENU_US_MODERATOR_UNBAN,
-    CHAT_MENU_US_MODERATOR_MUTE,
-    CHAT_MENU_US_MODERATOR_MUTE_5,
-    CHAT_MENU_US_MODERATOR_MUTE_10,
-    CHAT_MENU_US_MODERATOR_MUTE_30,
-    CHAT_MENU_US_MODERATOR_MUTE_120,
-    CHAT_MENU_US_MODERATOR_MUTE_1440,
-    CHAT_MENU_US_MODERATOR_UNMUTE,
-    CHAT_MENU_US_MODERATOR_RING,
-
-    CHAT_MENU_COPYLINK,
-
-    CHAT_MENU_SHOW_MUTELIST,
-
-    CHAT_MENU_LOG_OPEN
+    CHAT_CHAN_OPTS
 };
-
-
 #endif // SPRINGLOBBY_HEADERGUARD_CHATPANEL_H
 
 /**
diff --git a/src/chatpanelmenu.cpp b/src/chatpanelmenu.cpp
new file mode 100644
index 0000000..0e17be9
--- /dev/null
+++ b/src/chatpanelmenu.cpp
@@ -0,0 +1,838 @@
+/* Copyright (C) 2007-2009 The SpringLobby Team. All rights reserved. */
+
+#include "chatpanelmenu.h"
+
+#include <wx/log.h>
+
+#include "chatpanel.h"
+#include "channel/channel.h"
+#include "utils/debug.h"
+#include "ui.h"
+#include "server.h"
+#include "user.h"
+#include "battle.h"
+#include "nicklistctrl.h"
+#include "mainwindow.h"
+#include "settings.h"
+
+ChatPanelMenu::ChatPanelMenu(ChatPanel* parent, bool addChanServ, const wxString& title , long style )
+
+:    m_chatpanel(parent),
+    m_autorejoin( 0 ),
+    m_withChanserv( addChanServ )
+{}
+
+wxMenu* ChatPanelMenu::GetMenu()
+{
+    m_menu_all = new wxMenu();
+    CreateNickListMenu();
+    m_append_menu = new wxMenuItem( m_menu_all, CHAT_MENU_DISABLE_APPEND, _( "Disable text appending (workaround for autoscroll)" ), wxEmptyString, wxITEM_CHECK );
+    m_menu_all->Append( m_append_menu );
+    m_append_menu->Check( m_chatpanel->m_disable_append );
+
+    wxMenuItem* copy = new wxMenuItem( m_menu_all, wxID_COPY, _( "Copy" ), wxEmptyString, wxITEM_NORMAL );
+    m_menu_all->Append( copy );
+    //      eventID,    eventType,                  member function pointer to be called        userData            instance on which member function is called
+    Connect( wxID_COPY, wxEVT_COMMAND_MENU_SELECTED, (wxObjectEventFunction)&wxTextCtrl::OnCopy, (wxObject*) NULL, (wxEvtHandler*)(m_chatpanel->m_chatlog_text) );
+
+    if ( m_chatpanel->m_url_at_pos != _T("") ) {
+        wxMenuItem* copylink = new wxMenuItem( m_menu_all, CHAT_MENU_COPYLINK, _( "Copy link location" ), wxEmptyString, wxITEM_NORMAL );
+        m_menu_all->Append( copylink );
+    }
+
+    wxMenuItem* clear = new wxMenuItem( m_menu_all, CHAT_MENU_CH_CLEAR, _( "Clear" ), wxEmptyString, wxITEM_NORMAL );
+    m_menu_all->Append( clear );
+
+	if ( m_chatpanel->m_type == CPT_Channel ) {
+
+		wxLogMessage( _T( "channel" ) );
+		m_autorejoin = new wxMenuItem( m_menu_all, CHAT_MENU_CH_AUTOJOIN, _( "Auto join this channel" ), wxEmptyString, wxITEM_CHECK );
+		m_menu_all->Append( m_autorejoin );
+		if ( m_chatpanel->m_channel ) {
+			bool isautojoin = sett().GetChannelJoinIndex( m_chatpanel->m_channel->GetName() ) >= 0;
+			m_autorejoin->Check( isautojoin );
+		}
+
+		wxMenuItem* leaveitem = new wxMenuItem( m_menu_all, CHAT_MENU_CH_LEAVE, _( "Leave" ), wxEmptyString, wxITEM_NORMAL );
+		m_menu_all->Append( leaveitem );
+
+		displayjoinitem = new wxMenuItem( m_menu_all, CHAT_MENU_CH_DISPLAYJOIN, _( "Display Join/Leave Messages" ), wxEmptyString, wxITEM_CHECK );
+		if ( m_chatpanel->m_channel && m_chatpanel->m_type == CPT_Channel ) {
+			m_menu_all->Append( displayjoinitem );
+			displayjoinitem->Check( sett().GetDisplayJoinLeave( m_chatpanel->m_channel->GetName() ) );
+		}
+
+        wxMenuItem* mutelistitem = new wxMenuItem( m_menu_all, CHAT_MENU_SHOW_MUTELIST, _( "Show mute list" ), wxEmptyString, wxITEM_NORMAL );
+
+		m_menu_all->Append( mutelistitem );
+
+        if ( m_withChanserv ) {
+            m_menu_all->AppendSeparator();
+            wxMenu* m_chanserv;
+            m_chanserv = new wxMenu();
+            wxMenuItem* infoitem = new wxMenuItem( m_chanserv, CHAT_MENU_CH_INFO, _( "Channel info" ), wxEmptyString, wxITEM_NORMAL );
+            m_chanserv->Append( infoitem );
+
+            m_chanserv->AppendSeparator();
+            wxMenuItem* chtopicitem = new wxMenuItem( m_chanserv, CHAT_MENU_CH_TOPIC, _( "Set topic..." ), wxEmptyString, wxITEM_NORMAL );
+            m_chanserv->Append( chtopicitem );
+            wxMenuItem* chmessageitem = new wxMenuItem( m_chanserv, CHAT_MENU_CH_MSG, _( "Channel message..." ), wxEmptyString, wxITEM_NORMAL );
+            m_chanserv->Append( chmessageitem );
+
+            m_chanserv->AppendSeparator();
+            wxMenuItem* chlockitem = new wxMenuItem( m_chanserv, CHAT_MENU_CH_LOCK, _( "Lock..." ), wxEmptyString, wxITEM_NORMAL );
+            m_chanserv->Append( chlockitem );
+            wxMenuItem* chunlockitem = new wxMenuItem( m_chanserv, CHAT_MENU_CH_UNLOCK, _( "Unlock" ), wxEmptyString, wxITEM_NORMAL );
+            m_chanserv->Append( chunlockitem );
+
+            m_chanserv->AppendSeparator();
+            wxMenuItem* chregisteritem = new wxMenuItem( m_chanserv, CHAT_MENU_CH_REG, _( "Register..." ), wxEmptyString, wxITEM_NORMAL );
+            m_chanserv->Append( chregisteritem );
+            wxMenuItem* chunregisteritem = new wxMenuItem( m_chanserv, CHAT_MENU_CH_UNREG, _( "Unregister" ), wxEmptyString, wxITEM_NORMAL );
+            m_chanserv->Append( chunregisteritem );
+
+            m_chanserv->AppendSeparator();
+            wxMenu* m_spam;
+            m_spam = new wxMenu();
+            wxMenuItem* spamprotonitem = new wxMenuItem( m_spam, CHAT_MENU_CH_SPAM_ON, _( "On" ), wxEmptyString, wxITEM_NORMAL );
+            m_spam->Append( spamprotonitem );
+            wxMenuItem* spamprotoffitem = new wxMenuItem( m_spam, CHAT_MENU_CH_SPAM_OFF, _( "Off" ), wxEmptyString, wxITEM_NORMAL );
+            m_spam->Append( spamprotoffitem );
+
+            m_spam->AppendSeparator();
+            wxMenuItem* spamprotisonitem = new wxMenuItem( m_spam, CHAT_MENU_CH_SPAM_ISON, _( "Is on?" ), wxEmptyString, wxITEM_NORMAL );
+            m_spam->Append( spamprotisonitem );
+            m_chanserv->Append( -1, _( "Spam protection" ), m_spam );
+            m_menu_all->AppendSubMenu( m_chanserv , _( "ChanServ" ));
+        }
+
+	}
+	else if ( m_chatpanel->m_type == CPT_Server ) {
+
+		wxLogMessage( _T( "server" ) );
+
+		wxMenuItem* disconnectitem = new wxMenuItem( m_menu_all, CHAT_MENU_SV_DISCON, _( "Disconnect" ), wxEmptyString, wxITEM_NORMAL );
+		m_menu_all->Append( disconnectitem );
+		wxMenuItem* reconnectitem = new wxMenuItem( m_menu_all, CHAT_MENU_SV_RECON, _( "Reconnect" ), wxEmptyString, wxITEM_NORMAL );
+		m_menu_all->Append( reconnectitem );
+
+		m_menu_all->AppendSeparator();
+		wxMenu* submenu_user;
+
+		submenu_user = new wxMenu();
+		wxMenu* m_accounts;
+		m_accounts = new wxMenu();
+		wxMenuItem* removeitem = new wxMenuItem( m_accounts, CHAT_MENU_SV_REMOVE, _( "Remove..." ), wxEmptyString, wxITEM_NORMAL );
+		m_accounts->Append( removeitem );
+		wxMenuItem* chpwditem = new wxMenuItem( m_accounts, CHAT_MENU_SV_CHPWD, _( "Change password..." ), wxEmptyString, wxITEM_NORMAL );
+		m_accounts->Append( chpwditem );
+		wxMenuItem* setaccessitem = new wxMenuItem( m_accounts, CHAT_MENU_SV_ACCESS, _( "Set access..." ), wxEmptyString, wxITEM_NORMAL );
+		m_accounts->Append( setaccessitem );
+		submenu_user->Append( -1, _( "Accounts" ), m_accounts );
+
+		submenu_user->AppendSeparator();
+		wxMenuItem* broadcastitem = new wxMenuItem( submenu_user, CHAT_MENU_SV_BROADCAST, _( "Broadcast..." ), wxEmptyString, wxITEM_NORMAL );
+		submenu_user->Append( broadcastitem );
+		m_menu_all->Append( -1, _( "Admin" ), m_user_menu );
+	}
+	else if ( m_chatpanel->m_type == CPT_User ) {
+        if ( m_chatpanel->m_user )
+            m_user_menu->EnableItems( true, m_chatpanel->m_user->GetNick() );
+        m_menu_all->AppendSubMenu( m_user_menu, _("User") );
+	}
+
+    if ( m_chatpanel->m_chat_log.LogEnabled() ) {
+        wxMenuItem* open_extern = new wxMenuItem( m_menu_all, CHAT_MENU_LOG_OPEN, _( "Open log in editor" ), wxEmptyString, wxITEM_NORMAL );
+        m_menu_all->Append( open_extern );
+    }
+
+//    ConnectEvents();
+//    m_user_menu->Connect( GROUP_ID_NEW, wxEVT_COMMAND_MENU_SELECTED,
+//                                    wxCommandEventHandler( ChatPanelMenu::OnUserMenuCreateGroup ), 0, this );
+    return m_menu_all;
+}
+
+void ChatPanelMenu::CreateNickListMenu()
+{
+	m_user_menu = new ChatPanelMenu::UserMenu( this, this );
+    if ( m_chatpanel->m_type != CPT_User ) {
+        wxMenuItem* chatitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_CHAT,  _( "Open Chat" ) , wxEmptyString, wxITEM_NORMAL );
+        m_user_menu->Append( chatitem );
+    }
+    wxMenuItem* joinbattleitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_JOIN,  _( "Join same battle" ) , wxEmptyString, wxITEM_NORMAL );
+    m_user_menu->Append( joinbattleitem );
+
+	m_user_menu->AppendSeparator();
+
+	if ( ui().GetServer().GetMe().GetStatus().moderator ) {
+		wxMenuItem* modingameitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_MODERATOR_INGAME, _( "Ingame time" ), wxEmptyString, wxITEM_NORMAL );
+		m_user_menu->Append( modingameitem );
+		wxMenuItem* modipitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_MODERATOR_CURIP, _( "Retrieve IP and Smurfs" ), wxEmptyString, wxITEM_NORMAL );
+		m_user_menu->Append( modipitem );
+
+		m_user_menu->AppendSeparator();
+
+		wxMenu* m_user_menu_mute;
+		m_user_menu_mute = new wxMenu();
+		wxMenuItem* modmuteitem = new wxMenuItem( m_user_menu_mute, CHAT_MENU_US_MODERATOR_MUTE, _( "Mute..." ) , wxEmptyString, wxITEM_NORMAL );
+		m_user_menu_mute->Append( modmuteitem );
+		wxMenuItem* modmute5item = new wxMenuItem( m_user_menu_mute, CHAT_MENU_US_MODERATOR_MUTE_5, _( "Mute for 5 minutes" ) , wxEmptyString, wxITEM_NORMAL );
+		m_user_menu_mute->Append( modmute5item );
+		wxMenuItem* modmute10item = new wxMenuItem( m_user_menu_mute, CHAT_MENU_US_MODERATOR_MUTE_10, _( "Mute for 10 minutes" ), wxEmptyString, wxITEM_NORMAL );
+		m_user_menu_mute->Append( modmute10item );
+		wxMenuItem* modmute30item = new wxMenuItem( m_user_menu_mute, CHAT_MENU_US_MODERATOR_MUTE_30, _( "Mute for 30 minutes" ), wxEmptyString, wxITEM_NORMAL );
+		m_user_menu_mute->Append( modmute30item );
+		wxMenuItem* modmute120item = new wxMenuItem( m_user_menu_mute, CHAT_MENU_US_MODERATOR_MUTE_120, _( "Mute for 2 hours" ) , wxEmptyString, wxITEM_NORMAL );
+		m_user_menu_mute->Append( modmute120item );
+		wxMenuItem* modmute1440item = new wxMenuItem( m_user_menu_mute, CHAT_MENU_US_MODERATOR_MUTE_1440, _( "Mute for 1 day" ), wxEmptyString, wxITEM_NORMAL );
+		m_user_menu_mute->Append( modmute1440item );
+		m_user_menu_mute->AppendSeparator();
+		wxMenuItem* modunmuteitem = new wxMenuItem( m_user_menu_mute, CHAT_MENU_US_MODERATOR_UNMUTE, _( "Unmute" ), wxEmptyString, wxITEM_NORMAL );
+		m_user_menu_mute->Append( modunmuteitem );
+		m_user_menu->Append( -1, _( "Mute" ), m_user_menu_mute );
+
+		wxMenuItem* modkickitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_MODERATOR_KICK, _( "Kick..." ), wxEmptyString, wxITEM_NORMAL );
+		m_user_menu->Append( modkickitem );
+
+		m_user_menu->AppendSeparator();
+		wxMenuItem* modbanitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_MODERATOR_BAN, _( "Ban..." ), wxEmptyString, wxITEM_NORMAL );
+		m_user_menu->Append( modbanitem );
+		wxMenuItem* modunbanitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_MODERATOR_UNBAN, _( "Unban" ), wxEmptyString, wxITEM_NORMAL );
+		m_user_menu->Append( modunbanitem );
+
+		m_user_menu->AppendSeparator();
+		wxMenuItem* modringitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_MODERATOR_RING, _( "Ring" ), wxEmptyString, wxITEM_NORMAL );
+		m_user_menu->Append( modringitem );
+		//m_user_menu->Append( -1, _("Moderator"), m_user_menu );
+	} else {
+		wxMenuItem* slapitem = new wxMenuItem( m_user_menu, CHAT_MENU_US_SLAP, _( "Slap!" ), wxEmptyString, wxITEM_NORMAL );
+		m_user_menu->Append( slapitem );
+	}
+
+    if ( m_chatpanel->m_type != CPT_User ) {
+        m_user_menu->AppendSeparator();
+        wxMenu* m_chanserv;
+        m_chanserv = new wxMenu();
+        wxMenuItem* chmuteitem = new wxMenuItem( m_chanserv, CHAT_MENU_US_MUTE, _( "Mute..." ), wxEmptyString, wxITEM_NORMAL );
+        m_chanserv->Append( chmuteitem );
+        wxMenuItem* chunmuteitem = new wxMenuItem( m_chanserv, CHAT_MENU_US_UNMUTE, _( "Unmute" ), wxEmptyString, wxITEM_NORMAL );
+        m_chanserv->Append( chunmuteitem );
+        m_chanserv->AppendSeparator();
+        wxMenuItem* chkickitem = new wxMenuItem( m_chanserv, CHAT_MENU_US_KICK, _( "Kick..." ), wxEmptyString, wxITEM_NORMAL );
+        m_chanserv->Append( chkickitem );
+
+        m_chanserv->AppendSeparator();
+        wxMenuItem* chopitem = new wxMenuItem( m_chanserv, CHAT_MENU_US_OP, _( "Op" ), wxEmptyString, wxITEM_NORMAL );
+        m_chanserv->Append( chopitem );
+        wxMenuItem* chdeopitem = new wxMenuItem( m_chanserv, CHAT_MENU_US_DEOP, _( "DeOp" ), wxEmptyString, wxITEM_NORMAL );
+        m_chanserv->Append( chdeopitem );
+        m_user_menu->Append( -1, _( "ChanServ" ), m_chanserv );
+    }
+}
+
+ChatPanelMenu::UserMenu* ChatPanelMenu::GetUserMenu()
+{
+    CreateNickListMenu();
+    return m_user_menu;
+}
+
+
+void ChatPanelMenu::OnUserMenuCopyLink( wxCommandEvent& /*unused*/ )
+{
+    CopyToClipboard( m_chatpanel->m_url_at_pos );
+    m_chatpanel->m_url_at_pos = _T("");
+}
+
+
+
+//////////////////////////////////////////////////////////////////////////////////////
+// Menu Events
+//////////////////////////////////////////////////////////////////////////////////////
+
+
+
+void ChatPanelMenu::OnChannelMenuLeave( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	m_chatpanel->Part();
+	m_chatpanel->SetChannel( 0 );
+}
+
+
+void ChatPanelMenu::OnChannelMenuDisplayJoinLeave( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( !displayjoinitem->IsChecked() ) {
+		sett().SetDisplayJoinLeave( false, m_chatpanel->m_channel->GetName() );
+		displayjoinitem->Check( false );
+	} else {
+		sett().SetDisplayJoinLeave( true, m_chatpanel->m_channel->GetName() );
+		displayjoinitem->Check( true );
+	}
+}
+
+
+void ChatPanelMenu::OnChannelAutoJoin( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( m_autorejoin == 0 ) return;
+
+	if ( m_autorejoin->IsChecked() ) {
+			sett().AddChannelJoin( m_chatpanel->m_channel->GetName(), m_chatpanel->m_channel->GetPassword() );
+			m_autorejoin->Check( true );
+	} else {
+		sett().RemoveChannelJoin( m_chatpanel->m_channel->GetName() );
+		m_autorejoin->Check( false );
+	}
+}
+
+
+void ChatPanelMenu::OnChannelMenuInfo( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( !m_chatpanel->m_channel->UserExists( _T( "ChanServ" ) ) ) {
+		ui().ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
+		return;
+	}
+	User& cs = m_chatpanel->m_channel->GetUser( _T( "ChanServ" ) );
+
+	cs.Say( _T( "!INFO #" ) + m_chatpanel->m_channel->GetName() );
+	//INFO /<channame>/
+}
+
+
+void ChatPanelMenu::OnChannelMenuTopic( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( !m_chatpanel->m_channel->UserExists( _T( "ChanServ" ) ) ) {
+		ui().ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
+		return;
+	}
+	User& cs = m_chatpanel->m_channel->GetUser( _T( "ChanServ" ) );
+
+	wxString topic = m_chatpanel->m_channel->GetTopic();
+	if ( !ui().AskText( _( "Set topic..." ), _( "What should be the new topic?" ), topic, wxOK | wxCANCEL | wxCENTRE | wxTE_MULTILINE ) ) return;
+	topic.Replace( _T("\n"), _T("\\n") );
+	cs.Say( _T( "!TOPIC #" ) + m_chatpanel->m_channel->GetName() + _T( " " ) + topic );
+	//TOPIC /<channame>/ {topic}
+}
+
+
+void ChatPanelMenu::OnChannelMenuMessage( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( !m_chatpanel->m_channel->UserExists( _T( "ChanServ" ) ) ) {
+		ui().ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
+		return;
+	}
+	User& cs = m_chatpanel->m_channel->GetUser( _T( "ChanServ" ) );
+
+	wxString text;
+if ( !ui().AskText( _( "Channel message..." ), _( "Message:" ), text ) ) return;
+
+	cs.Say( _T( "!CHANMSG #" ) + m_chatpanel->m_channel->GetName() + _T( " " ) + text );
+	//CHANMSG /<channame>/ {message}
+}
+
+
+void ChatPanelMenu::OnChannelMenuLock( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( !m_chatpanel->m_channel->UserExists( _T( "ChanServ" ) ) ) {
+		ui().ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
+		return;
+	}
+	User& cs = m_chatpanel->m_channel->GetUser( _T( "ChanServ" ) );
+
+	wxString text;
+	if ( !ui().AskText( _( "Lock channel..." ), _( "What should the new password be?" ), text ) ) return;
+
+	cs.Say( _T( "!LOCK #" ) + m_chatpanel->m_channel->GetName() + _T( " " ) + text );
+	//LOCK /<channame>/ <key>
+}
+
+
+void ChatPanelMenu::OnChannelMenuUnlock( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( !m_chatpanel->m_channel->UserExists( _T( "ChanServ" ) ) ) {
+		ui().ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
+		return;
+	}
+	User& cs = m_chatpanel->m_channel->GetUser( _T( "ChanServ" ) );
+
+	if ( !ui().Ask( _( "Unlock Channel" ), _( "Are you sure you want to unlock this channel?" ) ) ) return;
+
+	cs.Say( _T( "!UNLOCK #" ) + m_chatpanel->m_channel->GetName() );
+	//UNLOCK /<channame>/
+}
+
+
+void ChatPanelMenu::OnChannelMenuRegister( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( !m_chatpanel->m_channel->GetServer().UserExists( _T( "ChanServ" ) ) ) {
+		ui().ShowMessage( _( "ChanServ error" ), _( "ChanServ is not on this server." ) );
+		return;
+	}
+	User& cs = m_chatpanel->m_channel->GetServer().GetUser( _T( "ChanServ" ) );
+
+	wxString text = m_chatpanel->m_channel->GetMe().GetNick();
+	if ( !ui().AskText( _( "Register Channel" ), _( "Who should be appointed founder of this channel?" ), text ) ) return;
+
+	cs.Say( _T( "!REGISTER #" ) + m_chatpanel->m_channel->GetName() + _T( " " ) + text );
+	//REGISTER <channame> <founder>
+}
+
+
+void ChatPanelMenu::OnChannelMenuUnregister( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( !m_chatpanel->m_channel->GetServer().UserExists( _T( "ChanServ" ) ) ) {
+		ui().ShowMessage( _( "ChanServ error" ), _( "ChanServ is not on this server." ) );
+		return;
+	}
+	User& cs = m_chatpanel->m_channel->GetServer().GetUser( _T( "ChanServ" ) );
+
+	if ( !ui().Ask( _( "Unregister Channel" ), _( "Are you sure you want to unregister this channel?" ) ) ) return;
+
+	cs.Say( _T( "!UNREGISTER #" ) + m_chatpanel->m_channel->GetName() );
+	//UNREGISTER <channame>
+}
+
+
+void ChatPanelMenu::OnChannelMenuSpamOn( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( !m_chatpanel->m_channel->UserExists( _T( "ChanServ" ) ) ) {
+		ui().ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
+		return;
+	}
+	User& cs = m_chatpanel->m_channel->GetUser( _T( "ChanServ" ) );
+
+	cs.Say( _T( "!SPAMPROTECTION #" ) + m_chatpanel->m_channel->GetName() + _T( " on" ) );
+	//SPAMPROTECTION /<channame>/ <on|off>
+}
+
+
+void ChatPanelMenu::OnChannelMenuSpanOff( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( !m_chatpanel->m_channel->UserExists( _T( "ChanServ" ) ) ) {
+		ui().ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
+		return;
+	}
+	User& cs = m_chatpanel->m_channel->GetUser( _T( "ChanServ" ) );
+
+	cs.Say( _T( "!SPAMPROTECTION #" ) + m_chatpanel->m_channel->GetName() + _T( " off" ) );
+	//SPAMPROTECTION /<channame>/ <on|off>
+}
+
+
+void ChatPanelMenu::OnChannelMenuSpamIsOn( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( !m_chatpanel->m_channel->UserExists( _T( "ChanServ" ) ) ) {
+		ui().ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
+		return;
+	}
+	User& cs = m_chatpanel->m_channel->GetUser( _T( "ChanServ" ) );
+
+	cs.Say( _T( "!SPAMPROTECTION #" ) + m_chatpanel->m_channel->GetName() );
+	//SPAMPROTECTION /<channame>/
+}
+
+
+void ChatPanelMenu::OnServerMenuDisconnect( wxCommandEvent& /*unused*/ )
+{
+	ui().Disconnect();
+}
+
+
+void ChatPanelMenu::OnServerMenuReconnect( wxCommandEvent& /*unused*/ )
+{
+	ui().Reconnect();
+}
+
+
+void ChatPanelMenu::OnServerMenuRemove( wxCommandEvent& /*unused*/ )
+{
+	wxString user;
+	if ( !ui().AskText( _( "Remove User Acount" ), _( "What user account do you want to remove today?" ), user ) ) return;
+	if ( !ui().Ask( _( "Remove Account" ), _( "Are you sure you want to remove the account " ) + user + _T( "?" ) ) ) return;
+	m_chatpanel->Say( _T( "removeaccount " ) + user );
+}
+
+
+void ChatPanelMenu::OnServerMenuChangePassword( wxCommandEvent& /*unused*/ )
+{
+	wxString user, password;
+	if ( !ui().AskText( _( "Change User Acount Password" ), _( "What user account do you want to change the password for?" ), user ) ) return;
+	if ( !ui().AskPassword( _( "Change User Acount Password" ), _( "What would be the new password?" ), password ) ) return;
+	m_chatpanel->Say( _T( "changeaccountpass " ) + user + _T( " " ) + password );
+}
+
+
+void ChatPanelMenu::OnServerMenuSetAccess( wxCommandEvent& /*unused*/ )
+{
+	ui().ShowMessage( _( "Error" ), _( "Not Implemented" ) );
+}
+
+
+void ChatPanelMenu::OnServerMenuBroadcast( wxCommandEvent& /*unused*/ )
+{
+	wxString msg;
+	if ( !ui().AskText( _( "Broadcast Message" ), _( "Message to be broadcasted:" ), msg ) ) return;
+	m_chatpanel->Say( _T( "broadcast " ) + msg );
+}
+
+
+void ChatPanelMenu::OnUserMenuOpenChat( wxCommandEvent& /*unused*/ )
+{
+	const User* user = m_chatpanel->GetSelectedUser();
+	if ( user == 0 ) return;
+
+	ui().mw().OpenPrivateChat( *user );
+}
+
+
+void ChatPanelMenu::OnUserMenuJoinSame( wxCommandEvent& /*unused*/ )
+{
+	const User* user = m_chatpanel->GetSelectedUser();
+	if ( user == 0 ) return;
+	Battle* battle = user->GetBattle();
+	if ( battle == 0 ) return;
+
+	if ( !usync().ModExists( battle->GetHostModName() ) ) {
+		customMessageBoxNoModal( SL_MAIN_ICON, _( "You don't have the mod " ) + battle->GetHostModName()
+														 + _( " . Please download it first" ), _( "Mod unavailable" ) );
+		return;
+	}
+
+	wxString password;
+	if ( battle->IsPassworded() ) {
+		if ( !ui().AskPassword( _( "Battle password" ), _( "This battle is password protected, enter the password." ), password ) ) return;
+	}
+	battle->Join( password );
+}
+
+
+void ChatPanelMenu::OnUserMenuSlap( wxCommandEvent& /*unused*/ )
+{
+	const User* user = m_chatpanel->GetSelectedUser();
+	if ( user == 0 ) return;
+
+	if ( m_chatpanel->m_type == CPT_Channel ) {
+		if ( m_chatpanel->m_channel == 0 ) return;
+		m_chatpanel->m_channel->DoAction( _T( "Slaps " ) + user->GetNick() + _T( " around with a large PeeWee!" ) );
+	} else if ( m_chatpanel->m_type == CPT_User ) {
+		if ( m_chatpanel->m_user == 0 ) return;
+		m_chatpanel->m_user->DoAction( _T( "slaps " ) + user->GetNick() + _T( " around with a large PeeWee!" ) );
+	}
+}
+
+
+void ChatPanelMenu::OnUserMenuMute( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( !m_chatpanel->m_channel->UserExists( _T( "ChanServ" ) ) ) {
+		ui().ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
+		return;
+	}
+
+	wxString mutetime = _T( "5" );
+	if ( !ui().AskText( _( "Mute User" ), _( "For how many minutes should the user be muted?" ), mutetime ) ) return;
+
+	User& cs = m_chatpanel->m_channel->GetUser( _T( "ChanServ" ) );
+
+	const User* user = m_chatpanel->GetSelectedUser();
+	if ( user == 0 ) return;
+
+	cs.Say( _T( "!MUTE #" ) + m_chatpanel->m_channel->GetName() + _T( " " ) + user->GetNick() + _T( " " ) + mutetime );
+	//MUTE /<channame>/ <username> [<duration>]
+
+}
+
+
+void ChatPanelMenu::OnUserMenuUnmute( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( !m_chatpanel->m_channel->UserExists( _T( "ChanServ" ) ) ) {
+		ui().ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
+		return;
+	}
+	User& cs = m_chatpanel->m_channel->GetUser( _T( "ChanServ" ) );
+
+	const User* user = m_chatpanel->GetSelectedUser();
+	if ( user == 0 ) return;
+
+	cs.Say( _T( "!UNMUTE #" ) + m_chatpanel->m_channel->GetName() + _T( " " ) + user->GetNick() );
+	//UNMUTE /<channame>/ <username>
+}
+
+
+void ChatPanelMenu::OnUserMenuKick( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( !m_chatpanel->m_channel->UserExists( _T( "ChanServ" ) ) ) {
+		ui().ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
+		return;
+	}
+
+	const User* user = m_chatpanel->GetSelectedUser();
+	if ( user == 0 ) return;
+
+	wxString msg;
+	if ( !ui().AskText( _( "Kick User" ), _( "Reason:" ), msg ) ) return;
+
+	User& cs = m_chatpanel->m_channel->GetUser( _T( "ChanServ" ) );
+
+	if ( msg != wxEmptyString ) msg = _T( " " ) + msg;
+	cs.Say( _T( "!KICK #" ) + m_chatpanel->m_channel->GetName() + _T( " " ) + user->GetNick() + msg );
+	//KICK /<channame>/ <username> [{reason}]
+}
+
+
+void ChatPanelMenu::OnUserMenuOp( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( !m_chatpanel->m_channel->UserExists( _T( "ChanServ" ) ) ) {
+		ui().ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
+		return;
+	}
+
+	const User* user = m_chatpanel->GetSelectedUser();
+	if ( user == 0 ) return;
+	User& cs = m_chatpanel->m_channel->GetUser( _T( "ChanServ" ) );
+
+	cs.Say( _T( "!OP #" ) + m_chatpanel->m_channel->GetName() + _T( " " ) + user->GetNick() );
+	//OP /<channame>/ <username>
+}
+
+
+void ChatPanelMenu::OnUserMenuDeop( wxCommandEvent& /*unused*/ )
+{
+	if ( m_chatpanel->m_channel == 0 ) return;
+	if ( !m_chatpanel->m_channel->UserExists( _T( "ChanServ" ) ) ) {
+		ui().ShowMessage( _( "ChanServ error" ), _( "ChanServ is not in this channel." ) );
+		return;
+	}
+
+	const User* user = m_chatpanel->GetSelectedUser();
+	if ( user == 0 ) return;
+	User& cs = m_chatpanel->m_channel->GetUser( _T( "ChanServ" ) );
+
+	cs.Say( _T( "!DEOP #" ) + m_chatpanel->m_channel->GetName() + _T( " " ) + user->GetNick() );
+	//DEOP /<channame>/ <username>
+}
+
+
+void ChatPanelMenu::OnUserMenuModeratorIngame( wxCommandEvent& /*unused*/ )
+{
+	ui().GetServer().RequestInGameTime( m_chatpanel->GetSelectedUser()->GetNick() );
+}
+
+
+void ChatPanelMenu::OnUserMenuModeratorCurrentIP( wxCommandEvent& /*unused*/ )
+{
+	ui().GetServer().ModeratorGetIP( m_chatpanel->GetSelectedUser()->GetNick() );
+}
+
+
+void ChatPanelMenu::OnUserMenuModeratorKick( wxCommandEvent& /*unused*/ )
+{
+	wxString reason;
+	if ( !ui().AskText( _( "Kick user" ), _( "Reason:" ), reason ) ) return;
+	ui().GetServer().ModeratorKick( m_chatpanel->GetSelectedUser()->GetNick(), reason );
+}
+
+
+void ChatPanelMenu::OnUserMenuModeratorBan( wxCommandEvent& /*unused*/ )
+{
+	ui().ShowMessage( _( "Error" ), _( "Not Implemented" ) );
+}
+
+
+void ChatPanelMenu::OnUserMenuModeratorUnban( wxCommandEvent& /*unused*/ )
+{
+	ui().ShowMessage( _( "Error" ), _( "Not Implemented" ) );
+}
+
+
+void ChatPanelMenu::OnUserMenuModeratorMute( wxCommandEvent& /*unused*/ )
+{
+	wxString duration;
+	if ( !ui().AskText( _( "Mute user" ), _( "Duration:" ), duration ) ) return;
+	long int dur = 0;
+	duration.ToLong( &dur, dur );
+	ui().GetServer().ModeratorMute( m_chatpanel->m_channel->GetName(), m_chatpanel->GetSelectedUser()->GetNick(), ( int ) dur, true );
+}
+
+
+void ChatPanelMenu::OnUserMenuModeratorMute5( wxCommandEvent& /*unused*/ )
+{
+	ui().GetServer().ModeratorMute( m_chatpanel->m_channel->GetName(), m_chatpanel->GetSelectedUser()->GetNick(), 5, true );
+}
+
+
+void ChatPanelMenu::OnUserMenuModeratorMute10( wxCommandEvent& /*unused*/ )
+{
+	ui().GetServer().ModeratorMute( m_chatpanel->m_channel->GetName(), m_chatpanel->GetSelectedUser()->GetNick(), 10, true );
+}
+
+
+void ChatPanelMenu::OnUserMenuModeratorMute30( wxCommandEvent& /*unused*/ )
+{
+	ui().GetServer().ModeratorMute( m_chatpanel->m_channel->GetName(), m_chatpanel->GetSelectedUser()->GetNick(), 30, true );
+}
+
+
+void ChatPanelMenu::OnUserMenuModeratorMute120( wxCommandEvent& /*unused*/ )
+{
+	ui().GetServer().ModeratorMute( m_chatpanel->m_channel->GetName(), m_chatpanel->GetSelectedUser()->GetNick(), 120, true );
+}
+
+
+void ChatPanelMenu::OnUserMenuModeratorMute1440( wxCommandEvent& /*unused*/ )
+{
+	ui().GetServer().ModeratorMute( m_chatpanel->m_channel->GetName(), m_chatpanel->GetSelectedUser()->GetNick(), 1440, true );
+}
+
+
+
+void ChatPanelMenu::OnUserMenuModeratorUnmute( wxCommandEvent& /*unused*/ )
+{
+	ui().GetServer().ModeratorUnmute( m_chatpanel->m_channel->GetName(), m_chatpanel->GetSelectedUser()->GetNick() );
+}
+
+
+void ChatPanelMenu::OnUserMenuModeratorRing( wxCommandEvent& /*unused*/ )
+{
+	ui().GetServer().Ring( m_chatpanel->GetSelectedUser()->GetNick() );
+}
+
+void ChatPanelMenu::OnMenuToggleAppend( wxCommandEvent& /*unused*/ )
+{
+  m_chatpanel->m_disable_append = m_append_menu->IsChecked();
+  if ( !m_chatpanel->m_disable_append )
+  {
+    for ( std::vector<ChatLine>::iterator iter = m_chatpanel->m_buffer.begin(); iter < m_chatpanel->m_buffer.end() ; iter++ )
+        m_chatpanel->OutputLine( *iter );
+    m_chatpanel->m_buffer.clear();
+  }
+}
+
+void ChatPanelMenu::OnChannelMenuShowMutelist( wxCommandEvent& /*unused*/ )
+{
+    if ( m_chatpanel->m_channel && ( m_chatpanel->m_type == CPT_Channel ) ) {
+       m_chatpanel->m_channel->GetServer().SendRaw( _T("MUTELIST ") + m_chatpanel->m_channel->GetName() );
+    }
+}
+
+void ChatPanelMenu::OnChatMenuOpenLog( wxCommandEvent& event )
+{
+    m_chatpanel->m_chat_log.OpenInEditor();
+}
+
+void ChatPanelMenu::OnChannelClearContents( wxCommandEvent& /*unused*/ )
+{
+    m_chatpanel->m_chatlog_text->SetValue( _T("") );
+}
+
+void ChatPanelMenu::OnUserMenuAddToGroup( wxCommandEvent& event )
+{
+    int id  = event.GetId();
+    if ( m_user_menu ) {
+        wxString groupname = m_user_menu->GetGroupByEvtID(id);
+        const User* user = m_chatpanel->GetSelectedUser();
+        if ( user )
+            useractions().AddUserToGroup( groupname, user->GetNick() );
+    }
+}
+
+void ChatPanelMenu::OnUserMenuDeleteFromGroup( wxCommandEvent& /*unused*/ )
+{
+    const User* user = m_chatpanel->GetSelectedUser();
+    if ( user )
+        useractions().RemoveUser( user->GetNick() );
+}
+
+void ChatPanelMenu::OnUserMenuCreateGroup( wxCommandEvent& /*unused*/ )
+{
+    wxString name;
+    if ( ui().AskText( _("Enter name"),
+        _("Please enter the name for the new group.\nAfter clicking ok you will be taken to adjust its settings."), name ) )
+    {
+        const User* user = m_chatpanel->GetSelectedUser();
+        if ( user ) {
+            useractions().AddGroup( name );
+            useractions().AddUserToGroup( name, user->GetNick() );
+            ui().mw().ShowConfigure( MainWindow::OPT_PAGE_GROUPS );
+        }
+        else
+            customMessageBoxNoModal( SL_MAIN_ICON, _("couldn't add user"), _("Error") );
+    }
+}
+
+void ChatPanelMenu::OnMenuItem( wxCommandEvent& event )
+{
+    if ( event.GetId() == CHAT_MENU_SHOW_MUTELIST ) OnChannelMenuShowMutelist( event );
+    else if ( event.GetId() == CHAT_MENU_DISABLE_APPEND ) OnMenuToggleAppend( event );
+
+    else if ( event.GetId() == CHAT_MENU_CH_LEAVE ) OnChannelMenuLeave( event );
+    else if ( event.GetId() == CHAT_MENU_CH_DISPLAYJOIN ) OnChannelMenuDisplayJoinLeave( event );
+    else if ( event.GetId() == CHAT_MENU_CH_AUTOJOIN ) OnChannelAutoJoin( event );
+
+    else if ( event.GetId() == CHAT_MENU_CH_CLEAR ) OnChannelClearContents( event );
+
+    else if ( event.GetId() == CHAT_MENU_SV_DISCON ) OnServerMenuDisconnect( event );
+    else if ( event.GetId() == CHAT_MENU_SV_RECON ) OnServerMenuReconnect( event );
+    else if ( event.GetId() == CHAT_MENU_SV_REMOVE ) OnServerMenuRemove( event );
+    else if ( event.GetId() == CHAT_MENU_SV_CHPWD ) OnServerMenuChangePassword( event );
+    else if ( event.GetId() == CHAT_MENU_SV_ACCESS ) OnServerMenuSetAccess( event );
+    else if ( event.GetId() == CHAT_MENU_SV_BROADCAST ) OnServerMenuBroadcast( event );
+
+    else if ( event.GetId() == CHAT_MENU_US_CHAT ) OnUserMenuOpenChat( event );
+    else if ( event.GetId() == CHAT_MENU_US_JOIN ) OnUserMenuJoinSame( event );
+    else if ( event.GetId() == CHAT_MENU_US_SLAP ) OnUserMenuSlap( event );
+
+    else if ( event.GetId() == CHAT_MENU_US_MUTE ) OnUserMenuMute( event );
+    else if ( event.GetId() == CHAT_MENU_US_UNMUTE ) OnUserMenuUnmute( event );
+    else if ( event.GetId() == CHAT_MENU_US_KICK ) OnUserMenuKick( event );
+    else if ( event.GetId() == CHAT_MENU_US_OP ) OnUserMenuOp( event );
+    else if ( event.GetId() == CHAT_MENU_US_DEOP ) OnUserMenuDeop( event );
+    else if ( event.GetId() == CHAT_MENU_US_MODERATOR_INGAME ) OnUserMenuModeratorIngame( event );
+    else if ( event.GetId() == CHAT_MENU_US_MODERATOR_CURIP ) OnUserMenuModeratorCurrentIP( event );
+    else if ( event.GetId() == CHAT_MENU_US_MODERATOR_KICK ) OnUserMenuModeratorKick( event );
+    else if ( event.GetId() == CHAT_MENU_US_MODERATOR_BAN ) OnUserMenuModeratorBan( event );
+    else if ( event.GetId() == CHAT_MENU_US_MODERATOR_UNBAN ) OnUserMenuModeratorUnban( event );
+    else if ( event.GetId() == CHAT_MENU_US_MODERATOR_MUTE ) OnUserMenuModeratorMute( event );
+    else if ( event.GetId() == CHAT_MENU_US_MODERATOR_MUTE_5 ) OnUserMenuModeratorMute5( event );
+    else if ( event.GetId() == CHAT_MENU_US_MODERATOR_MUTE_10 ) OnUserMenuModeratorMute10( event );
+    else if ( event.GetId() == CHAT_MENU_US_MODERATOR_MUTE_30 ) OnUserMenuModeratorMute30( event );
+    else if ( event.GetId() == CHAT_MENU_US_MODERATOR_MUTE_120 ) OnUserMenuModeratorMute120( event );
+    else if ( event.GetId() == CHAT_MENU_US_MODERATOR_MUTE_1440 ) OnUserMenuModeratorMute1440( event );
+    else if ( event.GetId() == CHAT_MENU_US_MODERATOR_UNMUTE ) OnUserMenuModeratorUnmute( event );
+    else if ( event.GetId() == CHAT_MENU_US_MODERATOR_RING ) OnUserMenuModeratorRing( event );
+
+    else if ( event.GetId() == CHAT_MENU_COPYLINK ) OnUserMenuCopyLink( event );
+
+    else if ( event.GetId() == CHAT_MENU_LOG_OPEN ) OnChatMenuOpenLog( event );
+
+
+    else if ( event.GetId() == CHAT_MENU_CH_INFO ) OnChannelMenuInfo( event );
+    else if ( event.GetId() == CHAT_MENU_CH_LOCK ) OnChannelMenuLock( event );
+    else if ( event.GetId() == CHAT_MENU_CH_UNLOCK ) OnChannelMenuUnlock( event );
+    else if ( event.GetId() == CHAT_MENU_CH_REG ) OnChannelMenuRegister( event );
+    else if ( event.GetId() == CHAT_MENU_CH_UNREG ) OnChannelMenuUnregister( event );
+    else if ( event.GetId() == CHAT_MENU_CH_SPAM_ON ) OnChannelMenuSpamOn( event );
+    else if ( event.GetId() == CHAT_MENU_CH_SPAM_OFF ) OnChannelMenuSpanOff( event );
+    else if ( event.GetId() == CHAT_MENU_CH_SPAM_ISON ) OnChannelMenuSpamIsOn( event );
+    else if ( event.GetId() == CHAT_MENU_CH_TOPIC ) OnChannelMenuTopic( event );
+    else if ( event.GetId() == CHAT_MENU_CH_MSG ) OnChannelMenuMessage( event );
+
+    else if ( event.GetId() == GROUP_ID_NEW  ) OnUserMenuCreateGroup( event );
+    else if ( event.GetId() == GROUP_ID_REMOVE  ) OnUserMenuDeleteFromGroup( event );
+    else OnUserMenuAddToGroup( event );
+
+}
diff --git a/src/chatpanelmenu.h b/src/chatpanelmenu.h
new file mode 100644
index 0000000..a0cdb0b
--- /dev/null
+++ b/src/chatpanelmenu.h
@@ -0,0 +1,163 @@
+#ifndef SPRINGLOBBY_HEADERGUARD_CHATPANELMENU_H
+#define SPRINGLOBBY_HEADERGUARD_CHATPANELMENU_H
+
+#include <wx/menu.h>
+#include "usermenu.h"
+
+//! seperating this into a friend class enables us to re-use it in the tab header right click evt
+class ChatPanelMenu : public wxEvtHandler {
+    public:
+        typedef SL_GENERIC::UserMenu<ChatPanelMenu>
+            UserMenu;
+
+        ChatPanelMenu(ChatPanel* parent, bool addChanServ = true, const wxString& title = wxEmptyString, long style = 0);
+        UserMenu* GetUserMenu();
+
+        void OnMenuToggleAppend( wxCommandEvent& event );
+
+        void OnChannelMenuLeave( wxCommandEvent& event );
+        void OnChannelMenuDisplayJoinLeave( wxCommandEvent& event );
+        void OnChannelAutoJoin( wxCommandEvent& event );
+        void OnChannelMenuInfo( wxCommandEvent& event );
+        void OnChannelMenuTopic( wxCommandEvent& event );
+        void OnChannelMenuMessage( wxCommandEvent& event );
+        void OnChannelMenuLock( wxCommandEvent& event );
+        void OnChannelMenuUnlock( wxCommandEvent& event );
+        void OnChannelMenuRegister( wxCommandEvent& event );
+        void OnChannelMenuUnregister( wxCommandEvent& event );
+        void OnChannelMenuSpamOn( wxCommandEvent& event );
+        void OnChannelMenuSpanOff( wxCommandEvent& event );
+        void OnChannelMenuSpamIsOn( wxCommandEvent& event );
+        void OnChannelMenuShowMutelist( wxCommandEvent& event );
+
+        void OnServerMenuDisconnect( wxCommandEvent& event );
+        void OnServerMenuReconnect( wxCommandEvent& event );
+        void OnServerMenuRemove( wxCommandEvent& event );
+        void OnServerMenuChangePassword( wxCommandEvent& event );
+        void OnServerMenuSetAccess( wxCommandEvent& event );
+        void OnServerMenuBroadcast( wxCommandEvent& event );
+
+        void OnUserMenuOpenChat( wxCommandEvent& event );
+        void OnUserMenuJoinSame( wxCommandEvent& event );
+        void OnUserMenuSlap( wxCommandEvent& event );
+        void OnUserMenuMute( wxCommandEvent& event );
+        void OnUserMenuUnmute( wxCommandEvent& event );
+        void OnUserMenuKick( wxCommandEvent& event );
+        void OnUserMenuOp( wxCommandEvent& event );
+        void OnUserMenuDeop( wxCommandEvent& event );
+        void OnUserMenuModeratorIngame( wxCommandEvent& event );
+        void OnUserMenuModeratorCurrentIP( wxCommandEvent& event );
+        void OnUserMenuModeratorKick( wxCommandEvent& event );
+        void OnUserMenuModeratorBan( wxCommandEvent& event );
+        void OnUserMenuModeratorUnban( wxCommandEvent& event );
+        void OnUserMenuModeratorMute( wxCommandEvent& event );
+        void OnUserMenuModeratorMute5( wxCommandEvent& event );
+        void OnUserMenuModeratorMute10( wxCommandEvent& event );
+        void OnUserMenuModeratorMute30( wxCommandEvent& event );
+        void OnUserMenuModeratorMute120( wxCommandEvent& event );
+        void OnUserMenuModeratorMute1440( wxCommandEvent& event );
+        void OnUserMenuModeratorUnmute( wxCommandEvent& event );
+        void OnUserMenuModeratorRing( wxCommandEvent& event );
+
+        void OnUserMenuCopyLink( wxCommandEvent& event );
+
+        void OnChatMenuOpenLog( wxCommandEvent& event );
+
+        void OnChannelClearContents( wxCommandEvent& event );
+
+        void OnUserMenuAddToGroup( wxCommandEvent& event );
+        void OnUserMenuDeleteFromGroup( wxCommandEvent& event );
+        void OnUserMenuCreateGroup( wxCommandEvent& event );
+
+        void OnMenuItem( wxCommandEvent& event );
+
+        wxMenu* GetMenu();
+
+    protected:
+        void CreateNickListMenu();
+
+        ChatPanel* m_chatpanel;
+
+        UserMenu* m_user_menu;
+        wxMenu* m_menu_all;
+
+        wxMenuItem* displayjoinitem;
+        wxMenuItem* m_autorejoin;
+        wxMenuItem* m_append_menu;
+
+        bool m_withChanserv;
+
+};
+
+
+static const long CHAT_MENU_SHOW_MUTELIST           = wxNewId();
+static const long CHAT_MENU_DISABLE_APPEND          = wxNewId();
+
+static const long CHAT_MENU_CH_LEAVE                = wxNewId();
+static const long CHAT_MENU_CH_DISPLAYJOIN          = wxNewId();
+static const long CHAT_MENU_CH_AUTOJOIN             = wxNewId();
+
+static const long CHAT_MENU_CH_TOPIC                = wxNewId();
+static const long CHAT_MENU_CH_INFO                 = wxNewId();
+static const long CHAT_MENU_CH_MSG                  = wxNewId();
+static const long CHAT_MENU_CH_LOCK                 = wxNewId();
+static const long CHAT_MENU_CH_UNLOCK               = wxNewId();
+static const long CHAT_MENU_CH_REG                  = wxNewId();
+static const long CHAT_MENU_CH_UNREG                = wxNewId();
+static const long CHAT_MENU_CH_SPAM_ON              = wxNewId();
+static const long CHAT_MENU_CH_SPAM_OFF             = wxNewId();
+static const long CHAT_MENU_CH_SPAM_ISON            = wxNewId();
+static const long CHAT_MENU_CH_CLEAR                = wxNewId();
+
+static const long CHAT_MENU_SV_DISCON               = wxNewId();
+static const long CHAT_MENU_SV_RECON                = wxNewId();
+static const long CHAT_MENU_SV_REMOVE               = wxNewId();
+static const long CHAT_MENU_SV_CHPWD                = wxNewId();
+static const long CHAT_MENU_SV_ACCESS               = wxNewId();
+static const long CHAT_MENU_SV_BROADCAST            = wxNewId();
+
+static const long CHAT_MENU_US_CHAT                 = wxNewId();
+static const long CHAT_MENU_US_JOIN                 = wxNewId();
+static const long CHAT_MENU_US_SLAP                 = wxNewId();
+//static const long CHAT_MENU_US_ADD_TO_GROUP         = wxNewId();
+static const long CHAT_MENU_US_MUTE                 = wxNewId();
+static const long CHAT_MENU_US_UNMUTE               = wxNewId();
+static const long CHAT_MENU_US_KICK                 = wxNewId();
+static const long CHAT_MENU_US_OP                   = wxNewId();
+static const long CHAT_MENU_US_DEOP                 = wxNewId();
+static const long CHAT_MENU_US_MODERATOR_INGAME     = wxNewId();
+static const long CHAT_MENU_US_MODERATOR_CURIP      = wxNewId();
+static const long CHAT_MENU_US_MODERATOR_KICK       = wxNewId();
+static const long CHAT_MENU_US_MODERATOR_BAN        = wxNewId();
+static const long CHAT_MENU_US_MODERATOR_UNBAN      = wxNewId();
+static const long CHAT_MENU_US_MODERATOR_MUTE       = wxNewId();
+static const long CHAT_MENU_US_MODERATOR_MUTE_5     = wxNewId();
+static const long CHAT_MENU_US_MODERATOR_MUTE_10    = wxNewId();
+static const long CHAT_MENU_US_MODERATOR_MUTE_30    = wxNewId();
+static const long CHAT_MENU_US_MODERATOR_MUTE_120   = wxNewId();
+static const long CHAT_MENU_US_MODERATOR_MUTE_1440  = wxNewId();
+static const long CHAT_MENU_US_MODERATOR_UNMUTE     = wxNewId();
+static const long CHAT_MENU_US_MODERATOR_RING       = wxNewId();
+
+static const long CHAT_MENU_COPYLINK                = wxNewId();
+
+static const long CHAT_MENU_LOG_OPEN                = wxNewId();
+
+#endif // SPRINGLOBBY_HEADERGUARD_CHATPANELMENU_H
+
+/**
+    This file is part of SpringLobby,
+    Copyright (C) 2007-09
+
+    SpringLobby is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License version 2 as published by
+    the Free Software Foundation.
+
+    SpringLobby 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 SpringLobby.  If not, see <http://www.gnu.org/licenses/>.
+**/
diff --git a/src/connectwindow.cpp b/src/connectwindow.cpp
index bed4019..f5d5f75 100644
--- a/src/connectwindow.cpp
+++ b/src/connectwindow.cpp
@@ -17,6 +17,7 @@
 #include <wx/icon.h>
 #include <wx/tooltip.h>
 #include <wx/log.h>
+#include <wx/textctrl.h>
 
 #include "connectwindow.h"
 #include "settings.h"
@@ -25,7 +26,7 @@
 #include "utils/controls.h"
 #include "utils/tasutil.h"
 
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 
 // Define events.
 BEGIN_EVENT_TABLE(ConnectWindow, wxDialog)
@@ -81,7 +82,7 @@ ConnectWindow::ConnectWindow( wxWindow* parent, Ui& ui )
 
     m_acc_note_line = new wxStaticLine( m_login_tab );
 
-    m_note_lbl = new wxStaticText( m_login_tab, -1, _("Note: If you do not have an account, you\n can register one for free under the\n\"Register\" tab.") );
+    m_note_lbl = new wxStaticText( m_login_tab, -1, _("Note: If you do not have an account, you\n can register one for free on the\n\"Register\" tab.") );
 
     m_ok_btn =     new wxButton( this, wxID_OK,     _("Ok") );
     m_cancel_btn = new wxButton( this, wxID_CANCEL, _("Cancel") );
diff --git a/src/crashreport.cpp b/src/crashreport.cpp
index cb4e023..2a1bb81 100644
--- a/src/crashreport.cpp
+++ b/src/crashreport.cpp
@@ -5,7 +5,7 @@
 
 
 #if wxUSE_DEBUGREPORT && defined(ENABLE_DEBUG_REPORT)
-#include "utils.h"
+
 #include "crashreport.h"
 #include <wx/intl.h>
 #include <wx/filefn.h>
diff --git a/src/crashreport.h b/src/crashreport.h
index 24b4cf6..99a2a2a 100644
--- a/src/crashreport.h
+++ b/src/crashreport.h
@@ -4,7 +4,7 @@
 #ifdef ENABLE_DEBUG_REPORT
 
 #include <wx/debugrpt.h>
-#include "utils.h"
+
 #if wxUSE_DEBUGREPORT
 
 #include <sstream>
diff --git a/src/customizations.cpp b/src/customizations.cpp
new file mode 100644
index 0000000..6c74169
--- /dev/null
+++ b/src/customizations.cpp
@@ -0,0 +1,96 @@
+/* Copyright (C) 2007-2009 The SpringLobby Team. All rights reserved. */
+
+#include "customizations.h"
+#include "springunitsynclib.h"
+
+#include <wx/image.h>
+
+/** @brief GetBackground
+  *
+  * @todo: document this function
+  */
+wxBitmap Customizations::GetBackground()
+{
+    return m_background;
+}
+
+wxSize Customizations::GetBackgroundSize()
+{
+    return wxSize( m_background.GetWidth(), m_background.GetHeight() );
+}
+
+const OptionsWrapper& Customizations::GetCustomizations()
+{
+    return m_customs;
+}
+
+/** @brief GetAppIcon
+  *
+  * @todo: document this function
+  */
+wxIcon Customizations::GetAppIcon()
+{
+    return m_app_ico;
+}
+
+/** @brief GetHelpUrl
+  *
+  * @todo: document this function
+  */
+wxString Customizations::GetHelpUrl()
+{
+    return m_help_url;
+}
+
+/** @brief GetModname
+  *
+  * @todo: document this function
+  */
+wxString Customizations::GetModname()
+{
+    return m_modname;
+}
+
+/** @brief Init
+  *
+  * @todo: document this function
+  */
+bool Customizations::Init(const wxString& modname)
+{
+    m_modname = modname;
+    if ( !usync().ModExists( m_modname ) )
+        return false;
+    susynclib().SetCurrentMod( m_modname );
+    bool ret = m_customs.loadOptions( OptionsWrapper::ModCustomizations, m_modname );
+    if ( ret ) {
+        wxString icon_img_path = m_customs.getSingleValue( _T("icon") );
+        wxBitmap icon_bmp (usync().GetImage( m_modname, icon_img_path ) );
+        m_app_ico.CopyFromBitmap( icon_bmp );
+
+        wxString bg_img_path = m_customs.getSingleValue( _T("bg_image") );
+        m_background = wxBitmap( usync().GetImage( m_modname, bg_img_path ) );
+
+        m_help_url = m_customs.getSingleValue( _T("help_url") );
+    }
+    return ret;
+}
+
+/** @brief Customizations
+  *
+  * @todo: document this function
+  */
+ Customizations::Customizations()
+{
+
+}
+
+/** @brief SLcustomizations
+  *
+  * @todo: document this function
+  */
+Customizations& SLcustomizations()
+{
+    static GlobalObjectHolder<Customizations> s_customizations;
+    return s_customizations;
+}
+
diff --git a/src/customizations.h b/src/customizations.h
new file mode 100644
index 0000000..39de771
--- /dev/null
+++ b/src/customizations.h
@@ -0,0 +1,53 @@
+#ifndef SPRINGLOBBY_HEADERGUARD_CUSTOMIZATIONS_H
+#define SPRINGLOBBY_HEADERGUARD_CUSTOMIZATIONS_H
+
+#include "globalsmanager.h"
+#include "mmoptionswrapper.h"
+#include <wx/string.h>
+#include <wx/icon.h>
+#include <wx/bitmap.h>
+
+class Customizations {
+    protected:
+        Customizations();
+
+        wxString m_modname;
+        OptionsWrapper m_customs;
+        wxIcon m_app_ico;
+        wxBitmap m_background;
+        wxString m_help_url;
+    public:
+        ~Customizations() {}
+
+        bool Init( const wxString& modname );
+
+        wxString GetModname();
+        wxString GetHelpUrl();
+        wxIcon GetAppIcon();
+        wxBitmap GetBackground();
+        wxSize GetBackgroundSize();
+        const OptionsWrapper& GetCustomizations();
+
+    friend class GlobalObjectHolder<Customizations>;
+};
+
+Customizations& SLcustomizations();
+
+#endif // SPRINGLOBBY_HEADERGUARD_CUSTOMIZATIONS_H
+
+/**
+    This file is part of SpringLobby,
+    Copyright (C) 2007-09
+
+    SpringLobby is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License version 2 as published by
+    the Free Software Foundation.
+
+    SpringLobby 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 SpringLobby.  If not, see <http://www.gnu.org/licenses/>.
+**/
diff --git a/src/customlistctrl.cpp b/src/customlistctrl.cpp
index 787b1e2..7257262 100644
--- a/src/customlistctrl.cpp
+++ b/src/customlistctrl.cpp
@@ -8,7 +8,7 @@
 #include "utils/controls.h"
 #include "settings.h"
 #include "iconimagelist.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 #include "uiutils.h"
 
 
diff --git a/src/customvirtlistctrl.cpp b/src/customvirtlistctrl.cpp
index e084801..c39d54b 100644
--- a/src/customvirtlistctrl.cpp
+++ b/src/customvirtlistctrl.cpp
@@ -5,7 +5,7 @@
 #include "nonportable.h" //pulls in the SL_DUMMY_COL define if applicable
 #include "settings.h"
 #include "iconimagelist.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 #include "uiutils.h"
 #include "utils/sltipwin.h"
 #include "utils/math.h"
@@ -350,11 +350,12 @@ void CustomVirtListCtrl<T,L>::OnEndResizeCol(wxListEvent& event)
 }
 
 template < class T, class L >
-bool CustomVirtListCtrl<T,L>::SetColumnWidth(int col, int width)
+bool CustomVirtListCtrl<T,L>::SetColumnWidth(int col, int& width)
 {
     if ( sett().GetColumnWidth( m_name, col) != Settings::columnWidthUnset)
     {
-        return ListBaseType::SetColumnWidth( col, sett().GetColumnWidth( m_name, col) );
+        width = sett().GetColumnWidth( m_name, col);
+        return ListBaseType::SetColumnWidth( col, width );
     }
     else
     {
@@ -457,8 +458,10 @@ template < class T, class L >
 void CustomVirtListCtrl<T,L>::ResetColumnSizes()
 {
     typename colInfoVec::const_iterator it = m_colinfovec.begin();
-    for ( ; it != m_colinfovec.end(); ++it )
-        SetColumnWidth( it->col_num, it->size );
+    for ( ; it != m_colinfovec.end(); ++it ) {
+        int width = it->size;
+        SetColumnWidth( it->col_num, width );
+    }
 }
 
 template < class T, class L >
diff --git a/src/customvirtlistctrl.h b/src/customvirtlistctrl.h
index 313d778..3c2df2b 100644
--- a/src/customvirtlistctrl.h
+++ b/src/customvirtlistctrl.h
@@ -246,7 +246,7 @@ public:
     //! does nothing
     void noOp(wxMouseEvent& event);
     //! automatically get saved column width if already saved, otherwise use parameter and save new width
-    virtual bool SetColumnWidth(int col, int width);
+    virtual bool SetColumnWidth(int col, int& width);
     //! reset columns with current set size (only effects columns with auto-size)
     void ResetColumnSizes();
 
diff --git a/src/utils/math.h b/src/defines.h
similarity index 64%
copy from src/utils/math.h
copy to src/defines.h
index a821b0e..b7e1395 100644
--- a/src/utils/math.h
+++ b/src/defines.h
@@ -1,18 +1,16 @@
-#ifndef SPRINGLOBBY_HEADERGUARD_MATH_H
-#define SPRINGLOBBY_HEADERGUARD_MATH_H
+#ifndef SPRINGLOBBY_HEADERGUARD_DEFINES_H
+#define SPRINGLOBBY_HEADERGUARD_DEFINES_H
 
-#include <algorithm>
+#if ( !defined(HAVE_WX29) && !defined(HAVE_WX28) )
+	#if( wxMAJOR_VERSION==2 && wxMINOR_VERSION == 9 )
+		#define HAVE_WX29
+	#elif( wxMAJOR_VERSION==2 && wxMINOR_VERSION == 8 )
+		#define HAVE_WX28
+	#endif
+#endif
 
-template <typename T> T clamp(const T var,const T min,const T max)
-{ return ( (var < min) ? min : ( var > max ) ? max : var ); }
 
-template<typename T>
-T min(T a, T b, T c)
-{
-    return std::min(a, std::min(b, c));
-}
-
-#endif // SPRINGLOBBY_HEADERGUARD_MATH_H
+#endif // SPRINGLOBBY_HEADERGUARD_DEFINES_H
 
 /**
     This file is part of SpringLobby,
diff --git a/src/globalevents.cpp b/src/globalevents.cpp
deleted file mode 100644
index 308d7fc..0000000
--- a/src/globalevents.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-#include "globalevents.h"
-#include "settings++/custom_dialogs.h"
-#include "ui.h"
-#include "updater/updater.h"
-#include <wx/intl.h>
-
-#include "globalsmanager.h"
-
-const wxEventType UnitSyncReloadRequest = wxNewEventType();
-const wxEventType ExeDownloadEvt = wxNewEventType();
-
-BEGIN_EVENT_TABLE(SL_GlobalEvtHandler, wxEvtHandler)
-    EVT_COMMAND(wxID_ANY, UnitSyncReloadRequest,    SL_GlobalEvtHandler::OnUnitSyncReload)
-END_EVENT_TABLE()
-
-SL_GlobalEvtHandler& SL_GlobalEvtHandler::GetSL_GlobalEvtHandler()
-{
-    static GlobalObjectHolder<SL_GlobalEvtHandler> slGlobalEvtHandler;
-    return slGlobalEvtHandler;
-}
-
-SL_GlobalEvtHandler::SL_GlobalEvtHandler()
-{
-}
-
-
-void SL_GlobalEvtHandler::OnUnitSyncReload(wxCommandEvent& event)
-{
-    ui().ReloadUnitSync();
-}
diff --git a/src/globalevents.h b/src/globalevents.h
deleted file mode 100644
index cc69503..0000000
--- a/src/globalevents.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef SPRINGLOBBY_GLOBALEVENTS_H_INCLUDED
-#define SPRINGLOBBY_GLOBALEVENTS_H_INCLUDED
-
-#include <wx/event.h>
-class wxCommandEvent;
-
-extern const wxEventType UnitSyncReloadRequest;
-extern const wxEventType ExeDownloadEvt;
-
-class IGlobalObjectHolder;
-template <class T>
-class GlobalObjectHolder;
-
-class SL_GlobalEvtHandler : public wxEvtHandler
-{
-protected:
-    friend class IGlobalObjectHolder;
-    friend class GlobalObjectHolder<SL_GlobalEvtHandler>;
-    SL_GlobalEvtHandler();
-
-    DECLARE_EVENT_TABLE()
-
-public:
-    static SL_GlobalEvtHandler& GetSL_GlobalEvtHandler();
-    void OnUnitSyncReload(wxCommandEvent& event);
-
-};
-
-#endif // SPRINGLOBBY_GLOBALEVENTS_H_INCLUDED
-
-/**
-    This file is part of SpringLobby,
-    Copyright (C) 2007-09
-
-    springsettings is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License version 2 as published by
-    the Free Software Foundation.
-
-    springsettings 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 SpringLobby.  If not, see <http://www.gnu.org/licenses/>.
-**/
-
diff --git a/src/gui/gradientpanel.cpp b/src/gui/gradientpanel.cpp
new file mode 100644
index 0000000..8aac99a
--- /dev/null
+++ b/src/gui/gradientpanel.cpp
@@ -0,0 +1,221 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        based on wxGradientPanel.cpp
+// Purpose:
+// Author:      René Milk
+/////////////////////////////////////////////////////////////////////////////
+
+// For compilers that support precompilation, includes "wx/wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+#include "wx/wx.h"
+#endif
+
+////@begin includes
+////@end includes
+
+#include "gradientpanel.h"
+#include <wx/dcbuffer.h>
+
+////@begin XPM images
+////@end XPM images
+
+/*!
+* wxGradientPanel type definition
+*/
+
+IMPLEMENT_DYNAMIC_CLASS( wxGradientPanel, wxPanel )
+
+/*!
+* wxGradientPanel event table definition
+*/
+
+BEGIN_EVENT_TABLE( wxGradientPanel, wxPanel )
+
+	////@begin wxGradientPanel event table entries
+	EVT_SIZE( wxGradientPanel::OnSize )
+	EVT_PAINT( wxGradientPanel::OnPaint )
+	EVT_ERASE_BACKGROUND( wxGradientPanel::OnEraseBackground )
+	////@end wxGradientPanel event table entries
+
+END_EVENT_TABLE()
+
+/*!
+* wxGradientPanel constructors
+*/
+
+wxGradientPanel::wxGradientPanel()
+{
+	Init();
+}
+
+wxGradientPanel::wxGradientPanel( wxWindow* parent,
+                                    wxWindowID id, const wxString & label, const wxPoint& pos,
+                                    const wxSize& size, long style )
+{
+	Init();
+	Create( parent, id, label, pos, size, style );
+}
+
+/*!
+* wxGradientPanel creator
+*/
+
+bool wxGradientPanel::Create( wxWindow* parent,
+                               wxWindowID id, const wxString & label, const wxPoint& pos,
+                               const wxSize& size, long style )
+{
+////@begin wxGradientPanel creation
+	wxWindow::Create( parent, id, pos, size, style );
+	CreateControls();
+////@end wxGradientPanel creation
+
+	return true;
+}
+
+/*!
+* wxGradientPanel destructor
+*/
+
+wxGradientPanel::~wxGradientPanel()
+{
+////@begin wxGradientPanel destruction
+////@end wxGradientPanel destruction
+}
+
+/*!
+* Member initialisation
+*/
+
+void wxGradientPanel::Init()
+{
+////@begin wxGradientPanel member initialisation
+	m_GradientTopStartColour = wxColour( 132, 125, 132 );
+	m_GradientTopEndColour = wxColour( 74, 69, 74 );
+	m_GradientBottomStartColour = wxColour( 0, 0, 0 );
+	m_GradientBottomEndColour = wxColour( 57, 56, 57 );
+	m_PressedColourTop = wxColour( 57, 56, 57 );
+	m_PressedColourBottom = wxColour( 0, 0, 0 );
+////@end wxGradientPanel member initialisation
+}
+
+/*!
+* Control creation for wxGradientPanel
+*/
+
+void wxGradientPanel::CreateControls()
+{
+////@begin wxGradientPanel content construction
+	this->SetForegroundColour( wxColour( 255, 255, 255 ) );
+	this->SetBackgroundColour( wxColour( 0, 0, 0 ) );
+	this->SetFont( wxFont( 8, wxSWISS, wxNORMAL, wxBOLD, false, wxT( "Tahoma" ) ) );
+////@end wxGradientPanel content construction
+}
+
+/*!
+* Should we show tooltips?
+*/
+
+bool wxGradientPanel::ShowToolTips()
+{
+	return true;
+}
+
+/*!
+* Get bitmap resources
+*/
+
+wxBitmap wxGradientPanel::GetBitmapResource( const wxString& name )
+{
+// Bitmap retrieval
+////@begin wxGradientPanel bitmap retrieval
+	wxUnusedVar( name );
+	return wxNullBitmap;
+////@end wxGradientPanel bitmap retrieval
+}
+
+/*!
+* Get icon resources
+*/
+
+wxIcon wxGradientPanel::GetIconResource( const wxString& name )
+{
+// Icon retrieval
+////@begin wxGradientPanel icon retrieval
+	wxUnusedVar( name );
+	return wxNullIcon;
+////@end wxGradientPanel icon retrieval
+}
+
+/*!
+* wxEVT_PAINT event handler for ID_WXGRADIENTBUTTON
+*/
+
+void wxGradientPanel::OnPaint( wxPaintEvent& event )
+{
+// Before editing this code, remove the block markers.
+	wxBufferedPaintDC dc( this );
+
+	wxRect clientRect = GetClientRect();
+	wxRect gradientRect = clientRect;
+	gradientRect.SetHeight( gradientRect.GetHeight() / 2 +
+	                        ( ( GetCapture() == this ) ? 1 : 0 ) );
+	if ( GetCapture() != this )
+	{
+		dc.GradientFillLinear( gradientRect,
+		                       m_GradientTopStartColour, m_GradientTopEndColour, wxSOUTH );
+	}
+	else
+	{
+		dc.SetPen( wxPen( m_PressedColourTop ) );
+		dc.SetBrush( wxBrush( m_PressedColourTop ) );
+		dc.DrawRectangle( gradientRect );
+	}
+
+	gradientRect.Offset( 0, gradientRect.GetHeight() );
+
+	if ( GetCapture() != this )
+	{
+		dc.GradientFillLinear( gradientRect,
+		                       m_GradientBottomStartColour, m_GradientBottomEndColour, wxSOUTH );
+	}
+	else
+	{
+		dc.SetPen( wxPen( m_PressedColourBottom ) );
+		dc.SetBrush( wxBrush( m_PressedColourBottom ) );
+		dc.DrawRectangle( gradientRect );
+	}
+	dc.SetPen( wxPen( GetBackgroundColour() ) );
+	dc.SetBrush( *wxTRANSPARENT_BRUSH );
+	dc.DrawRectangle( 0, 0, clientRect.GetWidth(), clientRect.GetHeight() );
+	dc.SetFont( GetFont() );
+	dc.SetTextForeground( GetForegroundColour() );
+	if ( GetCapture() == this )
+	{
+		clientRect.Offset( 1, 1 );
+	}
+
+}
+
+/*!
+* wxEVT_ERASE_BACKGROUND event handler for ID_WXGRADIENTBUTTON
+*/
+
+void wxGradientPanel::OnEraseBackground( wxEraseEvent& event )
+{
+}
+
+/*!
+* wxEVT_SIZE event handler for ID_WXGRADIENTBUTTON
+*/
+
+void wxGradientPanel::OnSize( wxSizeEvent& event )
+{
+	Refresh();
+}
+
+
diff --git a/src/gui/gradientpanel.h b/src/gui/gradientpanel.h
new file mode 100644
index 0000000..69bc125
--- /dev/null
+++ b/src/gui/gradientpanel.h
@@ -0,0 +1,157 @@
+#ifndef SPRINGLOBBY_HEADERGUARD_GRADIENTPANEL_H
+#define SPRINGLOBBY_HEADERGUARD_GRADIENTPANEL_H
+
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wxGradientPanel.h
+// Purpose:
+// Author:      Volodymir (T-Rex) Tryapichko
+// Modified by:
+// Created:     01/08/2008 20:25:42
+// RCS-ID:
+// Copyright:   Volodymir (T-Rex) Tryapichko, 2008
+// Licence:
+/////////////////////////////////////////////////////////////////////////////
+
+/*!
+* Includes
+*/
+
+////@begin includes
+////@end includes
+
+/*!
+* Forward declarations
+*/
+
+////@begin forward declarations
+class wxGradientPanel;
+////@end forward declarations
+
+/*!
+* Control identifiers
+*/
+
+////@begin control identifiers
+#define ID_WXGRADIENTBUTTON 10003
+#define SYMBOL_WXGRADIENTBUTTON_STYLE wxSIMPLE_BORDER|wxFULL_REPAINT_ON_RESIZE
+#define SYMBOL_WXGRADIENTBUTTON_IDNAME ID_WXGRADIENTBUTTON
+#define SYMBOL_WXGRADIENTBUTTON_SIZE wxSize(100, 100)
+#define SYMBOL_WXGRADIENTBUTTON_POSITION wxDefaultPosition
+////@end control identifiers
+
+/*!
+* wxGradientPanel class declaration
+*/
+#include <wx/panel.h>
+class wxGradientPanel: public wxPanel
+{
+		DECLARE_DYNAMIC_CLASS( wxGradientPanel )
+		DECLARE_EVENT_TABLE()
+
+	public:
+/// Constructors
+		wxGradientPanel();
+		wxGradientPanel( wxWindow* parent,
+		                  wxWindowID id = ID_WXGRADIENTBUTTON,
+		                  const wxString & label = wxEmptyString,
+		                  const wxPoint& pos = wxDefaultPosition,
+		                  const wxSize& size = wxSize( 100, 100 ),
+		                  long style = wxSIMPLE_BORDER );
+
+/// Creation
+		bool Create( wxWindow* parent,
+		             wxWindowID id = ID_WXGRADIENTBUTTON,
+		             const wxString & label = wxEmptyString,
+		             const wxPoint& pos = wxDefaultPosition,
+		             const wxSize& size = wxSize( 100, 100 ),
+		             long style = wxSIMPLE_BORDER );
+
+/// Destructor
+		~wxGradientPanel();
+
+/// Initialises member variables
+		void Init();
+
+/// Creates the controls and sizers
+		void CreateControls();
+
+////@begin wxGradientPanel event handler declarations
+
+/// wxEVT_SIZE event handler for ID_WXGRADIENTBUTTON
+		void OnSize( wxSizeEvent& event );
+
+/// wxEVT_PAINT event handler for ID_WXGRADIENTBUTTON
+		void OnPaint( wxPaintEvent& event );
+
+/// wxEVT_ERASE_BACKGROUND event handler for ID_WXGRADIENTBUTTON
+		void OnEraseBackground( wxEraseEvent& event );
+
+////@end wxGradientPanel event handler declarations
+
+////@begin wxGradientPanel member function declarations
+
+		wxColour GetGradientTopStartColour() const {
+			return m_GradientTopStartColour ;
+		}
+		void SetGradientTopStartColour( wxColour value ) {
+			m_GradientTopStartColour = value ;
+		}
+
+		wxColour GetGradientTopEndColour() const {
+			return m_GradientTopEndColour ;
+		}
+		void SetGradientTopEndColour( wxColour value ) {
+			m_GradientTopEndColour = value ;
+		}
+
+		wxColour GetGradientBottomStartColour() const {
+			return m_GradientBottomStartColour ;
+		}
+		void SetGradientBottomStartColour( wxColour value ) {
+			m_GradientBottomStartColour = value ;
+		}
+
+		wxColour GetGradientBottomEndColour() const {
+			return m_GradientBottomEndColour ;
+		}
+		void SetGradientBottomEndColour( wxColour value ) {
+			m_GradientBottomEndColour = value ;
+		}
+
+		wxColour GetPressedColourTop() const {
+			return m_PressedColourTop ;
+		}
+		void SetPressedColourTop( wxColour value ) {
+			m_PressedColourTop = value ;
+		}
+
+		wxColour GetPressedColourBottom() const {
+			return m_PressedColourBottom ;
+		}
+		void SetPressedColourBottom( wxColour value ) {
+			m_PressedColourBottom = value ;
+		}
+
+/// Retrieves bitmap resources
+		wxBitmap GetBitmapResource( const wxString& name );
+
+/// Retrieves icon resources
+		wxIcon GetIconResource( const wxString& name );
+////@end wxGradientPanel member function declarations
+
+/// Should we show tooltips?
+		static bool ShowToolTips();
+
+////@begin wxGradientPanel member variables
+		wxColour m_GradientTopStartColour;
+		wxColour m_GradientTopEndColour;
+		wxColour m_GradientBottomStartColour;
+		wxColour m_GradientBottomEndColour;
+		wxColour m_PressedColourTop;
+		wxColour m_PressedColourBottom;
+////@end wxGradientPanel member variables
+};
+
+
+#endif // SPRINGLOBBY_HEADERGUARD_GRADIENTPANEL_H
+
diff --git a/src/gui/simplefront.cpp b/src/gui/simplefront.cpp
new file mode 100644
index 0000000..18b07cf
--- /dev/null
+++ b/src/gui/simplefront.cpp
@@ -0,0 +1,174 @@
+#include "simplefront.h"
+
+#include "wxbackgroundimage.h"
+#include "../uiutils.h"
+#include "../ui.h"
+#include "../springunitsync.h"
+#include "../springunitsynclib.h"
+#include "../mainwindow.h"
+#include "../settings.h"
+#include "../settings++/frame.h"
+#include "skirmish_dialog.h"
+#include "../customizations.h"
+
+#include <wx/app.h>
+#include <wx/image.h>
+#include <wx/icon.h>
+#include <wx/intl.h>
+#include <wx/button.h>
+#include <wx/settings.h>
+#include <wx/sizer.h>
+#include <wx/frame.h>
+#include "wxgradientbutton.h"
+#include "../customizations.h"
+
+
+SimpleFront::SimpleFront( wxWindow* parent )
+: wxFrame( parent, wxID_ANY, _T(""), wxDefaultPosition, wxSize( -1,-1 ), wxCAPTION|wxCLOSE_BOX|wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL ),
+m_settings_frame( 0 ),
+m_skirmish( 0 )
+{
+    SetIcon( SLcustomizations().GetAppIcon() );
+    SetTitle( SLcustomizations().GetModname() );
+
+    this->SetSizeHints( wxDefaultSize, wxDefaultSize );
+	this->SetExtraStyle( wxFRAME_EX_METAL );
+
+	bSizer1 = new wxBoxSizer( wxVERTICAL );
+	bSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
+
+	m_button_sizer = new wxBoxSizer( wxHORIZONTAL );
+
+	m_sp = new wxGradientButton( this, wxID_ANY, _("Skirmish"), wxDefaultPosition, wxDefaultSize, 0 );
+//	m_sp->SetDefault();
+	m_button_sizer->Add( m_sp, 0, wxALL, 5 );
+
+	m_mp = new wxGradientButton( this, wxID_ANY, _("Multiplayer"), wxDefaultPosition, wxDefaultSize, 0 );
+	m_button_sizer->Add( m_mp, 0, wxALL, 5 );
+
+	m_settings = new wxGradientButton( this, wxID_ANY, _("Settings"), wxDefaultPosition, wxDefaultSize, 0 );
+	m_button_sizer->Add( m_settings, 0, wxALL, 5 );
+
+    m_help = new wxGradientButton( this, wxID_ANY, _("Help"), wxDefaultPosition, wxDefaultSize, 0 );
+	m_button_sizer->Add( m_help, 0, wxALL, 5 );
+    m_help->Show( !SLcustomizations().GetHelpUrl().IsEmpty() );
+
+	m_exit = new wxGradientButton( this, wxID_ANY, _("Exit"), wxDefaultPosition, wxDefaultSize, 0 );
+	m_button_sizer->Add( m_exit, 0, wxALL, 5 );
+
+	bSizer1->Add( m_button_sizer, 0, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+    m_sp_button_sizer = new wxBoxSizer( wxHORIZONTAL );
+	m_back = new wxGradientButton( this, wxID_ANY, _("Back"), wxDefaultPosition, wxDefaultSize, 0 );
+	m_sp_button_sizer->Add( m_back, 0, wxALL, 5 );
+
+	m_advanced = new wxGradientButton( this, wxID_ANY, _("Advanced setup"), wxDefaultPosition, wxDefaultSize, 0 );
+	m_sp_button_sizer->Add( m_advanced, 0, wxALL, 5 );
+
+	m_start = new wxGradientButton( this, wxID_ANY, _("Start"), wxDefaultPosition, wxDefaultSize, 0 );
+	m_sp_button_sizer->Add( m_start, 0, wxALL, 5 );
+    m_sp_button_sizer->Show( false );
+
+    bSizer1->Add( m_sp_button_sizer, 0, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+	m_skirmish_sizer = new wxBoxSizer( wxHORIZONTAL );
+	m_skirmish = new SkirmishDialog( this, -1 );
+	m_skirmish_sizer->Add( m_skirmish, 0, wxALIGN_BOTTOM, 0 );
+	m_skirmish_sizer->Show( false );
+
+	bSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
+
+	this->SetSizer( bSizer1 );
+	this->Layout();
+
+	this->Centre( wxBOTH );
+
+	// Connect Events
+	m_sp->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SimpleFront::OnSingleplayer ), NULL, this );
+	m_mp->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SimpleFront::OnMultiplayer ), NULL, this );
+	m_settings->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SimpleFront::OnSettings ), NULL, this );
+	m_help->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SimpleFront::OnHelp ), NULL, this );
+	m_exit->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SimpleFront::OnExit ), NULL, this );
+
+    m_back->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SkirmishDialog::OnBack ), NULL, m_skirmish );
+	m_advanced->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SkirmishDialog::OnAdvanced ), NULL, m_skirmish );
+	m_start->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SkirmishDialog::OnStart ), NULL, m_skirmish );
+
+    SetSize( SLcustomizations().GetBackgroundSize() );
+    Layout();
+    PushEventHandler( new wxBackgroundBitmap( SLcustomizations().GetBackground() ) );
+
+}
+
+SimpleFront::~SimpleFront()
+{
+    m_sp->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SimpleFront::OnSingleplayer ), NULL, this );
+	m_mp->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SimpleFront::OnMultiplayer ), NULL, this );
+	m_settings->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SimpleFront::OnSettings ), NULL, this );
+	m_help->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SimpleFront::OnHelp ), NULL, this );
+	m_exit->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SimpleFront::OnExit ), NULL, this );
+
+    m_back->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SkirmishDialog::OnBack ), NULL, m_skirmish );
+	m_advanced->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SkirmishDialog::OnAdvanced ), NULL, m_skirmish );
+	m_start->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SkirmishDialog::OnStart ), NULL, m_skirmish );
+
+}
+
+void SimpleFront::OnSingleplayer( wxCommandEvent& event )
+{
+    ShowSP( true );
+}
+
+void SimpleFront::ShowSP( bool show )
+{
+    m_button_sizer->Show( !show );
+	m_skirmish_sizer->Show( show );
+	m_sp_button_sizer->Show( show );
+    bSizer1->Detach( 3 );
+    if ( show )
+        bSizer1->Add( m_skirmish_sizer, 1, wxALIGN_BOTTOM|wxALIGN_CENTER_HORIZONTAL, 0 );
+    else
+        bSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
+	Layout();
+}
+
+void SimpleFront::OnMultiplayer( wxCommandEvent& event )
+{
+    ui().FirstRunWelcome();
+	ui().mw().ShowTab( MainWindow::PAGE_JOIN );
+	Close();
+}
+
+void SimpleFront::OnSettings( wxCommandEvent& event )
+{
+//	if ( !m_settings ) //TODO cleanup the exit mess in SS
+        m_settings_frame = new settings_frame( this, wxID_ANY, wxT("SpringSettings"),
+                                wxDefaultPosition, wxDefaultSize );
+
+    m_settings_frame->Show( true );
+
+}
+
+void SimpleFront::OnExit( wxCommandEvent& event )
+{
+	Destroy();
+}
+
+void SimpleFront::OnSkipChecked( wxCommandEvent& event )
+{
+	// TODO: save in settings
+}
+
+void SimpleFront::Close()
+{
+    ui().ShowMainWindow();
+    wxTheApp->SetTopWindow( &ui().mw() );
+    Destroy();
+}
+
+void SimpleFront::OnHelp( wxCommandEvent& event )
+{
+    OpenWebBrowser( SLcustomizations().GetHelpUrl() );
+
+}
+
diff --git a/src/gui/simplefront.h b/src/gui/simplefront.h
new file mode 100644
index 0000000..c6c021a
--- /dev/null
+++ b/src/gui/simplefront.h
@@ -0,0 +1,63 @@
+#ifndef __simplefront__
+#define __simplefront__
+
+/**
+ at file
+Subclass of SimpleFrontBase, which is generated by wxFormBuilder.
+*/
+
+class settings_frame;
+class SkirmishDialog;
+class wxBoxSizer;
+class wxGradientButton;
+
+
+#include "../mmoptionswrapper.h"
+#include <wx/frame.h>
+#include <wx/bitmap.h>
+#include <wx/icon.h>
+
+
+/** Implementing SimpleFrontBase */
+class SimpleFront : public wxFrame
+{
+protected:
+	// Handlers for SimpleFrontBase events.
+	void OnSingleplayer( wxCommandEvent& event );
+	void OnMultiplayer( wxCommandEvent& event );
+	void OnSettings( wxCommandEvent& event );
+	void OnHelp( wxCommandEvent& event );
+	void OnExit( wxCommandEvent& event );
+	void OnSkipChecked( wxCommandEvent& event );
+
+	settings_frame* m_settings_frame;
+	SkirmishDialog* m_skirmish;
+	const wxString m_modname;
+
+    wxBoxSizer* m_button_sizer;
+    wxBoxSizer* m_skirmish_sizer;
+    wxBoxSizer* m_sp_button_sizer;
+
+    wxBoxSizer* bSizer1;
+
+    wxGradientButton* m_back;
+    wxGradientButton* m_advanced;
+    wxGradientButton* m_start;
+
+    wxGradientButton* m_sp;
+    wxGradientButton* m_mp;
+    wxGradientButton* m_settings;
+    wxGradientButton* m_exit;
+    wxGradientButton* m_help;
+
+public:
+	/** Constructor */
+	SimpleFront( wxWindow* parent );
+	~SimpleFront();
+
+    void ShowSP( bool show );
+
+    void Close();
+};
+
+#endif // __simplefront__
diff --git a/src/gui/skirmish_dialog.cpp b/src/gui/skirmish_dialog.cpp
new file mode 100644
index 0000000..8b59abb
--- /dev/null
+++ b/src/gui/skirmish_dialog.cpp
@@ -0,0 +1,252 @@
+
+#include "skirmish_dialog.h"
+
+#include <wx/string.h>
+#include <wx/radiobox.h>
+#include <wx/stattext.h>
+#include <wx/choice.h>
+#include <wx/checkbox.h>
+#include <wx/sizer.h>
+#include <wx/button.h>
+#include <wx/settings.h>
+#include <wx/dc.h>
+#include <wx/dcclient.h>
+#include <wx/combobox.h>
+
+#include "../springunitsync.h"
+#include "../springunitsynclib.h"
+#include "../utils/customdialogs.h"
+#include "../utils/conversion.h"
+#include "../mmoptionswrapper.h"
+#include "../utils/controls.h"
+#include "../ui.h"
+#include "../mainwindow.h"
+#include "wxbackgroundimage.h"
+#include "simplefront.h"
+#include "../utils/controls.h"
+#include "../customizations.h"
+
+
+SkirmishDialog::SkirmishDialog( SimpleFront* parent, wxWindowID id )
+    : wxGradientPanel( (wxWindow*)parent, id ),
+    m_parent( parent ),
+    m_mod_customs( SLcustomizations().GetCustomizations() )
+{
+    wxFlexGridSizer* fgSizer1;
+	fgSizer1 = new wxFlexGridSizer( 3, 2, 0, 0 );
+	fgSizer1->SetFlexibleDirection( wxBOTH );
+	fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
+
+	this->SetSizeHints( wxDefaultSize, wxDefaultSize );
+
+    m_battle.SetHostMod( SLcustomizations().GetModname(), wxEmptyString );
+    m_battle.CustomBattleOptions().loadOptions( OptionsWrapper::ModOption, SLcustomizations().GetModname() );
+	const wxString sk_dir = m_mod_customs.getSingleValue( _T("skirmish_directory"), OptionsWrapper::ModCustomizations );
+
+    //this block populates the radiobox and loads the skirmish options into the map
+	OptionsWrapper::GameOption optFlag = OptionsWrapper::ModCustomizations;
+    for ( IUnitSync::OptionMapListConstIter it = m_mod_customs.m_opts[optFlag].list_map.begin(); it != m_mod_customs.m_opts[optFlag].list_map.end(); ++it) {
+	    mmOptionList current = it->second;
+	    if ( _T("scenarios") == current.key ) {
+            m_scenario_choice = new wxChoice( this, wxID_ANY, wxDefaultPosition,wxDefaultSize, current.cbx_choices, wxTRANSPARENT_WINDOW );
+            #ifdef __WXMSW__ //another msw fail: control will not size correctly when items are not added manually
+                m_scenario_choice->Clear();
+                for( size_t u = 0; u < current.cbx_choices.Count(); ++u ) {
+                        m_scenario_choice->Append( current.cbx_choices[u] );
+                }
+            #endif
+            m_scenario_choice->SetSelection( 0 );
+            wxStaticText* label = new wxStaticText( this, wxID_ANY, _("Scenario"), wxDefaultPosition, wxDefaultSize, wxTRANSPARENT_WINDOW );
+            fgSizer1->Add( label, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
+//            m_scenario_choice->SetSize( wxSize( 1.5 * GetMaxStringWidth( *this, current.cbx_choices ), 30 ) );
+            fgSizer1->Add( m_scenario_choice, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+            wxString tooltip;
+            int i = 0;
+            for ( ListItemVec::iterator itor = current.listitems.begin(); itor != current.listitems.end(); ++itor )
+            {
+                tooltip+= _T("\n") + itor->name + _T(": ") + itor->desc;
+                OptionsWrapper temp;
+                wxString filename = sk_dir + _T("/") + itor->key + _T(".lua") ;
+                temp.loadOptions( OptionsWrapper::SkirmishOptions, SLcustomizations().GetModname(), filename );
+                m_skirmishes[current.cbx_choices[i]] =  temp;
+                i++;
+            }
+            m_scenario_choice->SetToolTip(TE(tooltip));
+
+            m_scenario_choice->SetName(current.key);
+
+            break;
+        }
+	}
+
+    optFlag = OptionsWrapper::SkirmishOptions;
+    mmOptionList suggested_maps;
+    mmOptionList suggested_sides;
+    OptionsWrapper map_op = m_skirmishes[m_scenario_choice->GetStringSelection()];
+    for ( IUnitSync::OptionMapListConstIter it = map_op.m_opts[optFlag].list_map.begin(); it != map_op.m_opts[optFlag].list_map.end(); ++it) {
+	    mmOptionList current = it->second;
+        if ( _T("suggested_maps") == current.key ) {
+            suggested_maps = current;
+        }
+        else if ( _T("suggested_sides") == current.key ) {
+            suggested_sides = current;
+        }
+    }
+
+	m_map_label = new wxStaticText( this, wxID_ANY, _("Map"), wxDefaultPosition, wxDefaultSize, 0 );
+	m_map_label->Wrap( -1 );
+	fgSizer1->Add( m_map_label, 0, wxALIGN_CENTER_VERTICAL| wxALL, 5 );
+	wxArrayString m_mapChoices = suggested_maps.cbx_choices.Count() > 0 ? suggested_maps.cbx_choices : usync().GetMapList() ;
+	m_map = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_mapChoices, 0 );
+	m_map->SetSelection( 0 );
+	fgSizer1->Add( m_map, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+//	m_map_random = new wxCheckBox( this, wxID_ANY, _("random"), wxDefaultPosition, wxDefaultSize, 0 );
+//	fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
+//	fgSizer1->Add( m_map_random, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+
+	m_sides_label = new wxStaticText( this, wxID_ANY, _("Faction"), wxDefaultPosition, wxDefaultSize, 0 );
+	m_sides_label->Wrap( -1 );
+	fgSizer1->Add( m_sides_label, 0, wxALIGN_CENTER_VERTICAL| wxALL, 5 );
+
+	wxArrayString m_sidesChoices = suggested_sides.cbx_choices.Count() > 0 ? suggested_sides.cbx_choices : usync().GetSides( SLcustomizations().GetModname() ) ;
+	m_sides = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_sidesChoices, 0 );
+	m_sides->SetSelection( 0 );
+	fgSizer1->Add( m_sides, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+
+//	wxBoxSizer* all_sizer = new wxBoxSizer( wxVERTICAL );
+//	all_sizer->Add( radio_sizer, 0, wxALL, 0 );
+//	all_sizer->Add( map_sizer, 0, wxALL, 0 );
+//	all_sizer->Add( sides_sizer, 0, wxALL, 0 );
+
+	this->SetSizer( fgSizer1 );
+
+
+//    SetSize( m_bg_img.GetWidth(), m_bg_img.GetHeight() );
+    this->Layout();
+
+	this->Centre( wxBOTH );
+
+	// Connect Events
+	m_scenario_choice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( SkirmishDialog::OnScenarioChoice ), NULL, this );
+//	m_map_random->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( SkirmishDialog::OnRandom ), NULL, this );
+
+	std::srand(time(NULL));
+
+}
+
+SkirmishDialog::~SkirmishDialog()
+{
+	// Disconnect Events
+	m_scenario_choice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( SkirmishDialog::OnScenarioChoice ), NULL, this );
+//	m_map_random->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( SkirmishDialog::OnRandom ), NULL, this );
+}
+
+void SkirmishDialog::OnBack( wxCommandEvent& event )
+{
+    m_parent->ShowSP( false );
+}
+
+void SkirmishDialog::OnRandom( wxCommandEvent& event )
+{
+//    bool checked = m_map_random->IsChecked();
+//    m_map->Enable( !checked );
+}
+
+void SkirmishDialog::OnScenarioChoice( wxCommandEvent& event )
+{
+    m_map->Clear();
+    m_sides->Clear();
+    OptionsWrapper::GameOption optFlag = OptionsWrapper::SkirmishOptions;
+    wxArrayString maps = usync().GetMapList();
+    wxArrayString sides = usync().GetSides( SLcustomizations().GetModname() );
+    OptionsWrapper map_op = m_skirmishes[m_scenario_choice->GetStringSelection()];
+    for ( IUnitSync::OptionMapListConstIter it = map_op.m_opts[optFlag].list_map.begin(); it != map_op.m_opts[optFlag].list_map.end(); ++it) {
+	    mmOptionList current = it->second;
+        if ( _T("suggested_maps") == current.key ) {
+            maps = current.cbx_choices;
+        }
+        else if ( _T("suggested_sides") == current.key ) {
+            sides = current.cbx_choices;
+        }
+    }
+
+    for ( size_t i = 0; i < maps.Count() ; ++i ) {
+        m_map->Append( maps[i] );
+    }
+    for ( size_t i = 0; i < sides.Count() ; ++i ) {
+        m_sides->Append( sides[i] );
+    }
+    m_map->SetSelection( 0 );
+    m_sides->SetSelection( 0 );
+
+}
+
+void SkirmishDialog::OnAdvanced( wxCommandEvent& event )
+{
+    ui().mw().ShowSingleplayer();
+    ui().mw().Show( true );
+    m_parent->Close();
+}
+
+
+void SkirmishDialog::OnStart( wxCommandEvent& event )
+{
+    OptionsWrapper& opts = m_skirmishes[m_scenario_choice->GetStringSelection()];
+    // this overwrites any modoptions with those found in the skirmish definition
+    m_battle.CustomBattleOptions().MergeOptions( opts, OptionsWrapper::ModOption );
+
+    //now add AIs
+    OptionsWrapper::GameOption optFlag = OptionsWrapper::SkirmishOptions;
+    // we need to store Sides for AIs first, so we can later add them in batch w/o needing to remember a mapping
+    std::vector<wxString> ai_sides;
+    for ( IUnitSync::OptionMapListConstIter it = opts.m_opts[optFlag].list_map.begin(); it != opts.m_opts[optFlag].list_map.end(); ++it) {
+        mmOptionList current = it->second;
+        if ( current.key == _T("ai_sides") ) {
+
+            for ( ListItemVec::iterator itor = current.listitems.begin(); itor != current.listitems.end(); ++itor ) {
+                ai_sides.push_back( itor->name );
+            }
+        break;
+        }
+    }
+
+    wxString default_ai = m_mod_customs.getSingleValue( _T("default_ai" ) );
+    std::vector<wxString> ai_names ( ai_sides.size(), default_ai );
+    for ( IUnitSync::OptionMapListConstIter it = opts.m_opts[optFlag].list_map.begin(); it != opts.m_opts[optFlag].list_map.end(); ++it) {
+        mmOptionList current = it->second;
+        if ( current.key == _T("ai_names") ) {
+            for ( ListItemVec::iterator itor = current.listitems.begin(); itor != current.listitems.end(); ++itor) {
+                size_t idx = FromwxString<size_t>( itor->key );
+                if ( idx < ai_sides.size() && idx >= 0 )
+                    ai_names[idx] = itor->name;
+            }
+        break;
+        }
+    }
+
+    for ( IUnitSync::OptionMapListConstIter it = opts.m_opts[optFlag].list_map.begin(); it != opts.m_opts[optFlag].list_map.end(); ++it) {
+        mmOptionList current = it->second;
+        if ( current.key == _T("ai_team_ids") ) {
+
+            size_t i = 0;
+            for ( ListItemVec::iterator itor = current.listitems.begin(); itor != current.listitems.end(); ++itor, ++i ) {
+                ASSERT_EXCEPTION( i < ai_sides.size(), _T("The setup is listing more AI opponents than AI sides") );
+                wxString ai = ai_names.size() > i ? ai_names[i] : default_ai;
+                m_battle.AddBot( ai, FromwxString<int>( itor->name ), ai_sides[i] );
+            }
+        break;
+        }
+    }
+
+    User& me = m_battle.GetMe();
+    me.BattleStatus().side = m_battle.GetSideIndex( m_sides->GetStringSelection() );
+
+//    if ( m_map_random->IsChecked() )
+//        m_map->SetSelection( std::rand() % ( m_map->GetCount() ) ); //if anyone complains about this not being a uniform distribution imma invoke stab-over-tcp ((c) BD )
+    m_battle.SetHostMap( m_map->GetStringSelection() , _T("") );
+    m_battle.StartSpring();
+}
diff --git a/src/gui/skirmish_dialog.h b/src/gui/skirmish_dialog.h
new file mode 100644
index 0000000..0a2ae75
--- /dev/null
+++ b/src/gui/skirmish_dialog.h
@@ -0,0 +1,59 @@
+
+#ifndef __skirmish_dialog__
+#define __skirmish_dialog__
+
+#include <wx/intl.h>
+
+#include "gradientpanel.h"
+#include "../mmoptionswrapper.h"
+#include "../singleplayerbattle.h"
+
+class wxRadioBox;
+class wxChoice;
+class wxStaticText;
+class wxButton;
+class wxCheckBox;
+class wxComboBox;
+class SimpleFront;
+
+
+///////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////
+/// Class skirmish_dialog
+///////////////////////////////////////////////////////////////////////////////
+class SkirmishDialog : public wxGradientPanel
+{
+	private:
+
+	protected:
+		wxChoice* m_scenario_choice;
+		wxStaticText* m_map_label;
+		wxStaticText* m_sides_label;
+		wxChoice* m_map;
+		wxChoice* m_sides;
+		wxCheckBox* m_map_random;
+
+		SimpleFront* m_parent;
+        OptionsWrapper m_mod_customs;
+
+		NoGuiSinglePlayerBattle m_battle;
+
+        typedef std::map< wxString, OptionsWrapper >
+            SkirmishMap;
+
+        SkirmishMap m_skirmishes;
+
+	public:
+		SkirmishDialog( SimpleFront* parent, wxWindowID id = wxID_ANY );
+		~SkirmishDialog();
+
+        virtual void OnBack( wxCommandEvent& event );
+		virtual void OnAdvanced( wxCommandEvent& event );
+		virtual void OnStart( wxCommandEvent& event );
+		virtual void OnScenarioChoice( wxCommandEvent& event );
+		virtual void OnRandom( wxCommandEvent& event );
+
+};
+
+#endif //__skirmish_dialog__
diff --git a/src/gui/wxbackgroundimage.cpp b/src/gui/wxbackgroundimage.cpp
new file mode 100644
index 0000000..fa7015e
--- /dev/null
+++ b/src/gui/wxbackgroundimage.cpp
@@ -0,0 +1,66 @@
+/* Copyright (C) 2007-2009 The SpringLobby Team. All rights reserved. */
+
+#include "wxbackgroundimage.h"
+
+#include <wx/dc.h>
+#include <wx/window.h>
+#include <wx/dcbuffer.h>
+#include <wx/image.h>
+
+#if 1
+
+bool wxBackgroundBitmap::ProcessEvent(wxEvent &Event)
+{
+    if(Event.GetEventType() == wxEVT_ERASE_BACKGROUND)
+    {
+        if(Bitmap.IsOk())
+        {
+        }
+        else
+            Event.Skip();
+    }
+    else if(Event.GetEventType() == wxEVT_PAINT)
+    {
+        bool TransactionIsOk = false;
+        if(Bitmap.IsOk())
+        {
+            wxWindow * TempWindow = wxDynamicCast(Event.GetEventObject(),wxWindow);
+            if(TempWindow)
+            {
+                wxBufferedPaintDC DC(TempWindow);
+                int w, h;
+                TempWindow->GetClientSize(&w, &h);
+                wxImage TempImage = Bitmap.ConvertToImage();
+                TempImage.Rescale(w,h);
+                DC.DrawBitmap(wxBitmap(TempImage), 0, 0, false);
+                TransactionIsOk = true;
+            }
+        }
+        if(TransactionIsOk == false)
+            Event.Skip();
+    }
+    else if(Event.GetEventType() ==  wxEVT_SIZE)
+    {
+        wxWindow * TempWindow = wxDynamicCast(Event.GetEventObject(),wxWindow);
+        if(TempWindow)
+        {
+            TempWindow->Refresh();
+        }
+        Event.Skip();
+    }
+    else
+        return Inherited::ProcessEvent(Event);
+    return true;
+}
+#else
+bool wxBackgroundBitmap::ProcessEvent(wxEvent &Event)
+{
+    if (Event.GetEventType() == wxEVT_ERASE_BACKGROUND) {
+        wxEraseEvent &EraseEvent = dynamic_cast<wxEraseEvent &>(Event);
+        wxDC *DC = EraseEvent.GetDC();
+        DC->DrawBitmap(Bitmap, 0, 0, false);
+        return true;
+    } else return Inherited::ProcessEvent(Event);
+}
+
+#endif
diff --git a/src/gui/wxbackgroundimage.h b/src/gui/wxbackgroundimage.h
new file mode 100644
index 0000000..675a0c8
--- /dev/null
+++ b/src/gui/wxbackgroundimage.h
@@ -0,0 +1,24 @@
+#ifndef SPRINGLOBBY_HEADERGUARD_WXBACKGROUNDIMAGE_H
+#define SPRINGLOBBY_HEADERGUARD_WXBACKGROUNDIMAGE_H
+
+#include <wx/event.h>
+#include <wx/bitmap.h>
+
+/** Usage:
+ToolBarBackground = new wxBackgroundBitmap(wxBITMAP("test"));
+ToolBar->PushEventHandler(ToolBarBackground);
+**/
+
+class wxBackgroundBitmap : public wxEvtHandler {
+    typedef wxEvtHandler Inherited;
+public:
+    wxBackgroundBitmap(const wxBitmap &B) : wxEvtHandler(), Bitmap(B)  { }
+    virtual bool        ProcessEvent(wxEvent &Event);
+protected:
+    wxBitmap            Bitmap;
+};
+
+//copied from http://forum.wxwidgets.org/viewtopic.php?t=10019
+
+#endif // SPRINGLOBBY_HEADERGUARD_WXBACKGROUNDIMAGE_H
+
diff --git a/src/gui/wxgradientbutton.cpp b/src/gui/wxgradientbutton.cpp
new file mode 100644
index 0000000..e346590
--- /dev/null
+++ b/src/gui/wxgradientbutton.cpp
@@ -0,0 +1,267 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wxGradientButton.cpp
+// Purpose:
+// Author:      Volodymir (T-Rex) Tryapichko
+// Modified by:
+// Created:     01/08/2008 20:25:42
+// RCS-ID:
+// Copyright:   Volodymir (T-Rex) Tryapichko, 2008
+// Licence:
+/////////////////////////////////////////////////////////////////////////////
+
+// For compilers that support precompilation, includes "wx/wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+#include "wx/wx.h"
+#endif
+
+////@begin includes
+////@end includes
+
+#include "wxgradientbutton.h"
+#include <wx/dcbuffer.h>
+
+////@begin XPM images
+////@end XPM images
+
+/*!
+* wxGradientButton type definition
+*/
+
+IMPLEMENT_DYNAMIC_CLASS( wxGradientButton, wxWindow )
+
+/*!
+* wxGradientButton event table definition
+*/
+
+BEGIN_EVENT_TABLE( wxGradientButton, wxWindow )
+
+	////@begin wxGradientButton event table entries
+	EVT_SIZE( wxGradientButton::OnSize )
+	EVT_PAINT( wxGradientButton::OnPaint )
+	EVT_ERASE_BACKGROUND( wxGradientButton::OnEraseBackground )
+	EVT_LEFT_DOWN( wxGradientButton::OnLeftDown )
+	EVT_LEFT_UP( wxGradientButton::OnLeftUp )
+
+	////@end wxGradientButton event table entries
+
+END_EVENT_TABLE()
+
+/*!
+* wxGradientButton constructors
+*/
+
+wxGradientButton::wxGradientButton()
+{
+	Init();
+}
+
+wxGradientButton::wxGradientButton( wxWindow* parent,
+                                    wxWindowID id, const wxString & label, const wxPoint& pos,
+                                    const wxSize& size, long style )
+{
+	Init();
+	Create( parent, id, label, pos, size, style );
+}
+
+/*!
+* wxGradientButton creator
+*/
+
+bool wxGradientButton::Create( wxWindow* parent,
+                               wxWindowID id, const wxString & label, const wxPoint& pos,
+                               const wxSize& size, long style )
+{
+////@begin wxGradientButton creation
+	wxWindow::Create( parent, id, pos, size, style );
+	CreateControls();
+////@end wxGradientButton creation
+	m_Label = label;
+	return true;
+}
+
+/*!
+* wxGradientButton destructor
+*/
+
+wxGradientButton::~wxGradientButton()
+{
+////@begin wxGradientButton destruction
+////@end wxGradientButton destruction
+}
+
+/*!
+* Member initialisation
+*/
+
+void wxGradientButton::Init()
+{
+////@begin wxGradientButton member initialisation
+	m_GradientTopStartColour = wxColour( 132, 125, 132 );
+	m_GradientTopEndColour = wxColour( 74, 69, 74 );
+	m_GradientBottomStartColour = wxColour( 0, 0, 0 );
+	m_GradientBottomEndColour = wxColour( 57, 56, 57 );
+	m_PressedColourTop = wxColour( 57, 56, 57 );
+	m_PressedColourBottom = wxColour( 0, 0, 0 );
+////@end wxGradientButton member initialisation
+}
+
+/*!
+* Control creation for wxGradientButton
+*/
+
+void wxGradientButton::CreateControls()
+{
+////@begin wxGradientButton content construction
+	this->SetForegroundColour( wxColour( 255, 255, 255 ) );
+	this->SetBackgroundColour( wxColour( 0, 0, 0 ) );
+	this->SetFont( wxFont( 8, wxSWISS, wxNORMAL, wxBOLD, false, wxT( "Tahoma" ) ) );
+////@end wxGradientButton content construction
+}
+
+/*!
+* Should we show tooltips?
+*/
+
+bool wxGradientButton::ShowToolTips()
+{
+	return true;
+}
+
+/*!
+* Get bitmap resources
+*/
+
+wxBitmap wxGradientButton::GetBitmapResource( const wxString& name )
+{
+// Bitmap retrieval
+////@begin wxGradientButton bitmap retrieval
+	wxUnusedVar( name );
+	return wxNullBitmap;
+////@end wxGradientButton bitmap retrieval
+}
+
+/*!
+* Get icon resources
+*/
+
+wxIcon wxGradientButton::GetIconResource( const wxString& name )
+{
+// Icon retrieval
+////@begin wxGradientButton icon retrieval
+	wxUnusedVar( name );
+	return wxNullIcon;
+////@end wxGradientButton icon retrieval
+}
+
+wxSize wxGradientButton::DoGetBestSize() const
+{
+	wxSize labelSize = wxDefaultSize;
+	GetTextExtent( m_Label, &labelSize.x, &labelSize.y );
+	return wxSize( wxMax( 40, labelSize.x + 20 ), wxMax( 20, labelSize.y + 10 ) );
+}
+
+/*!
+* wxEVT_PAINT event handler for ID_WXGRADIENTBUTTON
+*/
+
+void wxGradientButton::OnPaint( wxPaintEvent& event )
+{
+// Before editing this code, remove the block markers.
+	wxBufferedPaintDC dc( this );
+
+	wxRect clientRect = GetClientRect();
+	wxRect gradientRect = clientRect;
+	gradientRect.SetHeight( gradientRect.GetHeight() / 2 +
+	                        ( ( GetCapture() == this ) ? 1 : 0 ) );
+	if ( GetCapture() != this )
+	{
+		dc.GradientFillLinear( gradientRect,
+		                       m_GradientTopStartColour, m_GradientTopEndColour, wxSOUTH );
+	}
+	else
+	{
+		dc.SetPen( wxPen( m_PressedColourTop ) );
+		dc.SetBrush( wxBrush( m_PressedColourTop ) );
+		dc.DrawRectangle( gradientRect );
+	}
+
+	gradientRect.Offset( 0, gradientRect.GetHeight() );
+
+	if ( GetCapture() != this )
+	{
+		dc.GradientFillLinear( gradientRect,
+		                       m_GradientBottomStartColour, m_GradientBottomEndColour, wxSOUTH );
+	}
+	else
+	{
+		dc.SetPen( wxPen( m_PressedColourBottom ) );
+		dc.SetBrush( wxBrush( m_PressedColourBottom ) );
+		dc.DrawRectangle( gradientRect );
+	}
+	dc.SetPen( wxPen( GetBackgroundColour() ) );
+	dc.SetBrush( *wxTRANSPARENT_BRUSH );
+	dc.DrawRectangle( 0, 0, clientRect.GetWidth(), clientRect.GetHeight() );
+	dc.SetFont( GetFont() );
+	dc.SetTextForeground( GetForegroundColour() );
+	if ( GetCapture() == this )
+	{
+		clientRect.Offset( 1, 1 );
+	}
+	dc.DrawLabel( m_Label, clientRect, wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL );
+}
+
+/*!
+* wxEVT_LEFT_DOWN event handler for ID_WXGRADIENTBUTTON
+*/
+
+void wxGradientButton::OnLeftDown( wxMouseEvent& event )
+{
+	if ( GetCapture() != this )
+	{
+		CaptureMouse();
+		Refresh();
+	}
+}
+
+/*!
+* wxEVT_LEFT_UP event handler for ID_WXGRADIENTBUTTON
+*/
+
+void wxGradientButton::OnLeftUp( wxMouseEvent& event )
+{
+	if ( GetCapture() == this )
+	{
+		ReleaseMouse();
+		Refresh();
+		if ( GetClientRect().Contains( event.GetPosition() ) )
+		{
+			wxCommandEvent evt( wxEVT_COMMAND_BUTTON_CLICKED, GetId() );
+			GetEventHandler()->AddPendingEvent( evt );
+		}
+	}
+}
+
+/*!
+* wxEVT_ERASE_BACKGROUND event handler for ID_WXGRADIENTBUTTON
+*/
+
+void wxGradientButton::OnEraseBackground( wxEraseEvent& event )
+{
+}
+
+/*!
+* wxEVT_SIZE event handler for ID_WXGRADIENTBUTTON
+*/
+
+void wxGradientButton::OnSize( wxSizeEvent& event )
+{
+	Refresh();
+}
+
+
diff --git a/src/gui/wxgradientbutton.h b/src/gui/wxgradientbutton.h
new file mode 100644
index 0000000..405d879
--- /dev/null
+++ b/src/gui/wxgradientbutton.h
@@ -0,0 +1,172 @@
+#ifndef SPRINGLOBBY_HEADERGUARD_WXGRADIENTBUTTON_H
+#define SPRINGLOBBY_HEADERGUARD_WXGRADIENTBUTTON_H
+
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wxGradientButton.h
+// Purpose:
+// Author:      Volodymir (T-Rex) Tryapichko
+// Modified by:
+// Created:     01/08/2008 20:25:42
+// RCS-ID:
+// Copyright:   Volodymir (T-Rex) Tryapichko, 2008
+// Licence:
+/////////////////////////////////////////////////////////////////////////////
+
+/*!
+* Includes
+*/
+
+////@begin includes
+////@end includes
+
+/*!
+* Forward declarations
+*/
+
+////@begin forward declarations
+class wxGradientButton;
+////@end forward declarations
+
+/*!
+* Control identifiers
+*/
+
+////@begin control identifiers
+#define ID_WXGRADIENTBUTTON 10003
+#define SYMBOL_WXGRADIENTBUTTON_STYLE wxSIMPLE_BORDER|wxFULL_REPAINT_ON_RESIZE
+#define SYMBOL_WXGRADIENTBUTTON_IDNAME ID_WXGRADIENTBUTTON
+#define SYMBOL_WXGRADIENTBUTTON_SIZE wxSize(100, 100)
+#define SYMBOL_WXGRADIENTBUTTON_POSITION wxDefaultPosition
+////@end control identifiers
+
+/*!
+* wxGradientButton class declaration
+*/
+
+class wxGradientButton: public wxWindow
+{
+		DECLARE_DYNAMIC_CLASS( wxGradientButton )
+		DECLARE_EVENT_TABLE()
+
+		wxSize DoGetBestSize() const;
+	public:
+/// Constructors
+		wxGradientButton();
+		wxGradientButton( wxWindow* parent,
+		                  wxWindowID id = ID_WXGRADIENTBUTTON,
+		                  const wxString & label = wxEmptyString,
+		                  const wxPoint& pos = wxDefaultPosition,
+		                  const wxSize& size = wxSize( 100, 100 ),
+		                  long style = wxSIMPLE_BORDER );
+
+/// Creation
+		bool Create( wxWindow* parent,
+		             wxWindowID id = ID_WXGRADIENTBUTTON,
+		             const wxString & label = wxEmptyString,
+		             const wxPoint& pos = wxDefaultPosition,
+		             const wxSize& size = wxSize( 100, 100 ),
+		             long style = wxSIMPLE_BORDER );
+
+/// Destructor
+		~wxGradientButton();
+
+/// Initialises member variables
+		void Init();
+
+/// Creates the controls and sizers
+		void CreateControls();
+
+////@begin wxGradientButton event handler declarations
+
+/// wxEVT_SIZE event handler for ID_WXGRADIENTBUTTON
+		void OnSize( wxSizeEvent& event );
+
+/// wxEVT_PAINT event handler for ID_WXGRADIENTBUTTON
+		void OnPaint( wxPaintEvent& event );
+
+/// wxEVT_ERASE_BACKGROUND event handler for ID_WXGRADIENTBUTTON
+		void OnEraseBackground( wxEraseEvent& event );
+
+/// wxEVT_LEFT_DOWN event handler for ID_WXGRADIENTBUTTON
+		void OnLeftDown( wxMouseEvent& event );
+
+/// wxEVT_LEFT_UP event handler for ID_WXGRADIENTBUTTON
+		void OnLeftUp( wxMouseEvent& event );
+
+////@end wxGradientButton event handler declarations
+
+////@begin wxGradientButton member function declarations
+
+		wxString GetLabel() const {
+			return m_Label ;
+		}
+		void SetLabel( wxString value ) {
+			m_Label = value ;
+		}
+
+		wxColour GetGradientTopStartColour() const {
+			return m_GradientTopStartColour ;
+		}
+		void SetGradientTopStartColour( wxColour value ) {
+			m_GradientTopStartColour = value ;
+		}
+
+		wxColour GetGradientTopEndColour() const {
+			return m_GradientTopEndColour ;
+		}
+		void SetGradientTopEndColour( wxColour value ) {
+			m_GradientTopEndColour = value ;
+		}
+
+		wxColour GetGradientBottomStartColour() const {
+			return m_GradientBottomStartColour ;
+		}
+		void SetGradientBottomStartColour( wxColour value ) {
+			m_GradientBottomStartColour = value ;
+		}
+
+		wxColour GetGradientBottomEndColour() const {
+			return m_GradientBottomEndColour ;
+		}
+		void SetGradientBottomEndColour( wxColour value ) {
+			m_GradientBottomEndColour = value ;
+		}
+
+		wxColour GetPressedColourTop() const {
+			return m_PressedColourTop ;
+		}
+		void SetPressedColourTop( wxColour value ) {
+			m_PressedColourTop = value ;
+		}
+
+		wxColour GetPressedColourBottom() const {
+			return m_PressedColourBottom ;
+		}
+		void SetPressedColourBottom( wxColour value ) {
+			m_PressedColourBottom = value ;
+		}
+
+/// Retrieves bitmap resources
+		wxBitmap GetBitmapResource( const wxString& name );
+
+/// Retrieves icon resources
+		wxIcon GetIconResource( const wxString& name );
+////@end wxGradientButton member function declarations
+
+/// Should we show tooltips?
+		static bool ShowToolTips();
+
+////@begin wxGradientButton member variables
+		wxString m_Label;
+		wxColour m_GradientTopStartColour;
+		wxColour m_GradientTopEndColour;
+		wxColour m_GradientBottomStartColour;
+		wxColour m_GradientBottomEndColour;
+		wxColour m_PressedColourTop;
+		wxColour m_PressedColourBottom;
+////@end wxGradientButton member variables
+};
+
+
+#endif // SPRINGLOBBY_HEADERGUARD_WXGRADIENTBUTTON_H
+
diff --git a/src/hostbattledialog.cpp b/src/hostbattledialog.cpp
index a23ebcb..c911452 100644
--- a/src/hostbattledialog.cpp
+++ b/src/hostbattledialog.cpp
@@ -31,10 +31,11 @@
 #include "user.h"
 #include "uiutils.h"
 #include "utils/controls.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 #include "ui.h"
 #include "server.h"
 
+
 #include "images/rank0.xpm"
 #include "images/rank1.xpm"
 #include "images/rank2.xpm"
@@ -330,6 +331,12 @@ void HostBattleDialog::OnNatChange( wxCommandEvent& /*unused*/  )
 	m_port_text->Enable( m_nat_radios->GetSelection() == 0 );
 }
 
+void HostBattleDialog::OnReloadMods( wxCommandEvent& event )
+{
+    usync().ReloadUnitSyncLib();
+    ReloadModList();
+}
+
 void HostBattleDialog::OnPickRelayHost( wxCommandEvent& event )
 {
 		PopupMenu( m_relayhost_list );
@@ -355,9 +362,3 @@ void HostBattleDialog::OnUseRelay( wxCommandEvent& event )
     m_relayed_host_pick->Show( m_relayed_host_check->IsChecked() );
     Layout();
 }
-
-void HostBattleDialog::OnReloadMods( wxCommandEvent& event )
-{
-    usync().ReloadUnitSyncLib();
-    ReloadModList();
-}
diff --git a/src/httpdownloader.cpp b/src/httpdownloader.cpp
index 3c2aad1..f9d2ffd 100644
--- a/src/httpdownloader.cpp
+++ b/src/httpdownloader.cpp
@@ -16,7 +16,6 @@
 
 
 #include "utils/conversion.h"
-#include "globalevents.h"
 
 template <class ParentClass>
 HttpDownloaderThread<ParentClass>::HttpDownloaderThread(  const wxString& FileUrl, const wxString& DestPath,
diff --git a/src/ibattle.cpp b/src/ibattle.cpp
index fd326bd..308f59d 100644
--- a/src/ibattle.cpp
+++ b/src/ibattle.cpp
@@ -78,7 +78,8 @@ std::vector<wxColour> &IBattle::GetFixColoursPalette( int numteams )
             }
         }
     }
-    if ( result.size() > numteams ) return result;
+    if ( long(result.size()) < numteams )
+        return result;
     return GetBigFixColoursPalette( numteams );
 }
 
@@ -949,7 +950,7 @@ void IBattle::OnSelfLeftBattle()
     ClearStartRects();
 }
 
-void IBattle::OnUnitSyncReloaded()
+void IBattle::OnUnitsyncReloaded( GlobalEvents::GlobalEventData /*data*/ )
 {
   if ( !m_host_mod.hash.IsEmpty() ) m_mod_exists = usync().ModExists( m_host_mod.name, m_host_mod.hash);
   else m_mod_exists = usync().ModExists( m_host_mod.name );
diff --git a/src/ibattle.h b/src/ibattle.h
index e8427d9..ed60bc4 100644
--- a/src/ibattle.h
+++ b/src/ibattle.h
@@ -10,7 +10,7 @@
 #include "mmoptionswrapper.h"
 #include "userlist.h"
 #include "tdfcontainer.h"
-
+#include "utils/isink.h"
 
 const unsigned int DEFAULT_SERVER_PORT = 8452;
 const unsigned int DEFAULT_EXTERNAL_UDP_SOURCE_PORT = 16941;
@@ -105,7 +105,7 @@ struct BattleOptions
 	bool guilistactiv;
 };
 
-class IBattle: public UserList, public wxEvtHandler
+class IBattle: public UserList, public wxEvtHandler, public UnitsyncReloadedSink< IBattle >
 {
 public:
 
@@ -163,28 +163,28 @@ public:
     };
 
 
-		struct TeamInfoContainer
-		{
-				bool exist;
-				int TeamLeader;
-				int StartPosX;
-				int StartPosY;
-				int AllyTeam;
-				wxColour RGBColor;
-				wxString SideName;
-				int Handicap;
-				int SideNum;
-		};
+    struct TeamInfoContainer
+    {
+            bool exist;
+            int TeamLeader;
+            int StartPosX;
+            int StartPosY;
+            int AllyTeam;
+            wxColor RGBColor;
+            wxString SideName;
+            int Handicap;
+            int SideNum;
+    };
 
-		struct AllyInfoContainer
-		{
-				bool exist;
-				int NumAllies;
-				int StartRectLeft;
-				int StartRectTop;
-				int StartRectRight;
-				int StartRectBottom;
-		};
+    struct AllyInfoContainer
+    {
+            bool exist;
+            int NumAllies;
+            int StartRectLeft;
+            int StartRectTop;
+            int StartRectRight;
+            int StartRectBottom;
+    };
 
 
     /**@}*/
@@ -205,7 +205,7 @@ public:
 
     virtual int GetMyPlayerNum();
 
-		virtual int GetPlayerNum( const User& user );
+    virtual int GetPlayerNum( const User& user );
 
     virtual void SetHostMod( const wxString& modname, const wxString& hash );
     virtual void SetLocalMod( const UnitSyncMod& mod );
@@ -221,15 +221,15 @@ public:
     void OnUserBattleStatusUpdated( User &user, UserBattleStatus status );
     void OnUserRemoved( User& user );
 
-		bool IsEveryoneReady();
+    bool IsEveryoneReady();
 
-		void ForceSide( User& user, int side );
-		void ForceAlly( User& user, int ally );
-		void ForceTeam( User& user, int team );
-		void ForceColour( User& user, const wxColour& col );
-		void ForceSpectator( User& user, bool spectator );
-		void SetHandicap( User& user, int handicap);
-		void KickPlayer( User& user );
+    void ForceSide( User& user, int side );
+    void ForceAlly( User& user, int ally );
+    void ForceTeam( User& user, int team );
+    void ForceColour( User& user, const wxColour& col );
+    void ForceSpectator( User& user, bool spectator );
+    void SetHandicap( User& user, int handicap);
+    void KickPlayer( User& user );
 
 
     virtual void AddStartRect( unsigned int allyno, unsigned int left, unsigned int top, unsigned int right, unsigned int bottom );
@@ -249,7 +249,7 @@ public:
 
     virtual void SendHostInfo( HostInfo update );
     virtual void SendHostInfo( const wxString& Tag );
-		virtual void Update ( const wxString& Tag );
+    virtual void Update ( const wxString& Tag );
 
     virtual unsigned int GetNumBots() const;
     virtual User& OnBotAdded( const wxString& nick, const UserBattleStatus& bs );
@@ -262,7 +262,7 @@ public:
     virtual void UnrestrictAllUnits();
     virtual std::map<wxString,int> RestrictedUnits();
 
-    virtual void OnUnitSyncReloaded();
+    virtual void OnUnitsyncReloaded( GlobalEvents::GlobalEventData /*data*/ );
 
     virtual OptionsWrapper& CustomBattleOptions()
     {
diff --git a/src/iunitsync.h b/src/iunitsync.h
index 13c1042..64557a2 100644
--- a/src/iunitsync.h
+++ b/src/iunitsync.h
@@ -7,6 +7,7 @@
 #include <map>
 
 #include "mmoptionmodel.h"
+#include "utils/globalevents.h"
 
 class wxImage;
 
@@ -163,6 +164,7 @@ class IUnitSync
 
     virtual wxArrayString GetSides( const wxString& modname  ) = 0;
     virtual wxImage GetSidePicture( const wxString& modname, const wxString& SideName ) =0;
+    virtual wxImage GetImage( const wxString& modname, const wxString& image_path ) =0;
 
     virtual int GetNumUnits( const wxString& modname ) = 0;
     virtual wxArrayString GetUnitsList( const wxString& modname ) = 0;
@@ -172,8 +174,8 @@ class IUnitSync
 
     virtual bool IsLoaded() = 0;
 
-		virtual wxString GetDefaultNick() = 0;
-		virtual void SetDefaultNick( const wxString& nick ) = 0;
+    virtual wxString GetDefaultNick() = 0;
+    virtual void SetDefaultNick( const wxString& nick ) = 0;
 
     virtual wxString GetSpringVersion() = 0;
     virtual bool VersionSupports( GameFeature feature ) = 0;
@@ -182,7 +184,8 @@ class IUnitSync
     virtual wxArrayString GetAIInfos( int index ) = 0;
     virtual GameOptions GetAIOptions( const wxString& modname, int index ) = 0;
 
-    virtual bool ReloadUnitSyncLib() = 0;
+    virtual bool ReloadUnitSyncLib(  ) = 0;
+    virtual void ReloadUnitSyncLib( GlobalEvents::GlobalEventData data ) = 0;
 
     virtual wxArrayString GetPlaybackList( bool ReplayType = true ) = 0; //savegames otherwise
 
@@ -207,6 +210,10 @@ class IUnitSync
 
     virtual wxArrayString GetScreenshotFilenames() = 0;
 
+    /** \param name Modname **/
+    virtual GameOptions GetModCustomizations( const wxString& modname ) = 0;
+    virtual GameOptions GetSkirmishOptions( const wxString& modname, const wxString& skirmish_name ) = 0;
+
     private:
         IUnitSync( const IUnitSync& );
 };
diff --git a/src/lobbyoptionstab.cpp b/src/lobbyoptionstab.cpp
index aeb65f8..57cf7e9 100644
--- a/src/lobbyoptionstab.cpp
+++ b/src/lobbyoptionstab.cpp
@@ -13,8 +13,7 @@
 #include "lobbyoptionstab.h"
 #include "nonportable.h"
 #include "settings.h"
-#include "springlobbyapp.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 #include "utils/controls.h"
 #include "aui/auimanager.h"
 #include "ui.h"
@@ -160,8 +159,9 @@ LobbyOptionsTab::LobbyOptionsTab(wxWindow* parent)
     m_start_tab_sizer->Add( m_start_tab , 0,  wxALIGN_CENTER_VERTICAL , 5 );
     m_main_sizer->Add( m_start_tab_sizer, 0, wxALL, 5 );
 
-    SetScrollRate( 10, 10 );
+    SetScrollRate( SCROLL_RATE, SCROLL_RATE );
     SetSizer( m_main_sizer );
+    Layout();
 }
 
 LobbyOptionsTab::~LobbyOptionsTab()
diff --git a/src/mainchattab.cpp b/src/mainchattab.cpp
index e9ecf9c..19786d3 100644
--- a/src/mainchattab.cpp
+++ b/src/mainchattab.cpp
@@ -16,6 +16,7 @@
 #include "utils/debug.h"
 #include "utils/conversion.h"
 #include "utils/math.h"
+#include "utils/controls.h"
 #include "mainwindow.h"
 #include "channel/channel.h"
 #include "user.h"
@@ -39,9 +40,8 @@ BEGIN_EVENT_TABLE( MainChatTab, wxPanel )
 END_EVENT_TABLE()
 
 
-MainChatTab::MainChatTab( wxWindow* parent, Ui& ui )
-    : wxScrolledWindow( parent, -1, wxDefaultPosition, wxDefaultSize, 0, wxPanelNameStr ),
-    m_ui( ui )
+MainChatTab::MainChatTab( wxWindow* parent )
+    : wxScrolledWindow( parent, -1, wxDefaultPosition, wxDefaultSize, 0, wxPanelNameStr )
 {
 	GetAui().manager->AddPane( this, wxLEFT, _T( "mainchattab" ) );
 
@@ -50,7 +50,7 @@ MainChatTab::MainChatTab( wxWindow* parent, Ui& ui )
 
 	m_main_sizer = new wxBoxSizer( wxVERTICAL );
 
-	m_chat_tabs = new SLNotebook( this, CHAT_TABS, wxDefaultPosition, wxDefaultSize, wxAUI_NB_DEFAULT_STYLE | wxAUI_NB_TOP | wxAUI_NB_TAB_EXTERNAL_MOVE | wxAUI_NB_WINDOWLIST_BUTTON );
+	m_chat_tabs = new SLChatNotebook( this, CHAT_TABS, wxDefaultPosition, wxDefaultSize, wxAUI_NB_DEFAULT_STYLE | wxAUI_NB_TOP | wxAUI_NB_TAB_EXTERNAL_MOVE | wxAUI_NB_WINDOWLIST_BUTTON );
 	m_chat_tabs ->SetArtProvider( new SLArtProvider );
 
 	wxBitmap userchat ( userchat_xpm ); //*charArr2wxBitmap(userchat_png, sizeof(userchat_png) );
@@ -75,7 +75,8 @@ MainChatTab::MainChatTab( wxWindow* parent, Ui& ui )
 
 	SetSizer( m_main_sizer );
 	m_main_sizer->SetSizeHints( this );
-	SetScrollRate( 3, 3 );
+	SetScrollRate( SCROLL_RATE, SCROLL_RATE );
+
 	Layout();
 }
 
@@ -189,15 +190,15 @@ void MainChatTab::RejoinChannels()
 			catch ( ... ) {}
 			if ( !alreadyin )
 			{
-				m_ui.GetServer().JoinChannel( name, _T( "" ) );
-				tmp->SetChannel( &m_ui.GetServer().GetChannel( name ) );
+				ui().GetServer().JoinChannel( name, _T( "" ) );
+				tmp->SetChannel( &ui().GetServer().GetChannel( name ) );
 			}
 
 		} else if ( tmp->GetPanelType() == CPT_User )
 		{
 
 			wxString name = m_chat_tabs->GetPageText( i );
-			if ( m_ui.GetServer().UserExists( name ) ) tmp->SetUser( &m_ui.GetServer().GetUser( name ) );
+			if ( ui().GetServer().UserExists( name ) ) tmp->SetUser( &ui().GetServer().GetUser( name ) );
 
 		}
 	}
@@ -218,7 +219,7 @@ ChatPanel* MainChatTab::AddChatPanel( Channel& channel )
 		}
 	}
 
-	ChatPanel* chat = new ChatPanel( m_chat_tabs, m_ui, channel, m_imagelist );
+	ChatPanel* chat = new ChatPanel( m_chat_tabs, channel, m_imagelist );
 	m_chat_tabs->InsertPage( m_chat_tabs->GetPageCount() - 1, chat, channel.GetName(), true, wxBitmap( channel_xpm ) );
 	chat->FocusInputBox();
 	return chat;
@@ -238,7 +239,7 @@ ChatPanel* MainChatTab::AddChatPanel( Server& server, const wxString& name )
 		}
 	}
 
-	ChatPanel* chat = new ChatPanel( m_chat_tabs, m_ui, server, m_imagelist );
+	ChatPanel* chat = new ChatPanel( m_chat_tabs, server, m_imagelist );
 	m_chat_tabs->InsertPage( m_chat_tabs->GetPageCount() - 1, chat, name, true, wxBitmap( server_xpm ) );
 	return chat;
 }
@@ -256,7 +257,7 @@ ChatPanel* MainChatTab::AddChatPanel( const User& user )
 		}
 	}
 	int selection = m_chat_tabs->GetSelection();
-	ChatPanel* chat = new ChatPanel( m_chat_tabs, m_ui, user, m_imagelist );
+	ChatPanel* chat = new ChatPanel( m_chat_tabs, user, m_imagelist );
 	m_chat_tabs->InsertPage( m_chat_tabs->GetPageCount() - 1, chat, user.GetNick(), true, wxBitmap( userchat_xpm ) );
 	if ( selection > 0 ) m_chat_tabs->SetSelection( selection );
 	return chat;
@@ -359,3 +360,12 @@ bool MainChatTab::RemoveChatPanel( ChatPanel* panel )
 	return false;
 }
 
+void MainChatTab::LoadPerspective( const wxString& perspective_name  )
+{
+    LoadNotebookPerspective( m_chat_tabs, perspective_name );
+}
+
+void MainChatTab::SavePerspective( const wxString& perspective_name )
+{
+    SaveNotebookPerspective( m_chat_tabs, perspective_name );
+}
diff --git a/src/mainchattab.h b/src/mainchattab.h
index 242a363..16248b4 100644
--- a/src/mainchattab.h
+++ b/src/mainchattab.h
@@ -9,7 +9,7 @@ class Server;
 class Channel;
 class User;
 class wxAuiNotebookEvent;
-class SLNotebook;
+class SLChatNotebook;
 class wxBoxSizer;
 class wxImageList;
 class wxString;
@@ -18,7 +18,7 @@ class wxString;
 class MainChatTab : public wxScrolledWindow
 {
   public:
-    MainChatTab( wxWindow* parent, Ui& ui );
+    MainChatTab( wxWindow* parent );
     ~MainChatTab();
 
     ChatPanel* GetActiveChatPanel();
@@ -48,12 +48,13 @@ class MainChatTab : public wxScrolledWindow
 
     wxImage ReplaceChannelStatusColour( wxBitmap img, const wxColour& colour );
 
-  protected:
+    void LoadPerspective( const wxString& perspective_name = wxEmptyString );
+    void SavePerspective( const wxString& perspective_name = wxEmptyString );
 
-    Ui& m_ui;
+  protected:
 
     wxWindow* m_close_window;
-    SLNotebook* m_chat_tabs;
+    SLChatNotebook* m_chat_tabs;
     wxBoxSizer* m_main_sizer;
     wxImageList* m_imagelist;
     ChatPanel* m_server_chat;
diff --git a/src/mainjoinbattletab.cpp b/src/mainjoinbattletab.cpp
index bcd97d7..5d6989a 100644
--- a/src/mainjoinbattletab.cpp
+++ b/src/mainjoinbattletab.cpp
@@ -12,6 +12,7 @@
 #include <wx/log.h>
 
 #include "ui.h"
+#include "mainwindow.h" //used only for global pers load/save, remove when signals are merged
 #include "settings.h"
 #include "battle.h"
 #include "mainjoinbattletab.h"
@@ -33,19 +34,18 @@
 
 #include <stdexcept>
 
-MainJoinBattleTab::MainJoinBattleTab( wxWindow* parent, Ui& ui )
+MainJoinBattleTab::MainJoinBattleTab( wxWindow* parent )
     : wxScrolledWindow( parent, -1 ),
     m_battle_tab( 0 ),
     m_map_tab( 0 ),
     m_opts_tab( 0 ),
-    m_mm_opts_tab( 0 ),
-    m_ui( ui )
+    m_mm_opts_tab( 0 )
 {
 	GetAui().manager->AddPane( this, wxLEFT, _T( "mainjoinbattletab" ) );
 
 	m_main_sizer = new wxBoxSizer( wxVERTICAL );
 
-	m_tabs = new SLNotebook( this, BATTLE_TABS, wxDefaultPosition, wxDefaultSize, wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_MOVE | wxAUI_NB_SCROLL_BUTTONS | wxAUI_NB_TOP | wxAUI_NB_TAB_EXTERNAL_MOVE );
+	m_tabs = new SLNotebook( this, _T( "mainjoinbattletab" ), BATTLE_TABS ,wxDefaultPosition, wxDefaultSize, wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_MOVE | wxAUI_NB_SCROLL_BUTTONS | wxAUI_NB_TOP | wxAUI_NB_TAB_EXTERNAL_MOVE );
 	m_tabs->SetArtProvider( new SLArtProvider );
 
 	m_imagelist = new wxImageList( 12, 12 );
@@ -54,12 +54,12 @@ MainJoinBattleTab::MainJoinBattleTab( wxWindow* parent, Ui& ui )
 	m_imagelist->Add( wxIcon( battle_map_xpm ) );
 	m_imagelist->Add( wxIcon( battle_settings_xpm ) );
 
-	m_list_tab = new BattleListTab( m_tabs, m_ui );
+	m_list_tab = new BattleListTab( m_tabs );
 	m_tabs->AddPage( m_list_tab, _( "Battle list" ), true, wxIcon( battle_list_xpm ) );
 
 	m_main_sizer->Add( m_tabs, 1, wxEXPAND );
 
-	SetScrollRate( 3, 3 );
+	SetScrollRate( SCROLL_RATE, SCROLL_RATE );
 	SetSizer( m_main_sizer );
 	Layout();
 }
@@ -67,7 +67,6 @@ MainJoinBattleTab::MainJoinBattleTab( wxWindow* parent, Ui& ui )
 
 MainJoinBattleTab::~MainJoinBattleTab()
 {
-
 }
 
 
@@ -134,20 +133,22 @@ BattleListTab& MainJoinBattleTab::GetBattleListTab()
 
 void MainJoinBattleTab::JoinBattle( Battle& battle )
 {
-	LeaveCurrentBattle();
+	LeaveCurrentBattle( true );
 
-	m_battle_tab = new BattleRoomTab( m_tabs, m_ui, battle );
+	m_battle_tab = new BattleRoomTab( m_tabs, battle );
 	m_tabs->InsertPage( 1, m_battle_tab, _( "Battleroom" ), true, wxIcon( battle_xpm ) );
 
-	m_map_tab = new BattleMapTab( m_tabs, m_ui, battle );
+	m_map_tab = new BattleMapTab( m_tabs, battle );
 	m_tabs->InsertPage( 2, m_map_tab, _( "Map" ), false, wxIcon( battle_map_xpm ) );
 
 	m_mm_opts_tab = new BattleroomMMOptionsTab<Battle>( battle, m_tabs );
 	m_tabs->InsertPage( 3, m_mm_opts_tab, _( "Options" ), false, wxIcon( battle_settings_xpm ) );
 
-	m_opts_tab = new BattleOptionsTab( m_tabs, m_ui, battle );
+	m_opts_tab = new BattleOptionsTab( m_tabs, battle );
 	m_tabs->InsertPage( 4, m_opts_tab, _( "Unit Restrictions" ), false, wxIcon( battle_settings_xpm ) );
 
+    PostSwitchBattlePerspective( );
+
 #ifdef __WXMSW__
 	Refresh(); // this is needed to avoid a weird frame overlay glitch in windows
 #endif
@@ -160,8 +161,10 @@ void MainJoinBattleTab::HostBattle( Battle& battle )
 }
 
 
-void MainJoinBattleTab::LeaveCurrentBattle()
+void MainJoinBattleTab::LeaveCurrentBattle( bool called_from_join )
 {
+    PreSwitchBattlePerspective();
+
 	if ( m_mm_opts_tab ) {
 		m_tabs->DeletePage( 4 );
 		m_mm_opts_tab = 0;
@@ -179,6 +182,8 @@ void MainJoinBattleTab::LeaveCurrentBattle()
 		m_battle_tab = 0;
 	}
 
+    if( !called_from_join )
+        PostSwitchBattlePerspective();
 
 }
 
@@ -195,23 +200,6 @@ void MainJoinBattleTab::BattleUserUpdated( User& user )
 	} catch ( ... ) {}
 }
 
-
-void MainJoinBattleTab::OnUnitSyncReloaded()
-{
-	wxLogDebugFunc( _T( "" ) );
-	GetBattleListTab().OnUnitSyncReloaded();
-	wxLogMessage( _T( "Battle list tab reloaded" ) );
-	try
-	{
-		GetBattleRoomTab().OnUnitSyncReloaded();
-	} catch ( ... ) {}
-	try
-	{
-		GetBattleMapTab().OnUnitSyncReloaded();
-	} catch ( ... ) {}
-	wxLogMessage( _T( "Battle list tab reloaded" ) );
-}
-
 void MainJoinBattleTab::OnConnected()
 {
 	if ( m_list_tab ) {
@@ -262,3 +250,27 @@ BattleroomMMOptionsTab<Battle>& MainJoinBattleTab::GetMMOptionsTab()
 	return *m_mm_opts_tab;
 }
 
+void MainJoinBattleTab::LoadPerspective( const wxString& perspective_name  )
+{
+    LoadNotebookPerspective( m_tabs, perspective_name );
+}
+
+void MainJoinBattleTab::SavePerspective( const wxString& perspective_name )
+{
+    SaveNotebookPerspective( m_tabs, perspective_name );
+}
+
+void MainJoinBattleTab::PostSwitchBattlePerspective( )
+{
+    ui().mw().LoadPerspectives( );
+}
+
+void MainJoinBattleTab::PreSwitchBattlePerspective( )
+{
+    ui().mw().SavePerspectives(  );
+}
+
+bool MainJoinBattleTab::UseBattlePerspective()
+{
+    return m_tabs->GetPageCount() > 1;
+}
diff --git a/src/mainjoinbattletab.h b/src/mainjoinbattletab.h
index 02ac712..8066de8 100644
--- a/src/mainjoinbattletab.h
+++ b/src/mainjoinbattletab.h
@@ -19,7 +19,7 @@ class wxNotebook;
 class MainJoinBattleTab : public wxScrolledWindow
 {
   public:
-    MainJoinBattleTab( wxWindow* parent, Ui& ui );
+    MainJoinBattleTab( wxWindow* parent );
      ~MainJoinBattleTab();
 
     BattleListTab& GetBattleListTab();
@@ -29,7 +29,7 @@ class MainJoinBattleTab : public wxScrolledWindow
     //void UpdateCurrentBattle();
     void UpdateCurrentBattle();
     void UpdateCurrentBattle( const wxString& Tag );
-    void LeaveCurrentBattle();
+    void LeaveCurrentBattle( bool called_from_join = false );
     Battle* GetCurrentBattle();
     ChatPanel* GetActiveChatPanel();
 
@@ -41,10 +41,12 @@ class MainJoinBattleTab : public wxScrolledWindow
 
     void ReloadPresetList();
 
-    void OnUnitSyncReloaded();
-
     void OnConnected();
 
+    void LoadPerspective( const wxString& perspective_name = wxEmptyString );
+    void SavePerspective( const wxString& perspective_name = wxEmptyString );
+    bool UseBattlePerspective();
+
   protected:
     wxBoxSizer* m_main_sizer;
 
@@ -58,7 +60,9 @@ class MainJoinBattleTab : public wxScrolledWindow
     BattleMapTab* m_map_tab;
     BattleOptionsTab* m_opts_tab;
     BattleroomMMOptionsTab<Battle>* m_mm_opts_tab;
-    Ui& m_ui;
+
+    void PreSwitchBattlePerspective ( );
+    void PostSwitchBattlePerspective( );
 
     enum {
         BATTLE_TABS = wxID_HIGHEST
diff --git a/src/mainoptionstab.cpp b/src/mainoptionstab.cpp
index c57fbda..82d1673 100644
--- a/src/mainoptionstab.cpp
+++ b/src/mainoptionstab.cpp
@@ -16,13 +16,13 @@
 #include "aui/auimanager.h"
 #include "aui/artprovider.h"
 #include "aui/slbook.h"
-#include "ui.h"
 #include "springoptionstab.h"
 #include "chatoptionstab.h"
 #include "settings.h"
 #include "uiutils.h"
 #include "groupoptionspanel.h"
 #include "utils/debug.h"
+#include "utils/controls.h"
 #include "utils/conversion.h"
 
 #ifndef NO_TORRENT_SYSTEM
@@ -48,28 +48,40 @@ END_EVENT_TABLE()
  * rather then those having to implement (and duplicate) this functionality. \n
  * See SpringOptionsTab, TorrentOptionsPanel, ChatOptionsTab
  */
-MainOptionsTab::MainOptionsTab( wxWindow* parent, Ui& ui ) : wxScrolledWindow( parent, -1 ), m_ui( ui )
+MainOptionsTab::MainOptionsTab( wxWindow* parent )
+    : wxScrolledWindow( parent, -1 )
 {
-	GetAui().manager->AddPane( this, wxLEFT, _T( "mainoptionstab" ) );
-	m_tabs = new SLNotebook( this, OPTIONS_TABS, wxDefaultPosition, wxDefaultSize, wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_MOVE | wxAUI_NB_SCROLL_BUTTONS | wxAUI_NB_TOP | wxAUI_NB_TAB_EXTERNAL_MOVE );
-	m_tabs->SetArtProvider( new SLArtProvider );
-	m_imagelist = new wxImageList( 12, 12 );
-	m_imagelist->Add( wxIcon( spring_xpm ) );
-	m_imagelist->Add( charArr2wxBitmap( torrentoptionspanel_icon_png, sizeof( torrentoptionspanel_icon_png ) )  );
-	m_imagelist->Add( wxIcon( userchat_xpm ) );
-	m_imagelist->Add( wxIcon( userchat_xpm ) );
-	m_imagelist->Add( wxIcon( springlobby_xpm ) );
-
-	m_spring_opts = new SpringOptionsTab( m_tabs, m_ui );
+    GetAui().manager->AddPane( this, wxLEFT, _T("mainoptionstab") );
+    m_tabs = new SLNotebook( this, _T("mainoptionstab"), OPTIONS_TABS, wxDefaultPosition, wxDefaultSize, wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_MOVE | wxAUI_NB_SCROLL_BUTTONS | wxAUI_NB_TOP | wxAUI_NB_TAB_EXTERNAL_MOVE );
+    m_tabs->SetArtProvider(new SLArtProvider);
+    m_imagelist = new wxImageList( 12, 12 );
+    m_imagelist->Add( wxIcon(spring_xpm) );
+    m_imagelist->Add( charArr2wxBitmap( torrentoptionspanel_icon_png, sizeof(torrentoptionspanel_icon_png) )  );
+    m_imagelist->Add( wxIcon(userchat_xpm) );
+    m_imagelist->Add( wxIcon(userchat_xpm) );
+    m_imagelist->Add( wxIcon(springlobby_xpm) );
+
+    m_spring_opts = new SpringOptionsTab( m_tabs );
+    m_tabs->AddPage( m_spring_opts, _("Spring"), true, wxIcon(spring_xpm) );
+
+#ifndef NO_TORRENT_SYSTEM
+    m_torrent_opts = new TorrentOptionsPanel( m_tabs );
+    m_tabs->AddPage( m_torrent_opts, _("P2P"), true, charArr2wxBitmap( torrentoptionspanel_icon_png, sizeof(torrentoptionspanel_icon_png) ) );
+#endif
+
+    m_chat_opts = new ChatOptionsTab( m_tabs );
+    m_tabs->AddPage( m_chat_opts, _("Chat"), true, wxIcon(userchat_xpm) );
+
+	m_spring_opts = new SpringOptionsTab( m_tabs );
 	m_tabs->AddPage( m_spring_opts, _( "Spring" ), true, wxIcon( spring_xpm ) );
 
 #ifndef NO_TORRENT_SYSTEM
-	m_torrent_opts = new TorrentOptionsPanel( m_tabs, m_ui );
+	m_torrent_opts = new TorrentOptionsPanel( m_tabs );
 	m_tabs->AddPage( m_torrent_opts, _( "P2P" ), true, charArr2wxBitmap( torrentoptionspanel_icon_png, sizeof( torrentoptionspanel_icon_png ) ) );
 #endif
 
-	m_chat_opts = new ChatOptionsTab( m_tabs, m_ui );
-	m_tabs->AddPage( m_chat_opts, _( "Chat" ), true, wxIcon( userchat_xpm ) );
+    m_restore_btn = new wxButton( this, wxID_REVERT, _("Restore") );
+    m_apply_btn = new wxButton( this, wxID_APPLY, _("Apply") );
 
 	m_lobby_opts = new LobbyOptionsTab( m_tabs );
 	m_tabs->AddPage ( m_lobby_opts, _( "General" ), true, wxIcon( springlobby_xpm ) );
@@ -90,7 +102,7 @@ MainOptionsTab::MainOptionsTab( wxWindow* parent, Ui& ui ) : wxScrolledWindow( p
 	m_main_sizer->Add( m_button_sizer, 0, wxEXPAND );
 
 	SetSizer( m_main_sizer );
-	SetScrollRate( 3, 3 );
+	SetScrollRate( SCROLL_RATE, SCROLL_RATE );
 	Layout();
 	Refresh();
 }
@@ -98,7 +110,8 @@ MainOptionsTab::MainOptionsTab( wxWindow* parent, Ui& ui ) : wxScrolledWindow( p
 
 MainOptionsTab::~MainOptionsTab()
 {
-
+//   if ( sett().GetAutosavePerspective() )
+//        SavePerspective();
 }
 
 
@@ -108,7 +121,6 @@ GroupOptionsPanel& MainOptionsTab::GetGroupOptionsPanel()
 	return *m_groups_opts;
 }
 
-
 void MainOptionsTab::OnApply( wxCommandEvent& event )
 {
 	m_spring_opts->OnApply( event );
@@ -121,7 +133,6 @@ void MainOptionsTab::OnApply( wxCommandEvent& event )
 	sett().SaveSettings();
 }
 
-
 void MainOptionsTab::OnRestore( wxCommandEvent& event )
 {
 	m_spring_opts->OnRestore( event );
@@ -149,3 +160,12 @@ void MainOptionsTab::SetSelection( const unsigned int page )
 }
 
 
+void MainOptionsTab::LoadPerspective( const wxString& perspective_name  )
+{
+    LoadNotebookPerspective( m_tabs, perspective_name );
+}
+
+void MainOptionsTab::SavePerspective( const wxString& perspective_name )
+{
+    SaveNotebookPerspective( m_tabs, perspective_name );
+}
diff --git a/src/mainoptionstab.h b/src/mainoptionstab.h
index 87fe82b..38c52dd 100644
--- a/src/mainoptionstab.h
+++ b/src/mainoptionstab.h
@@ -25,7 +25,7 @@ class LobbyOptionsTab;
 class MainOptionsTab : public wxScrolledWindow
 {
 	public:
-		MainOptionsTab( wxWindow* parent, Ui& ui );
+		MainOptionsTab( wxWindow* parent );
 		~MainOptionsTab();
 
 		/** \brief delegate the data setting to memeber panels */
@@ -36,6 +36,8 @@ class MainOptionsTab : public wxScrolledWindow
 		void SetSelection( const unsigned int page );
 		GroupOptionsPanel& GetGroupOptionsPanel();
 
+        void LoadPerspective( const wxString& perspective_name = wxEmptyString );
+        void SavePerspective( const wxString& perspective_name = wxEmptyString );
 
 	protected:
 		wxBoxSizer* m_main_sizer;
@@ -55,8 +57,6 @@ class MainOptionsTab : public wxScrolledWindow
 
 		wxBoxSizer* m_button_sizer;
 
-		Ui& m_ui;
-
 		enum {
 			OPTIONS_TABS = wxID_HIGHEST,
 		};
diff --git a/src/mainsingleplayertab.cpp b/src/mainsingleplayertab.cpp
index 7a5a8b1..8e5d712 100644
--- a/src/mainsingleplayertab.cpp
+++ b/src/mainsingleplayertab.cpp
@@ -16,7 +16,6 @@
 #include "battleoptionstab.h"
 #include "mainsingleplayertab.h"
 #include "battleroommmoptionstab.h"
-#include "ui.h"
 #include "utils/debug.h"
 #include "utils/conversion.h"
 
@@ -24,29 +23,28 @@
 #include "images/battle_settings.xpm"
 
 
-MainSinglePlayerTab::MainSinglePlayerTab( wxWindow* parent, Ui& ui )
-    : wxScrolledWindow( parent, -1 ),
-    m_ui( ui )
+MainSinglePlayerTab::MainSinglePlayerTab( wxWindow* parent )
+    : wxScrolledWindow( parent, -1 )
 {
 	m_main_sizer = new wxBoxSizer( wxVERTICAL );
 	GetAui().manager->AddPane( this, wxLEFT, _T( "mainsingleplayertab" ) );
-	m_tabs = new SLNotebook( this, -1, wxDefaultPosition, wxDefaultSize, wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_MOVE | wxAUI_NB_SCROLL_BUTTONS | wxAUI_NB_TOP | wxAUI_NB_TAB_EXTERNAL_MOVE );
+	m_tabs = new SLNotebook( this, _T( "mainsingleplayertab" ), -1, wxDefaultPosition, wxDefaultSize, wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_MOVE | wxAUI_NB_SCROLL_BUTTONS | wxAUI_NB_TOP | wxAUI_NB_TAB_EXTERNAL_MOVE );
 	m_tabs->SetArtProvider( new SLArtProvider );
 
 	m_imagelist = new wxImageList( 12, 12 );
 	m_imagelist->Add( wxIcon( battle_xpm ) );
 	m_imagelist->Add( wxIcon( battle_settings_xpm ) );
 
-	m_sp_tab = new SinglePlayerTab( m_tabs, m_ui, *this );
+	m_sp_tab = new SinglePlayerTab( m_tabs, *this );
 	m_tabs->AddPage( m_sp_tab, _( "Game" ), true, 0 );
 	m_mm_opts_tab = new BattleroomMMOptionsTab<SinglePlayerBattle>( m_sp_tab->GetBattle(), m_tabs );
 	m_tabs->InsertPage( 1, m_mm_opts_tab, _( "Options" ), false, wxIcon( battle_settings_xpm ) );
-	m_opts_tab = new BattleOptionsTab( m_tabs, m_ui, m_sp_tab->GetBattle() );
+	m_opts_tab = new BattleOptionsTab( m_tabs, m_sp_tab->GetBattle() );
 	m_tabs->InsertPage( 2, m_opts_tab, _( "Unit Restrictions" ), false, wxIcon( battle_settings_xpm ) );
 
 	m_main_sizer->Add( m_tabs, 1, wxEXPAND );
 
-	SetScrollRate( 3, 3 );
+	SetScrollRate( SCROLL_RATE, SCROLL_RATE );
 	SetSizer( m_main_sizer );
 	Layout();
 }
@@ -54,9 +52,19 @@ MainSinglePlayerTab::MainSinglePlayerTab( wxWindow* parent, Ui& ui )
 
 MainSinglePlayerTab::~MainSinglePlayerTab()
 {
+//    if ( sett().GetAutosavePerspective() )
+//        SavePerspective();
+}
 
+void MainSinglePlayerTab::LoadPerspective( const wxString& perspective_name  )
+{
+    LoadNotebookPerspective( m_tabs, perspective_name );
 }
 
+void MainSinglePlayerTab::SavePerspective( const wxString& perspective_name )
+{
+    SaveNotebookPerspective( m_tabs, perspective_name );
+}
 
 void MainSinglePlayerTab::UpdateMinimap()
 {
diff --git a/src/mainsingleplayertab.h b/src/mainsingleplayertab.h
index 501dae2..70a1cf3 100644
--- a/src/mainsingleplayertab.h
+++ b/src/mainsingleplayertab.h
@@ -14,7 +14,7 @@ class BattleOptionsTab;
 class MainSinglePlayerTab : public wxScrolledWindow
 {
   public:
-    MainSinglePlayerTab( wxWindow* parent, Ui& ui );
+    MainSinglePlayerTab( wxWindow* parent );
     ~MainSinglePlayerTab();
 
     void UpdateMinimap();
@@ -30,9 +30,10 @@ class MainSinglePlayerTab : public wxScrolledWindow
     BattleOptionsTab& GetOptionsTab();
     BattleroomMMOptionsTab<SinglePlayerBattle>& GetMMOptionsTab();
 
-  protected:
+    void LoadPerspective( const wxString& perspective_name = wxEmptyString );
+    void SavePerspective( const wxString& perspective_name = wxEmptyString );
 
-    Ui& m_ui;
+  protected:
 
     wxBoxSizer* m_main_sizer;
     wxImageList* m_imagelist;
diff --git a/src/maintorrenttab.cpp b/src/maintorrenttab.cpp
index 86d9e78..7f40df9 100644
--- a/src/maintorrenttab.cpp
+++ b/src/maintorrenttab.cpp
@@ -17,8 +17,8 @@
 
 #include "torrentlistctrl.h"
 #include "torrentwrapper.h"
-#include "ui.h"
 #include "utils/conversion.h"
+#include "utils/controls.h"
 #include "Helper/colorbutton.h"
 #include "filelister/filelistdialog.h"
 #include "widgets/downloaddialog.h"
@@ -33,10 +33,9 @@ BEGIN_EVENT_TABLE( MainTorrentTab, wxPanel )
 
 END_EVENT_TABLE()
 
-MainTorrentTab::MainTorrentTab( wxWindow* parent, Ui& ui )
+MainTorrentTab::MainTorrentTab( wxWindow* parent )
     : wxScrolledWindow( parent ),
-    m_widgets_dialog( NULL ),
-    m_ui( ui )
+    m_widgets_dialog( NULL )
 {
 	GetAui().manager->AddPane( this, wxLEFT, _T( "maintorrenttab" ) );
 
@@ -50,7 +49,7 @@ MainTorrentTab::MainTorrentTab( wxWindow* parent, Ui& ui )
 
 	wxStaticText* m_list_lbl = new wxStaticText( this, ID_OUTGOING_LBL, _( "Transfers in progress: " ) );
 	m_listbox->Add( m_list_lbl, 0, wxALL, 5 );
-	m_torrent_list = new TorrentListCtrl( this, m_ui );
+	m_torrent_list = new TorrentListCtrl( this );
 	m_listbox->Add( m_torrent_list, 2, wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL, 5 );
 	m_mainbox->Add( m_listbox, 2, wxALL | wxEXPAND | wxALIGN_CENTER_HORIZONTAL, 0 );
 
@@ -82,19 +81,22 @@ MainTorrentTab::MainTorrentTab( wxWindow* parent, Ui& ui )
 	m_mainbox->Add( m_buttonbox, 0, wxALL, 5 );
 
 	SetSizer( m_mainbox );
-	m_mainbox->SetSizeHints( this );
-	Layout();
+	SetScrollRate( SCROLL_RATE, SCROLL_RATE );
 
 	info_map = torrent().CollectGuiInfos();
-	m_torrent_list->SetInfoMap( &info_map );
-//    m_torrent_list->SetSizeHints(this);
+
 	m_torrent_list->Layout();
 
 	for ( map_infos_iter iter = info_map.begin(); iter != info_map.end(); ++iter )
 	{
-		AddTorrentInfo( iter->second );
+	    if (iter->first == wxString(_T("global")))
+            continue;
+		m_torrent_list->AddTorrentInfo( iter->second );
 	}
 	m_download_dialog = 0;
+
+    Layout();
+
 }
 
 MainTorrentTab::~MainTorrentTab()
@@ -117,70 +119,6 @@ void MainTorrentTab::OnDLWidgets( wxCommandEvent& /*unused*/ )
 	}
 }
 
-void MainTorrentTab::UpdateInfo(  TorrentInfos& info )
-{
-	int index = -1;
-	for ( int i = 0; i < m_torrent_list->GetItemCount() ; i++ ) {
-		if ( info.hash == TowxString( ( int )m_torrent_list->GetItemData( i ) ) ) {
-			index = i;
-			break;
-		}
-	}
-
-	//ASSERT_LOGIC( index != -1, _T("index = -1") );
-	if ( index > 0 ) {
-		SetInfo( index, info );
-	}
-	else {
-		AddTorrentInfo( info );
-	}
-}
-
-void MainTorrentTab::SetInfo( int index,  TorrentInfos& info )
-{
-
-	float kfactor = 1 / float( 1024 );
-	float mfactor = 1 / float( 1024 * 1024 );
-
-	int eta_seconds = -1;
-	if ( info.progress > 0 && info.inspeed > 0 )
-		eta_seconds = int (  ( info.filesize - info.downloaded ) / info.inspeed );
-
-	info.eta = eta_seconds;
-
-// m_torrent_list->SetItemImage( index, icons().GetBattleStatusIcon( battle ) );
-	m_torrent_list->SetItem( index, 0, info.name );
-	m_torrent_list->SetItem( index, 1, info.numcopies > 0 ? TowxString( info.numcopies ) : wxString( _( "not available" ) ) );
-	m_torrent_list->SetItem( index, 2, TowxString( info.downloaded*mfactor ) );
-	m_torrent_list->SetItem( index, 3, TowxString( info.uploaded*mfactor ) );
-	if ( info.downloadstatus  == P2P::seeding ) m_torrent_list->SetItem( index, 4, _( "seeding" ) );
-	else if ( info.downloadstatus  == P2P::leeching ) m_torrent_list->SetItem( index, 4, _( "leeching" ) );
-	else if ( info.downloadstatus  == P2P::queued ) m_torrent_list->SetItem( index, 4, _( "queued" ) );
-	m_torrent_list->SetItem( index, 5, TowxString( info.progress * 100 ) );
-	m_torrent_list->SetItem( index, 6, TowxString( info.outspeed*kfactor ) );
-	m_torrent_list->SetItem( index, 7, TowxString( info.inspeed*kfactor ) );
-	m_torrent_list->SetItem( index, 8, ( eta_seconds > -1 ? TowxString( eta_seconds ) : _T( "inf." ) ) + _T( " s" ) );
-	m_torrent_list->SetItem( index, 9, wxString::Format( _T( "%.3f" ), info.filesize*mfactor ) );
-
-	m_torrent_list->Sort();
-}
-
-void MainTorrentTab::AddTorrentInfo(  TorrentInfos& info )
-{
-	int index = m_torrent_list->InsertItem( m_torrent_list->GetItemCount(), info.name );
-
-//  ASSERT_LOGIC( index != -1, _T("index = -1") );
-	m_torrent_list->SetItemData( index, FromwxString<long>( info.hash ) );
-
-
-	//ASSERT_LOGIC( index != -1, _T("index = -1") );
-
-// ASSERT_LOGIC( m_torrent_list->GetItem( item ), _T("!GetItem") );
-
-	SetInfo( index, info );
-
-}
-
 void MainTorrentTab::OnUpdate()
 {
 
@@ -217,26 +155,28 @@ void MainTorrentTab::OnUpdate()
 			break;
 	}
 
-	m_torrent_list->SetSelectionRestorePoint();
-	info_map = torrent().CollectGuiInfos();
-	m_outgoing_lbl->SetLabel( wxString::Format( _( "Total Outgoing: %.2f KB/s" ), ( info_map[0].outspeed / float( 1024 ) ) ) );
-	m_incoming_lbl->SetLabel( wxString::Format( _( "Total Incoming: %.2f KB/s" ), ( info_map[0].inspeed / float( 1024 ) ) ) );
-	m_torrent_list->DeleteAllItems();
-	for ( map_infos_iter iter = info_map.begin(); iter != info_map.end(); ++iter )
-	{
-		if ( iter->first == 0 ) continue; //skip global torrent stats
-		AddTorrentInfo( iter->second );
-
-	}
-	Layout();
-	m_torrent_list->RestoreSelection();
+	m_torrent_list->SaveSelection();
+    info_map = torrent().CollectGuiInfos();
+    m_outgoing_lbl->SetLabel( wxString::Format(_("Total Outgoing: %.2f KB/s"), (info_map[wxString(_T("global"))].outspeed/float(1024)) ) );
+    m_incoming_lbl->SetLabel( wxString::Format(_("Total Incoming: %.2f KB/s"), (info_map[wxString(_T("global"))].inspeed/ float(1024)) ) );
+    for (map_infos_iter iter = info_map.begin(); iter != info_map.end(); ++iter)
+    {
+		if (iter->first == wxString(_T("global")))
+            continue; //skip global torrent stats
+		m_torrent_list->UpdateTorrentInfo(iter->second);
+    }
+	m_torrent_list->RefreshTorrentStatus();
+
+    Layout();
+    m_torrent_list->RestoreSelection();
 
 }
 
 
 void MainTorrentTab::OnCancelButton( wxCommandEvent& /*unused*/ )
 {
-	torrent().RemoveTorrentByHash( TowxString( m_torrent_list->GetSelectedData() ) );
+	torrent().RemoveTorrentByHash(m_torrent_list->GetSelectedData().hash);
+    m_torrent_list->RemoveTorrentInfo(m_torrent_list->GetSelectedData());
 }
 
 void MainTorrentTab::OnDownloadDialog( wxCommandEvent& /*unused*/ )
diff --git a/src/maintorrenttab.h b/src/maintorrenttab.h
index d461a64..b99e671 100644
--- a/src/maintorrenttab.h
+++ b/src/maintorrenttab.h
@@ -16,14 +16,14 @@ class FileListDialog;
 class ColorButton;
 class WidgetDownloadDialog;
 
-typedef std::map<int,TorrentInfos> map_infos;
+typedef std::map<wxString,TorrentInfos> map_infos;
 typedef map_infos::iterator map_infos_iter;
 
 class MainTorrentTab: public wxScrolledWindow
 {
 	public:
 
-		MainTorrentTab(wxWindow* parent,Ui& ui);
+		MainTorrentTab( wxWindow* parent );
 		~MainTorrentTab();
 
 		wxStaticText* m_incoming;
@@ -40,7 +40,6 @@ class MainTorrentTab: public wxScrolledWindow
 		TorrentListCtrl* m_torrent_list;
         WidgetDownloadDialog* m_widgets_dialog;
 
-		Ui& m_ui;
         void OnUpdate();
 
 	protected:
@@ -60,9 +59,6 @@ class MainTorrentTab: public wxScrolledWindow
         };
 
         map_infos info_map;
-        void AddTorrentInfo(  TorrentInfos& info );
-        void UpdateInfo(  TorrentInfos& info );
-        void SetInfo(int index,  TorrentInfos& info );
         void OnCancelButton( wxCommandEvent& event );
         void OnDownloadDialog( wxCommandEvent& event );
         void OnDLWidgets( wxCommandEvent& event );
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index b0acbaa..79592ef 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -71,7 +71,7 @@
 #include "images/floppy_icon.png.h"
 
 #include "settings++/frame.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 
 #include "updater/updater.h"
 #include "channel/autojoinchanneldialog.h"
@@ -114,9 +114,8 @@ END_EVENT_TABLE()
 
 MainWindow::TabNames MainWindow::m_tab_names;
 
-MainWindow::MainWindow( Ui& ui )
+MainWindow::MainWindow( )
     : wxFrame( (wxFrame*)0, -1, _("SpringLobby"), wxPoint(50, 50), wxSize(450, 340) ),
-    m_ui(ui),
     m_autojoin_dialog(NULL),
     m_channel_chooser(NULL),
     m_log_win(NULL)
@@ -139,12 +138,12 @@ MainWindow::MainWindow( Ui& ui )
   //TODO doesn't work atm
 
 
-  /* loading layouts currently borked
+    // loading layouts currently borked
 	wxMenu* menuView = new wxMenu;
 	menuView->Append( MENU_SAVE_LAYOUT, _("&Save Layout") );
 	menuView->Append( MENU_LOAD_LAYOUT, _("&Load layout") );
-	menuView->Append( MENU_DEFAULT_LAYOUT, _("&Set &Laoyut as default") );
-	*/
+//	menuView->Append( MENU_DEFAULT_LAYOUT, _("&Set &Laoyut as default") );
+
 
   m_menuTools = new wxMenu;
   m_menuTools->Append(MENU_JOIN, _("&Join channel..."));
@@ -173,40 +172,44 @@ MainWindow::MainWindow( Ui& ui )
   m_menubar->Append(menuFile, _("&File"));
   //m_menubar->Append(m_menuEdit, _("&Edit"));
 
-  //m_menubar->Append(menuView, _("&View")); //layout stuff --> disabled
+  m_menubar->Append(menuView, _("&View")); //layout stuff --> disabled
 
   m_menubar->Append(m_menuTools, _("&Tools"));
   m_menubar->Append(menuHelp, _("&Help"));
   SetMenuBar(m_menubar);
 
   m_main_sizer = new wxBoxSizer( wxHORIZONTAL );
-  m_func_tabs = new SLNotebook(  this, MAIN_TABS, wxDefaultPosition, wxDefaultSize,
+  m_func_tabs = new SLNotebook(  this, _T("mainfunctabs"), MAIN_TABS, wxDefaultPosition, wxDefaultSize,
         wxAUI_NB_WINDOWLIST_BUTTON | wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_MOVE | wxAUI_NB_TAB_EXTERNAL_MOVE | wxAUI_NB_SCROLL_BUTTONS | wxAUI_NB_LEFT );
   m_func_tabs->SetArtProvider(new SLArtProvider);
 
+    //IMPORTANT: event handling needs to be disabled while constructing, otherwise deadlock occurs
+    SetEvtHandlerEnabled( false );
 
-  m_chat_tab = new MainChatTab( m_func_tabs, m_ui );
-  m_join_tab = new MainJoinBattleTab( m_func_tabs, m_ui );
-  m_sp_tab = new MainSinglePlayerTab( m_func_tabs, m_ui );
-  m_replay_tab = new ReplayTab ( m_func_tabs, m_ui );
-  m_savegame_tab = new SavegameTab( m_func_tabs, m_ui );
+  m_chat_tab = new MainChatTab( m_func_tabs );
+  m_join_tab = new MainJoinBattleTab( m_func_tabs );
+  m_sp_tab = new MainSinglePlayerTab( m_func_tabs );
+  m_replay_tab = new ReplayTab ( m_func_tabs );
+  m_savegame_tab = new SavegameTab( m_func_tabs );
 #ifndef NO_TORRENT_SYSTEM
-  m_torrent_tab = new MainTorrentTab( m_func_tabs, m_ui);
+  m_torrent_tab = new MainTorrentTab( m_func_tabs);
 #endif
-  m_opts_tab = new MainOptionsTab( m_func_tabs, m_ui );
-
-    m_func_tabs->AddPage( m_chat_tab,     m_tab_names[0], true  );
-    m_func_tabs->AddPage( m_join_tab,     m_tab_names[1], false );
-    m_func_tabs->AddPage( m_sp_tab,       m_tab_names[2], false );
-    m_func_tabs->AddPage( m_savegame_tab, m_tab_names[3], false );
-    m_func_tabs->AddPage( m_replay_tab,   m_tab_names[4], false );
+  m_opts_tab = new MainOptionsTab( m_func_tabs );
+
+    //use Insert so no Changepage events are triggered
+    m_func_tabs->InsertPage( PAGE_CHAT,     m_chat_tab,     m_tab_names[PAGE_CHAT],     true  );
+    m_func_tabs->InsertPage( PAGE_JOIN,     m_join_tab,     m_tab_names[PAGE_JOIN],     false );
+    m_func_tabs->InsertPage( PAGE_SINGLE,   m_sp_tab,       m_tab_names[PAGE_SINGLE],   false );
+    m_func_tabs->InsertPage( PAGE_SAVEGAME, m_savegame_tab, m_tab_names[PAGE_SAVEGAME], false );
+    m_func_tabs->InsertPage( PAGE_REPLAY,   m_replay_tab,   m_tab_names[PAGE_REPLAY],   false );
 #ifndef NO_TORRENT_SYSTEM
-    m_func_tabs->AddPage( m_torrent_tab,  m_tab_names[5], false );
-    m_func_tabs->AddPage( m_opts_tab,     m_tab_names[6], false );
+    m_func_tabs->InsertPage( PAGE_TORRENT,  m_torrent_tab,  m_tab_names[PAGE_TORRENT],  false );
+    m_func_tabs->InsertPage( PAGE_OPTOS,    m_opts_tab,     m_tab_names[PAGE_OPTOS],    false );
 #else
-    m_func_tabs->AddPage( m_opts_tab,     m_tab_names[5], false );
+    m_func_tabs->InsertPage( PAGE_OPTOS,    m_opts_tab,     m_tab_names[PAGE_OPTOS],    false );
 #endif
 
+    LoadPerspectives();
 
 
   SetTabIcons();
@@ -225,6 +228,8 @@ MainWindow::MainWindow( Ui& ui )
 
   m_channel_chooser = new ChannelChooserDialog( this, -1, _("Choose channels to join") );
 
+    // re-enable eventhandling
+    SetEvtHandlerEnabled( true );
 }
 
 wxBitmap MainWindow::GetTabIcon( const unsigned char* data, size_t size )
@@ -270,6 +275,7 @@ MainWindow::~MainWindow()
 
 void MainWindow::OnClose( wxCloseEvent& /*unused*/ )
 {
+    SavePerspectives();
   AuiManagerContainer::ManagerType* manager=GetAui().manager;
   if(manager){
     GetAui().manager=NULL;
@@ -281,8 +287,7 @@ void MainWindow::OnClose( wxCloseEvent& /*unused*/ )
   sett().SetWindowSize( name, GetSize() );
   sett().SetWindowPos( name, GetPosition() );
 
-  m_ui.Quit();
-  m_ui.OnMainWindowDestruct();
+  ui().Quit();
   forceSettingsFrameClose();
   freeStaticBox();
 
@@ -329,7 +334,7 @@ void DrawBmpOnBmp( wxBitmap& canvas, wxBitmap& object, int x, int y )
 //! @brief Get the ChatPanel dedicated to server output and input
 ChatPanel& servwin()
 {
-  return m_ui.mw().GetChatTab().ServerChat();
+  return ui().mw().GetChatTab().ServerChat();
 }
 */
 
@@ -425,9 +430,9 @@ void MainWindow::ShowSingleplayer()
     ShowTab( PAGE_SINGLE );
 }
 
-void MainWindow::ShowTab( const int idx )
+void MainWindow::ShowTab( const unsigned int idx )
 {
-    if ( -1 < idx && idx <m_tab_names.GetCount() )
+    if ( 0 <= idx && idx <m_tab_names.GetCount() )
         m_func_tabs->SetSelection( idx );
     else
         wxLogError( _T("tab selection oob: %d"), idx );
@@ -459,10 +464,10 @@ void MainWindow::ShowChannelChooser()
 void MainWindow::OnMenuJoin( wxCommandEvent& /*unused*/ )
 {
 
-  if ( !m_ui.IsConnected() ) return;
+  if ( !ui().IsConnected() ) return;
   wxString answer;
-  if ( m_ui.AskText( _("Join channel..."), _("Name of channel to join"), answer ) ) {
-    m_ui.JoinChannel( answer, _T("") );
+  if ( ui().AskText( _("Join channel..."), _("Name of channel to join"), answer ) ) {
+    ui().JoinChannel( answer, _T("") );
   }
 
 }
@@ -471,12 +476,12 @@ void MainWindow::OnMenuJoin( wxCommandEvent& /*unused*/ )
 void MainWindow::OnMenuChat( wxCommandEvent& /*unused*/ )
 {
 
-  if ( !m_ui.IsConnected() ) return;
+  if ( !ui().IsConnected() ) return;
   wxString answer;
-  if ( m_ui.AskText( _("Open Private Chat..."), _("Name of user"), answer ) ) {
-    if (m_ui.GetServer().UserExists( answer ) ) {
+  if ( ui().AskText( _("Open Private Chat..."), _("Name of user"), answer ) ) {
+    if (ui().GetServer().UserExists( answer ) ) {
         //true puts focus on new tab
-      OpenPrivateChat( m_ui.GetServer().GetUser( answer ), true  );
+      OpenPrivateChat( ui().GetServer().GetUser( answer ), true  );
     }
   }
 
@@ -507,13 +512,13 @@ void MainWindow::OnMenuAbout( wxCommandEvent& /*unused*/ )
 
 void MainWindow::OnMenuConnect( wxCommandEvent& /*unused*/ )
 {
-  m_ui.ShowConnectWindow();
+  ui().ShowConnectWindow();
 }
 
 
 void MainWindow::OnMenuDisconnect( wxCommandEvent& /*unused*/ )
 {
-  m_ui.Disconnect();
+  ui().Disconnect();
 }
 
 void MainWindow::OnMenuSaveOptions( wxCommandEvent& /*unused*/ )
@@ -534,7 +539,7 @@ void MainWindow::OnMenuVersion( wxCommandEvent& /*unused*/ )
 
 void MainWindow::OnUnitSyncReload( wxCommandEvent& /*unused*/ )
 {
-    m_ui.ReloadUnitSync();
+    GetGlobalEventSender(GlobalEvents::UnitSyncReloadRequest).SendEvent( 0 ); // request an unitsync reload
 }
 
 void MainWindow::OnShowScreenshots( wxCommandEvent& /*unused*/ )
@@ -586,15 +591,15 @@ void MainWindow::OnMenuOpen( wxMenuEvent& /*unused*/ )
 void MainWindow::OnReportBug( wxCommandEvent& /*unused*/ )
 {
     wxString reporter = wxEmptyString;
-    if (m_ui.IsConnected() )
-        reporter = _T("?reporter=") + m_ui.GetServer().GetMe().GetNick();
-  m_ui.OpenWebBrowser( _T("http://trac.springlobby.info/newticket") + reporter);
+    if (ui().IsConnected() )
+        reporter = _T("?reporter=") + ui().GetServer().GetMe().GetNick();
+    OpenWebBrowser( _T("http://trac.springlobby.info/newticket") + reporter);
 }
 
 
 void MainWindow::OnShowDocs( wxCommandEvent& /*unused*/ )
 {
-  m_ui.OpenWebBrowser( _T("http://springlobby.info") );
+    OpenWebBrowser( _T("http://springlobby.info") );
 }
 
 void MainWindow::OnTabsChanged( wxAuiNotebookEvent& event )
@@ -603,24 +608,13 @@ void MainWindow::OnTabsChanged( wxAuiNotebookEvent& event )
 
   if ( newsel == 0 || newsel == 1 )
   {
-    if ( !m_ui.IsConnected() && m_ui.IsMainWindowCreated() ) m_ui.Connect();
+    if ( !ui().IsConnected() && ui().IsMainWindowCreated() ) ui().Connect();
   }
 }
 
-void MainWindow::OnUnitSyncReloaded()
-{
-  wxLogDebugFunc( _T("") );
-  wxLogMessage( _T("Reloading join tab") );
-  GetJoinTab().OnUnitSyncReloaded();
-  wxLogMessage( _T("Join tab updated") );
-  wxLogMessage( _T("Reloading Singleplayer tab") );
-  GetSPTab().OnUnitSyncReloaded();
-  wxLogMessage( _T("Singleplayer tab updated") );
-}
-
-void MainWindow::OnShowSettingsPP( wxCommandEvent& /*unused*/ )
+void MainWindow::OnShowSettingsPP( wxCommandEvent& event )
 {
-	se_frame = new settings_frame(this,wxID_ANY,wxT("Settings++"),wxDefaultPosition,
+	se_frame = new settings_frame(this,wxID_ANY,wxT("SpringSettings"),wxDefaultPosition,
 	  	    		wxDefaultSize);
 	se_frame_active = true;
 	se_frame->Show();
@@ -655,20 +649,30 @@ void MainWindow::OnChannelListStart( )
     m_channel_chooser->ClearChannels();
 }
 
+wxString MainWindow::AddPerspectivePostfix( const wxString& pers_name )
+{
+    wxString perspective_name  = pers_name.IsEmpty() ? sett().GetLastPerspectiveName() : pers_name;
+    if ( m_join_tab &&  m_join_tab->UseBattlePerspective() )
+        perspective_name += BattlePostfix;
+    return perspective_name;
+}
+
 void MainWindow::OnMenuSaveLayout( wxCommandEvent& /*unused*/ )
 {
 	wxString answer;
-	if ( !ui().AskText( _("Layout manager"),_("Enter a profile name"), answer ) ) return;
-	wxString layout = GetAui().manager->SavePerspective();
-	sett().SaveLayout( answer, layout );
+	if ( !ui().AskText( _("Layout manager"),_("Enter a profile name"), answer ) )
+        return;
+    SavePerspectives( answer );
 }
 
 void MainWindow::OnMenuLoadLayout( wxCommandEvent& /*unused*/ )
 {
-	wxArrayString layouts = sett().GetLayoutList();
+	wxArrayString layouts = sett().GetPerspectives();
 	unsigned int result = wxGetSingleChoiceIndex( _("Which profile fo you want to load?"), _("Layout manager"), layouts );
-	if ( ( result < 0  ) || ( result > layouts.GetCount() ) ) return;
-	GetAui().manager->LoadPerspective( sett().GetLayout( layouts[result] ) );
+	if ( ( result < 0  ) || ( result > layouts.GetCount() ) )
+        return;
+
+    LoadPerspectives( layouts[result] );
 }
 
 
@@ -684,3 +688,36 @@ const MainWindow::TabNames& MainWindow::GetTabNames()
 {
     return m_tab_names;
 }
+
+void MainWindow::LoadPerspectives( const wxString& pers_name )
+{
+    sett().SetLastPerspectiveName( pers_name );
+    wxString perspective_name = AddPerspectivePostfix( pers_name );
+
+    //loading a default layout on top of the more tabs of battle layout would prove fatal
+    if ( perspective_name.EndsWith( BattlePostfix ) && !sett().PerspectiveExists( perspective_name ) )
+        return;
+
+
+    LoadNotebookPerspective( m_func_tabs, perspective_name );
+    m_sp_tab->LoadPerspective( perspective_name );
+    m_join_tab->LoadPerspective( perspective_name );
+    m_opts_tab->LoadPerspective( perspective_name );
+    wxWindow* active_chat_tab = static_cast<wxWindow*> ( m_chat_tab->GetActiveChatPanel() );
+    if ( active_chat_tab )
+        active_chat_tab->Refresh();
+    //chat tab saving won't work w/o further work
+//    m_chat_tab->LoadPerspective( perspective_name );
+}
+
+void MainWindow::SavePerspectives( const wxString& pers_name )
+{
+    sett().SetLastPerspectiveName( pers_name );
+    wxString perspective_name = AddPerspectivePostfix( pers_name );
+
+    m_sp_tab->SavePerspective( perspective_name );
+    m_join_tab->SavePerspective( perspective_name );
+    m_opts_tab->SavePerspective( perspective_name );
+//    m_chat_tab->SavePerspective( perspective_name );
+    SaveNotebookPerspective( m_func_tabs, perspective_name );
+}
diff --git a/src/mainwindow.h b/src/mainwindow.h
index 9e841fe..8af90cb 100644
--- a/src/mainwindow.h
+++ b/src/mainwindow.h
@@ -48,7 +48,7 @@ class SavegameTab;
 class MainWindow : public wxFrame
 {
   public:
-    MainWindow( Ui& ui );
+    MainWindow( );
     virtual ~MainWindow();
 
     typedef PlaybackTab<ReplayTraits>
@@ -61,7 +61,7 @@ class MainWindow : public wxFrame
     void OpenPrivateChat( const User& user, bool doFocus = false );
 
     void ShowConfigure( const unsigned int page = OPT_PAGE_SPRING );
-    void ShowTab( const int idx );
+    void ShowTab( const unsigned int idx );
     void ShowSingleplayer();
 
     /** Show the channel list dialog. */
@@ -114,9 +114,10 @@ class MainWindow : public wxFrame
 
     void SetLogWin( wxLogWindow* log, wxLogChain* logchain );
 
+    void LoadPerspectives( const wxString& perspective_name = wxEmptyString );
+    void SavePerspectives( const wxString& perspective_name = wxEmptyString );
+
   protected:
-    // MainWindow variables
-    Ui& m_ui;
 
     wxMenuItem* m_settings_menu;
     wxMenuBar* m_menubar;
@@ -142,6 +143,7 @@ class MainWindow : public wxFrame
     SavegameTab* m_savegame_tab;
 
     wxBitmap GetTabIcon( const unsigned char* data, size_t size  );
+    wxString AddPerspectivePostfix( const wxString& pers_name );
 
     wxLogWindow* m_log_win;
     wxLogChain* m_log_chain;
@@ -195,8 +197,8 @@ class MainWindow : public wxFrame
         static const unsigned int PAGE_CHAT    = 0;
         static const unsigned int PAGE_JOIN    = 1;
         static const unsigned int PAGE_SINGLE  = 2;
-        static const unsigned int PAGE_REPLAY  = 3;
-        static const unsigned int PAGE_SAVEGAME = 4;
+        static const unsigned int PAGE_REPLAY  = 4;
+        static const unsigned int PAGE_SAVEGAME = 3;
 
         #ifndef NO_TORRENT_SYSTEM
         static const unsigned int PAGE_TORRENT = 5;
diff --git a/src/mapctrl.cpp b/src/mapctrl.cpp
index 6adf3dc..7c125ff 100644
--- a/src/mapctrl.cpp
+++ b/src/mapctrl.cpp
@@ -95,14 +95,13 @@ static inline int ReadInt24(const unsigned char* p)
     return p[0] | (p[1] << 8) | (p[2] << 16);
 }
 
-MapCtrl::MapCtrl( wxWindow* parent, int size, IBattle* battle, Ui& ui, bool readonly, bool fixed_size, bool draw_start_types, bool singleplayer ):
+MapCtrl::MapCtrl( wxWindow* parent, int size, IBattle* battle, bool readonly, bool fixed_size, bool draw_start_types, bool singleplayer ):
         wxPanel( parent, -1, wxDefaultPosition, wxSize(size, size), wxSIMPLE_BORDER|wxFULL_REPAINT_ON_RESIZE ),
         m_async(this),
         m_minimap(0),
         m_metalmap(0),
         m_heightmap(0),
         m_battle(battle),
-        m_ui(ui),
         m_mapname(_T("")),
         m_draw_start_types(draw_start_types),
         m_fixed_size(fixed_size),
@@ -504,8 +503,12 @@ void MapCtrl::UpdateMinimap()
 			}
         }
     }
-    Refresh();
-    Update();
+    //without this test aborts happen when unit sync is reloaded from torrent complete
+    //if ( IsShownOnScreen() ) //meh, doesn't actually help
+    {
+        Refresh();
+        Update();
+    }
 }
 
 
@@ -1461,13 +1464,13 @@ void MapCtrl::OnLeftUp( wxMouseEvent& event )
         {
             if ( m_mdown_area == Refreshing )
             {
-                m_ui.ReloadUnitSync();
+                GetGlobalEventSender(GlobalEvents::UnitSyncReloadRequest).SendEvent( 0 ); // request an unitsync reload
                 m_battle->Update( wxString::Format( _T("%d_mapname"), OptionsWrapper::PrivateOptions ) );
                 UpdateMinimap();
             }
             else if ( m_mdown_area == Download )
             {
-                m_ui.DownloadMap( m_battle->GetHostMapHash(),  m_battle->GetHostMapName() );
+                ui().DownloadMap( m_battle->GetHostMapHash(),  m_battle->GetHostMapName() );
             }
         }
         m_mdown_area = Main;
diff --git a/src/mapctrl.h b/src/mapctrl.h
index 9529b57..01f75c3 100644
--- a/src/mapctrl.h
+++ b/src/mapctrl.h
@@ -62,7 +62,7 @@ class MapCtrl : public wxPanel
 
 
   public:
-    MapCtrl( wxWindow* parent, int size, IBattle* battle, Ui& ui, bool readonly, bool fixed_size, bool draw_start_types, bool singleplayer );
+    MapCtrl( wxWindow* parent, int size, IBattle* battle, bool readonly, bool fixed_size, bool draw_start_types, bool singleplayer );
     ~MapCtrl();
 
     void SetBattle( IBattle* battle );
@@ -163,7 +163,6 @@ class MapCtrl : public wxPanel
 
     IBattle* m_battle;
 
-    Ui& m_ui;
     wxString m_mapname;
 
     bool m_draw_start_types;
diff --git a/src/mapgridctrl.cpp b/src/mapgridctrl.cpp
index 1867679..c199e9d 100644
--- a/src/mapgridctrl.cpp
+++ b/src/mapgridctrl.cpp
@@ -45,9 +45,8 @@ const wxEventType MapGridCtrl::MapSelectedEvt = wxNewEventType();
 const wxEventType MapGridCtrl::LoadingCompletedEvt = wxNewEventType();
 
 
-MapGridCtrl::MapGridCtrl( wxWindow* parent, Ui& ui, wxSize size, wxWindowID id )
+MapGridCtrl::MapGridCtrl( wxWindow* parent, wxSize size, wxWindowID id )
 	: wxPanel( parent, id, wxDefaultPosition, size, wxSIMPLE_BORDER|wxFULL_REPAINT_ON_RESIZE )
-	, m_ui( ui )
 	, m_async( this )
 	, m_selection_follows_mouse( sett().GetMapSelectorFollowsMouse() )
 	, m_size( 0, 0 )
diff --git a/src/mapgridctrl.h b/src/mapgridctrl.h
index 12b4ac5..cde24d5 100644
--- a/src/mapgridctrl.h
+++ b/src/mapgridctrl.h
@@ -35,7 +35,7 @@ class MapGridCtrl : public wxPanel
 			SortKey_PosCount,
 		};
 
-		MapGridCtrl( wxWindow* parent, Ui& ui, wxSize size = wxDefaultSize, wxWindowID id = -1 );
+		MapGridCtrl( wxWindow* parent, wxSize size = wxDefaultSize, wxWindowID id = -1 );
 		~MapGridCtrl();
 
 		void Clear();
@@ -145,7 +145,6 @@ class MapGridCtrl : public wxPanel
 		void SetMinimap( MapMap& maps, const wxString& mapname, const wxBitmap& minimap );
 		void SelectMap( MapData* map );
 
-		Ui& m_ui;
 		UnitSyncAsyncOps m_async;
 
 		const bool m_selection_follows_mouse;
diff --git a/src/mapselectdialog.cpp b/src/mapselectdialog.cpp
index 2436825..bcf1987 100644
--- a/src/mapselectdialog.cpp
+++ b/src/mapselectdialog.cpp
@@ -48,9 +48,8 @@ BEGIN_EVENT_TABLE(MapSelectDialog,wxDialog)
 	//*)
 END_EVENT_TABLE()
 
-MapSelectDialog::MapSelectDialog(wxWindow* parent,Ui& ui)
-	: m_ui(ui)
-	, m_horizontal_direction( sett().GetHorizontalSortorder() )
+MapSelectDialog::MapSelectDialog( wxWindow* parent )
+	: m_horizontal_direction( sett().GetHorizontalSortorder() )
 	, m_vertical_direction( sett().GetVerticalSortorder() )
 {
 	//(*Initialize(MapSelectDialog)
@@ -109,7 +108,7 @@ MapSelectDialog::MapSelectDialog(wxWindow* parent,Ui& ui)
 	StdDialogButtonSizer1->Realize();
 	BoxSizer2->Add(StdDialogButtonSizer1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
 	BoxSizer1->Add(BoxSizer2, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
-	m_mapgrid = new MapGridCtrl(this, m_ui, wxSize(600,400), ID_MAPGRID);
+	m_mapgrid = new MapGridCtrl(this, wxSize(600,400), ID_MAPGRID);
 	BoxSizer1->Add(m_mapgrid, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
 	SetSizer(BoxSizer1);
 	BoxSizer1->Fit(this);
@@ -205,7 +204,7 @@ void MapSelectDialog::OnInit( wxInitDialogEvent& /*unused*/ )
 	m_replays = usync().GetPlaybackList( true ); //true meaning replays, flase meaning savegames
 
     const unsigned int lastFilter = sett().GetMapSelectorFilterRadio();
-	m_filter_popular->Enable( m_ui.IsConnected() );
+	m_filter_popular->Enable( ui().IsConnected() );
 
 	// due to a bug / crappy design in SpringUnitSync / unitsync itself we
 	// get a replay list with one empty item when there are no replays..
@@ -216,7 +215,7 @@ void MapSelectDialog::OnInit( wxInitDialogEvent& /*unused*/ )
 	}
 
 	if ( lastFilter == m_filter_popular_sett ) {
-	    if ( m_ui.IsConnected() ) {
+	    if ( ui().IsConnected() ) {
 	        m_filter_popular->SetValue( true );
             LoadPopular();
 	    }
@@ -379,13 +378,13 @@ void MapSelectDialog::LoadPopular()
 	m_mapgrid->Clear();
 
 	try {
-		m_ui.GetServer().battles_iter->IteratorBegin();
-		while ( !m_ui.GetServer().battles_iter->EOL() ) {
-			Battle* b = m_ui.GetServer().battles_iter->GetBattle();
+		ui().GetServer().battles_iter->IteratorBegin();
+		while ( !ui().GetServer().battles_iter->EOL() ) {
+			Battle* b = ui().GetServer().battles_iter->GetBattle();
 			if ( b != NULL ) m_mapgrid->AddMap( b->GetHostMapName() );
 		}
 	}
-	catch (...) {} // m_ui.GetServer may throw when disconnected...
+	catch (...) {} // ui().GetServer may throw when disconnected...
 
 	m_mapgrid->Refresh();
 }
@@ -402,7 +401,7 @@ void MapSelectDialog::LoadRecent()
 	for ( int i = 0; i < count; ++i ) {
 		// prefix and suffix with underscore to prevent most common partial matches
 		const wxString mapname = _T("_") + m_maps[i].BeforeLast( '.' ) + _T("_");
-		unsigned int replaycount = m_replays.GetCount();
+		long replaycount = long(m_replays.GetCount());
 		for ( int replaynum = 0; replaynum < replaycount; replaynum++ ) {
 			if ( m_replays[replaynum].Contains( mapname ) )
 				m_mapgrid->AddMap( m_maps[i] );
diff --git a/src/mapselectdialog.h b/src/mapselectdialog.h
index 27f2325..3984316 100644
--- a/src/mapselectdialog.h
+++ b/src/mapselectdialog.h
@@ -27,7 +27,7 @@ class MapSelectDialog: public wxDialog
 {
 	public:
 
-		MapSelectDialog( wxWindow* parent, Ui& ui );
+		MapSelectDialog( wxWindow* parent );
 		virtual ~MapSelectDialog();
 
 		UnitSyncMap* GetSelectedMap() const;
@@ -87,7 +87,6 @@ class MapSelectDialog: public wxDialog
 		void LoadPopular();
 		void LoadRecent();
 
-		Ui& m_ui;
 		bool m_horizontal_direction;
 		bool m_vertical_direction;
 		wxArrayString m_maps;
diff --git a/src/mmoptionmodel.cpp b/src/mmoptionmodel.cpp
index 7812faa..9cb8b31 100644
--- a/src/mmoptionmodel.cpp
+++ b/src/mmoptionmodel.cpp
@@ -6,7 +6,7 @@ mmOptionModel::mmOptionModel(wxString name_, wxString key_, wxString description
       section(section_),ct_type_string(style_)
 {
     //set style according to input string
-    if ( style_= _T("yaadda") )
+    if ( style_ == _T("yaadda") )
         ct_type = ct_someothers;
     else
         ct_type = ct_undefined; //lobby will chooose best fit
diff --git a/src/mmoptionswrapper.cpp b/src/mmoptionswrapper.cpp
index d0f63b5..4b6209c 100644
--- a/src/mmoptionswrapper.cpp
+++ b/src/mmoptionswrapper.cpp
@@ -2,7 +2,7 @@
 
 #include "iunitsync.h"
 #include "utils/conversion.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 #include "utils/debug.h"
 
 #include <stdexcept>
@@ -83,7 +83,7 @@ int OptionsWrapper::GetAIOptionIndex( const wxString& nick )
 	return pos;
 }
 
-bool OptionsWrapper::loadOptions(GameOption modmapFlag, const wxString& name)
+bool OptionsWrapper::loadOptions( GameOption modmapFlag, const wxString& name, const wxString& extra_filename )
 {
 	unLoadOptions(modmapFlag);
 	GameOptions opt;
@@ -103,6 +103,7 @@ bool OptionsWrapper::loadOptions(GameOption modmapFlag, const wxString& name)
 				return false;
 			}
 			break;
+
 		case ModOption:
 			try
 			{
@@ -115,23 +116,44 @@ bool OptionsWrapper::loadOptions(GameOption modmapFlag, const wxString& name)
 				return false;
 			}
 			break;
-    case EngineOption:
-    {
 
-        mmOptionList startpos( _("Start Position Type"),_T("startpostype"), _("How players will select where to be spawned in the map\n0: fixed map positions\n1: random map positions\n2: choose in game\n3: choose in the lobby before starting"), _T("0") );
-        startpos.addItem( _T("0"), _("Fixed"), _T("Use the start positions defined in the map, the positions will be assigned incrementally from the team with lowest number to highest") );
-        startpos.addItem( _T("1"), _("Random"), _T("Use the start positions defined in the map, the positions will be assigned randomly") );
-        startpos.addItem( _T("2"), _("Choose in-game"), _T("Players will be able to pick their own starting point right before the game starts, optionally limited by a bounding box defined by the host") );
-        startpos.addItem( _T("3"), _("Choose before game"), _T("The host will place each player's start position in the map preview before the game is launched") );
-        opt.list_map[_T("startpostype")] = startpos;
-        break;
-    }
-    case PrivateOptions:
-    {
-        opt.string_map[_T("restrictions")] = mmOptionString(_("List of restricted units"), _T("restrictedunits"), _T("Units in this list won't be available in game"), _T(""), 0 ); // tab separated list
-        opt.string_map[_T("mapname")] = mmOptionString(_("Map name"), _T("mapname"), _T("Map name"), _T(""), 0 );
-        break;
-    }
+        case EngineOption: {
+            mmOptionList startpos( _("Start Position Type"),_T("startpostype"), _("How players will select where to be spawned in the map\n0: fixed map positions\n1: random map positions\n2: choose in game\n3: choose in the lobby before starting"), _T("0") );
+            startpos.addItem( _T("0"), _("Fixed"), _T("Use the start positions defined in the map, the positions will be assigned incrementally from the team with lowest number to highest") );
+            startpos.addItem( _T("1"), _("Random"), _T("Use the start positions defined in the map, the positions will be assigned randomly") );
+            startpos.addItem( _T("2"), _("Choose in-game"), _T("Players will be able to pick their own starting point right before the game starts, optionally limited by a bounding box defined by the host") );
+            startpos.addItem( _T("3"), _("Choose before game"), _T("The host will place each player's start position in the map preview before the game is launched") );
+            opt.list_map[_T("startpostype")] = startpos;
+            break;
+        }
+
+        case PrivateOptions: {
+            opt.string_map[_T("restrictions")] = mmOptionString(_("List of restricted units"), _T("restrictedunits"), _T("Units in this list won't be available in game"), _T(""), 0 ); // tab separated list
+            opt.string_map[_T("mapname")] = mmOptionString(_("Map name"), _T("mapname"), _T("Map name"), _T(""), 0 );
+            break;
+        }
+
+        case ModCustomizations: {
+            try {
+                opt = usync().GetModCustomizations( name );
+            }
+            catch(...) {
+				wxLogError(_T("Could not load mod customizations"));
+				return false;
+			}
+			break;
+        }
+
+        case SkirmishOptions: {
+            try {
+                opt = usync().GetSkirmishOptions( name, extra_filename );
+            }
+            catch(...) {
+				wxLogError(_T("Could not load skirmish options"));
+				return false;
+			}
+			break;
+        }
 	}
 	m_opts[modmapFlag] = opt;
 	return true;
@@ -520,6 +542,32 @@ wxString OptionsWrapper::GetNameListOptItemKey(wxString optkey, wxString itemnam
 	return wxEmptyString;
 }
 
+bool OptionsWrapper::MergeOptions( const OptionsWrapper& other, GameOption merge_into )
+{
+    GameOptionsMapCIter other_it = other.m_opts.begin();
+    for ( ; other_it != other.m_opts.end(); ++other_it ) {
+        const GameOptions& other_opts = other_it->second;
+        const GameOption other_id = (const GameOption)other_it->first;
+
+        for (IUnitSync::OptionMapBoolConstIter it = other_opts.bool_map.begin(); it != other_opts.bool_map.end();++it ) {
+            m_opts[merge_into].bool_map[it->first] = it->second;
+        }
+
+        for ( IUnitSync::OptionMapFloatConstIter it = other_opts.float_map.begin(); it != other_opts.float_map.end(); ++it ) {
+            m_opts[merge_into].float_map[it->first] = it->second;
+        }
+
+        for ( IUnitSync::OptionMapListConstIter it = other_opts.list_map.begin(); it != other_opts.list_map.end(); ++it ){
+            m_opts[merge_into].list_map[it->first] = it->second;
+        }
+
+        for ( IUnitSync::OptionMapStringConstIter it = other_opts.string_map.begin(); it != other_opts.string_map.end(); ++it ) {
+            m_opts[merge_into].string_map[it->first] = it->second;
+        }
+    }
+    return true;
+}
+
 void OptionsWrapper::ParseSectionMap( mmSectionTree& section_tree, const IUnitSync::OptionMapSection& section_map )
 {
 
@@ -655,3 +703,5 @@ void mmSectionTree::Clear()
     m_section_map.clear();
     m_tree->DeleteAll();
 }
+
+
diff --git a/src/mmoptionswrapper.h b/src/mmoptionswrapper.h
index 3c589f2..e693b04 100644
--- a/src/mmoptionswrapper.h
+++ b/src/mmoptionswrapper.h
@@ -53,11 +53,13 @@ public:
 
     //! enum to differentiate option category easily at runtime
     enum GameOption{
-      PrivateOptions  = 3,
-      EngineOption = 2,
-        MapOption    = 1,
-        ModOption    = 0,
-        LastOption = 4
+        PrivateOptions      = 3,
+        EngineOption        = 2,
+        MapOption           = 1,
+        ModOption           = 0,
+        ModCustomizations   = 4,
+        SkirmishOptions     = 5,
+        LastOption          = 6
     };// should reflect: optionCategoriesCount
 
 	//does nothing
@@ -75,9 +77,11 @@ public:
 	 * the containers for corresponding flag are recreated and then gets the number of options from unitsync
 	 * and adds them one by one  to the appropiate container
 	 * \param flag decides which type of option to load
+	 * \param name Mod/Mapname
+	 * \param extra_filename used for loading arbitrary lua tables from inside the given mod/map
 	 * \return true if load successful, false otherwise
 	 */
-	bool loadOptions(GameOption flag, const wxString& name );
+	bool loadOptions(GameOption flag, const wxString& name, const wxString& extra_filename = _T("") );
 	//! checks if given key can be found in specified container
 	/*!
 	 * \param key the key that should be checked for existance in containers
@@ -154,6 +158,9 @@ public:
 
 	//! after loading sections into map, parse them into tree
 	void ParseSectionMap( mmSectionTree& section_tree, const IUnitSync::OptionMapSection& section_map );
+
+	//! Merge this another wrapper's options into this one, with the other'soptions taking precendence
+	bool MergeOptions( const OptionsWrapper& other, GameOption merge_into );
 protected:
 	//! used for code clarity in setOptions()
 	bool setSingleOptionTypeSwitch(wxString key, wxString value, GameOption modmapFlag, OptionType optType);
diff --git a/src/mmoptionwindows.cpp b/src/mmoptionwindows.cpp
index 0d43f03..c3b5878 100644
--- a/src/mmoptionwindows.cpp
+++ b/src/mmoptionwindows.cpp
@@ -11,9 +11,10 @@
 #include <wx/combobox.h>
 #include <wx/tipwin.h>
 #include <wx/tooltip.h>
+#include <wx/textctrl.h>
 
-#include "mmoptionswrapper.h"
 #include "ui.h"
+#include "mmoptionswrapper.h"
 #include "battle.h"
 #include "utils/controls.h"
 #include "utils/math.h"
@@ -36,7 +37,7 @@ SingleOptionDialog::SingleOptionDialog( IBattle& battle, const wxString& optiont
 	OptionsWrapper::GameOption optFlag = ( OptionsWrapper::GameOption )s2l( optiontag.BeforeFirst( '_' ) );
 	wxString key = optiontag.AfterFirst( '_' );
 	OptionType type = optWrap.GetSingleOptionType( key );
-	Create( ( wxWindow* )&ui().mw(), wxID_ANY, _( "Change option" ), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, _T( "OptionDialog" ) );
+	Create( (wxWindow*)&ui().mw(), wxID_ANY, _( "Change option" ), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, _T( "OptionDialog" ) );
 	if ( !optWrap.keyExists( key, optFlag, false, type ) )
 	{
 		EndModal( wxID_CANCEL );
diff --git a/src/mutexwrapper.h b/src/mutexwrapper.h
index b1102c2..a0c53ae 100644
--- a/src/mutexwrapper.h
+++ b/src/mutexwrapper.h
@@ -69,7 +69,9 @@ class MutexWrapper: public AbstractMutexWrapper
     }
     protected:
     T &GetData(){
-      if(!locked)wxLogError(_T("serious error in MutexWrapper usage : not locked, but Get() is called!"));
+      if(!locked) {
+            wxLogError(_T("serious error in MutexWrapper usage : not locked, but Get() is called!"));
+      }
       return data;
     }
     friend class ScopedLocker<T>;
diff --git a/src/nicklistctrl.cpp b/src/nicklistctrl.cpp
index f8e665d..526c5ef 100644
--- a/src/nicklistctrl.cpp
+++ b/src/nicklistctrl.cpp
@@ -23,6 +23,7 @@
 #include "mainwindow.h"
 #include "countrycodes.h"
 #include "chatpanel.h"
+#include "chatpanelmenu.h"
 #include "userlist.h"
 #include "usermenu.h"
 #include "Helper/sortutil.h"
diff --git a/src/nicklistctrl.h b/src/nicklistctrl.h
index 5c28be3..ae1e09a 100644
--- a/src/nicklistctrl.h
+++ b/src/nicklistctrl.h
@@ -7,13 +7,13 @@
 class User;
 class UserList;
 class Ui;
-class ChatPanel;
+class ChatPanelMenu;
 class UserMenu;
 
 class NickListCtrl : public CustomVirtListCtrl< const User* ,NickListCtrl >
 {
   protected:
-    typedef SL_GENERIC::UserMenu<ChatPanel> UserMenu;
+    typedef SL_GENERIC::UserMenu<ChatPanelMenu> UserMenu;
 
   public:
     NickListCtrl( wxWindow* parent, bool show_header = true, UserMenu* popup = 0,
diff --git a/src/playback/playbacklistctrl.cpp b/src/playback/playbacklistctrl.cpp
index 471ebda..757a914 100644
--- a/src/playback/playbacklistctrl.cpp
+++ b/src/playback/playbacklistctrl.cpp
@@ -157,7 +157,7 @@ void PlaybackListCtrl<PlaybackType>::SetTipWindowText( const long item_hit, cons
     {
         switch (column) {
             case 0: // date
-            m_tiptext = replay.date;
+            m_tiptext = replay.date_string;
                 break;
             case 1: // modname
                 m_tiptext = replay.ModName;
@@ -192,7 +192,7 @@ wxString PlaybackListCtrl<PlaybackType>::GetItemText(long item, long column) con
                         (replay.duration%3600)/60, (replay.duration%60)/60 ) ;
 
     switch ( column ) {
-        case 0: return replay.date;
+        case 0: return replay.date_string;
         case 1: return replay.battle.GetHostModName();
         case 2: return replay.battle.GetHostMapName();
         case 3: return wxString::Format(_T("%d"),replay.battle.GetNumUsers() - replay.battle.GetSpectators() );
@@ -243,7 +243,7 @@ wxListItemAttr* PlaybackListCtrl<PlaybackType>::GetItemAttr(long /*unused*/) con
 template <class PlaybackType>
 void PlaybackListCtrl<PlaybackType>::RemovePlayback( const int index )
 {
-    if ( index != -1 && index < m_data.size() ) {
+    if ( index != -1 && index < long(m_data.size()) ) {
         m_data.erase( m_data.begin() + index );
         SetItemCount( m_data.size() );
         RefreshVisibleItems( );
diff --git a/src/playback/playbackstructs.h b/src/playback/playbackstructs.h
index 689f8df..4ce64d0 100644
--- a/src/playback/playbackstructs.h
+++ b/src/playback/playbackstructs.h
@@ -14,7 +14,8 @@ struct Replay
     wxString ModName;
     wxString SpringVersion;
     wxString Filename;
-    wxString date;
+    time_t date;
+    wxString date_string;
     OfflineBattle battle;
     Replay():id(0),playernum(0),can_watch(false),duration(0),size(0){};
 
@@ -32,7 +33,8 @@ struct Savegame
     wxString ModName;
     wxString SpringVersion;
     wxString Filename;
-    wxString date;
+    time_t date;
+    wxString date_string;
     OfflineBattle battle;
     Savegame():id(0),playernum(0),can_watch(false),duration(0),size(0){};
 
diff --git a/src/playback/playbacktab.cpp b/src/playback/playbacktab.cpp
index 7260011..708dcf9 100644
--- a/src/playback/playbacktab.cpp
+++ b/src/playback/playbacktab.cpp
@@ -27,7 +27,7 @@
 #include "playbackfilter.h"
 #include "../iconimagelist.h"
 
-#include "../settings++/custom_dialogs.h"
+#include "../utils/customdialogs.h"
 
 
 BEGIN_EVENT_TABLE_TEMPLATE1( PlaybackTab, wxPanel, PlaybackTraits )
@@ -49,10 +49,9 @@ BEGIN_EVENT_TABLE_TEMPLATE1( PlaybackTab, wxPanel, PlaybackTraits )
 END_EVENT_TABLE()
 
 template < class PlaybackTraits >
-PlaybackTab<PlaybackTraits>::PlaybackTab( wxWindow* parent, Ui& ui ) :
-		wxPanel( parent, -1 ),
-		m_replay_loader ( 0 ),
-		m_ui( ui )
+PlaybackTab<PlaybackTraits>::PlaybackTab( wxWindow* parent )
+	: wxScrolledWindow( parent, -1 ),
+    m_replay_loader ( 0 )
 {
 	wxLogMessage( _T( "PlaybackTab::PlaybackTab()" ) );
 
@@ -75,7 +74,7 @@ PlaybackTab<PlaybackTraits>::PlaybackTab( wxWindow* parent, Ui& ui ) :
 	wxBoxSizer* m_info_sizer;
 	m_info_sizer = new wxBoxSizer( wxHORIZONTAL );
 
-	m_minimap = new MapCtrl( this, 100, 0, m_ui, true, true, false, false );
+	m_minimap = new MapCtrl( this, 100, 0, true, true, false, false );
 	m_info_sizer->Add( m_minimap, 0, wxALL, 5 );
 
 	wxFlexGridSizer* m_data_sizer;
@@ -101,7 +100,7 @@ PlaybackTab<PlaybackTraits>::PlaybackTab( wxWindow* parent, Ui& ui ) :
 
 	m_info_sizer->Add( m_data_sizer, 1, wxEXPAND | wxALL, 0 );
 
-	m_players = new BattleroomListCtrl( this, 0, m_ui, true );
+	m_players = new BattleroomListCtrl( this, 0, true );
 	m_info_sizer->Add( m_players , 2, wxALL | wxEXPAND, 0 );
 
 	m_main_sizer->Add( m_info_sizer, 0, wxEXPAND, 5 );
@@ -144,13 +143,15 @@ PlaybackTab<PlaybackTraits>::PlaybackTab( wxWindow* parent, Ui& ui ) :
 
 	m_filter->Hide();
 
-	this->SetSizer( m_main_sizer );
-	this->Layout();
+	SetSizer( m_main_sizer );
 
-	ReloadList();
+    ReloadList();
 
 	//none selected --> shouldn't watch/delete that
 	Deselect();
+
+	SetScrollRate( SCROLL_RATE, SCROLL_RATE );
+	Layout();
 }
 
 template < class PlaybackTraits >
@@ -293,7 +294,7 @@ void PlaybackTab<PlaybackTraits>::OnWatch( wxCommandEvent& /*unused*/ )
 					if ( sett().GetCurrentUsedSpringIndex() != itor->first ) {
 						wxLogMessage( _T( "%s requires version: %s, switching to profile: %s" ), type.c_str(), rep.SpringVersion.c_str(), itor->first.c_str() );
 						sett().SetUsedSpringIndex( itor->first );
-						ui().ReloadUnitSync();
+						GetGlobalEventSender(GlobalEvents::UnitSyncReloadRequest).SendEvent( 0 ); // request an unitsync reload
 					}
 					versionfound = true;
 				}
@@ -326,7 +327,7 @@ void PlaybackTab<PlaybackTraits>::OnWatch( wxCommandEvent& /*unused*/ )
 					if ( customMessageBox( SL_MAIN_ICON, _( "You need to download the mod before you can watch this replay.\n\n" ) + downloadProc, _( "Mod not available" ), wxYES_NO | wxICON_QUESTION ) == wxYES ) {
 						wxString modhash = battle.GetHostModHash();
 						wxString modname = battle.GetHostModName();
-						m_ui.DownloadMod ( modhash, modname );
+						ui().DownloadMod ( modhash, modname );
 					}
 					else {
 						AskForceWatch( rep );
@@ -338,7 +339,7 @@ void PlaybackTab<PlaybackTraits>::OnWatch( wxCommandEvent& /*unused*/ )
 					if ( customMessageBox( SL_MAIN_ICON, _( " I couldn't find the map to be able to watch this replay\nThis can be caused by tasclient writing broken map hash value\nIf you're sure you have the map, press no\nYou need to download the map to be able to watch this replay.\n\n" ) + downloadProc, _( "Map not available" ), wxYES_NO | wxICON_QUESTION ) == wxYES ) {
 						wxString maphash = battle.GetHostMapHash();
 						wxString mapname = battle.GetHostMapName();
-						m_ui.DownloadMap ( maphash, mapname );
+						ui().DownloadMap ( maphash, mapname );
 					}
 					else {
 						AskForceWatch( rep );
diff --git a/src/playback/playbacktab.h b/src/playback/playbacktab.h
index 82beed4..ac3d683 100644
--- a/src/playback/playbacktab.h
+++ b/src/playback/playbacktab.h
@@ -1,7 +1,7 @@
 #ifndef SPRINGLOBBY_PlaybackTab_H_INCLUDED
 #define SPRINGLOBBY_PlaybackTab_H_INCLUDED
 
-#include <wx/panel.h>
+#include <wx/scrolwin.h>
 #include <vector>
 
 class Ui;
@@ -28,7 +28,7 @@ template <class PlaybackType>
 class PlaybackLoader;
 
 template <class PlaybackTraitsImp>
-class PlaybackTab : public wxPanel
+class PlaybackTab : public wxScrolledWindow
 {
     protected:
         friend class BattleListFilter; //! WTF?
@@ -51,7 +51,7 @@ class PlaybackTab : public wxPanel
 
   public:
     //! loads all replays into list and adds them to listctrl
-    PlaybackTab( wxWindow* parent, Ui& ui );
+    PlaybackTab( wxWindow* parent );
      ~PlaybackTab();
 
     //! adds a single replay to listctrl
@@ -113,8 +113,6 @@ class PlaybackTab : public wxPanel
 		wxCheckBox* m_filter_show;
 #endif
 
-    Ui& m_ui;
-
     void AskForceWatch( PlaybackType& rep  ) const;
 
     DECLARE_EVENT_TABLE();
diff --git a/src/playback/playbackthread.cpp b/src/playback/playbackthread.cpp
index 06e20c2..7ac1074 100644
--- a/src/playback/playbackthread.cpp
+++ b/src/playback/playbackthread.cpp
@@ -40,7 +40,7 @@ void PlaybackLoader<PlaybackTabImp>::OnComplete()
 {
     if ( !m_parent ) return;
         wxCommandEvent notice( PlaybacksLoadedEvt, 1 );
-    m_parent->ProcessEvent( notice );
+    ((wxEvtHandler*)m_parent)->ProcessEvent( notice );
     m_thread_loader = 0; // the thread object deleted itself
 }
 
diff --git a/src/playback/playbackthread.h b/src/playback/playbackthread.h
index c5c07e0..67e8fff 100644
--- a/src/playback/playbackthread.h
+++ b/src/playback/playbackthread.h
@@ -2,17 +2,23 @@
 #define SPRINGLOBBY_HEADERGUARD_PLAYBACKTHREAD
 
 #include <wx/string.h>
+#include "../defines.h"
 
 static const wxEventType PlaybacksLoadedEvt = wxNewEventType();
 
-template <class PlaybackTabImp >
-class PlaybackLoader
+#ifdef HAVE_WX29
+#include <wx/event.h>
+    template <class PlaybackTabImp >
+    class PlaybackLoader : public wxEvtHandler
+#else
+    template <class PlaybackTabImp >
+    class PlaybackLoader
+#endif
 {
 protected:
-
     class PlaybackLoaderThread : public wxThread
     {
-        private:
+        protected:
             typedef PlaybackLoader<PlaybackTabImp>
                 ParentType;
 
@@ -21,7 +27,7 @@ protected:
             void SetParent( ParentType* parent );
             void* Entry();
 
-        private:
+        protected:
             ParentType* m_parent;
     };
 
diff --git a/src/playback/replaylist.cpp b/src/playback/replaylist.cpp
index 3de1dcc..e131a5c 100644
--- a/src/playback/replaylist.cpp
+++ b/src/playback/replaylist.cpp
@@ -7,7 +7,7 @@
 #include "replaylist.h"
 #include "../utils/math.h"
 #include "../utils/conversion.h"
-#include "../settings++/custom_dialogs.h"
+#include "../utils/customdialogs.h"
 #include "playbacktab.h"
 #include "playbackstructs.h"
 #include "../uiutils.h"
@@ -48,7 +48,7 @@ bool ReplayList::GetReplayInfos ( const wxString& ReplayPath, Replay& ret )
     wxString FileName = ReplayPath.AfterLast( '/' ); // strips file path
     FileName = FileName.BeforeLast( _T('.') ); //strips the file extension;
 
-    ret.date = FileName.BeforeFirst(_T('_'));
+    ret.date_string = FileName.BeforeFirst(_T('_'));
     FileName = FileName.AfterFirst(_T('_'));
 
     FileName = FileName.AfterFirst(_T('_')); // strips hours minutes seconds informatiom
@@ -112,8 +112,9 @@ void ReplayList::GetHeaderInfo( Replay& rep, const wxString& ReplayPath )
         wxDateTime dt;
         dt.Set( (time_t) unixtime );
         // todo: add 2 strings one for date other for time?
-        wxString date = dt.FormatISODate()+_T(" ")+dt.FormatISOTime();
-        rep.date = date;
+        wxString date_string = dt.FormatISODate()+_T(" ")+dt.FormatISOTime();
+        rep.date = (time_t) unixtime ;
+        rep.date_string = date_string;
     }
     catch (...){ }
 }
diff --git a/src/playback/savegamelist.cpp b/src/playback/savegamelist.cpp
index 852eb0b..24768de 100644
--- a/src/playback/savegamelist.cpp
+++ b/src/playback/savegamelist.cpp
@@ -9,7 +9,7 @@
 
 #include "replaylist.h"
 //#include "../utils/.h"
-#include "../settings++/custom_dialogs.h"
+#include "../utils/customdialogs.h"
 #include "playbacktab.h"
 #include "playbackstructs.h"
 #include "../uiutils.h"
diff --git a/src/server.cpp b/src/server.cpp
index 03c8eb6..f704d9c 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -11,6 +11,7 @@
 #include "battle.h"
 #include "channel/channel.h"
 #include "user.h"
+#include "ui.h"
 #include "utils/debug.h"
 #include "utils/conversion.h"
 #include "chatpanel.h"
@@ -109,7 +110,7 @@ void Server::_RemoveUser( const wxString& nickname )
 Channel& Server::_AddChannel( const wxString& chan )
 {
   if ( m_channels.ChannelExists( chan ) ) return m_channels.GetChannel( chan );
-  Channel* c = new Channel( *this, ui() );
+  Channel* c = new Channel( *this );
   c->SetName( chan );
 
   m_channels.AddChannel( *c );
diff --git a/src/serverevents.cpp b/src/serverevents.cpp
index 27a8e7b..a153196 100644
--- a/src/serverevents.cpp
+++ b/src/serverevents.cpp
@@ -19,12 +19,14 @@
 #include "channel/channel.h"
 #include "user.h"
 #include "utils/debug.h"
+#include "uiutils.h"
 #include "server.h"
 #include "battle.h"
 #include "httpdownloader.h"
 #include "settings.h"
+#include "utils/customdialogs.h"
 #include "utils/tasutil.h"
-#include "settings++/custom_dialogs.h"
+
 #ifndef NO_TORRENT_SYSTEM
 #include "torrentwrapper.h"
 #endif
@@ -957,7 +959,7 @@ void ServerEvents::OnFileDownload( bool autolaunch, bool autoclose, bool disconn
 		else filename = _T("Spring installer.exe");
 		m_savepath = sett().GetCurrentUsedDataDir() + filename;
 		wxLogMessage(_T("downloading update in: %s, from: %s"),m_savepath.c_str(),refinedurl.c_str());
-		ui().OpenWebBrowser( url );
+		OpenWebBrowser( url );
 		//new HttpDownloaderThread<ServerEvents>( refinedurl, m_savepath, *this, wxID_HIGHEST + 100, true, false );
 	}
 }
diff --git a/src/settings++/Main.cpp b/src/settings++/Main.cpp
index 841a2c4..c0ac34b 100644
--- a/src/settings++/Main.cpp
+++ b/src/settings++/Main.cpp
@@ -27,6 +27,7 @@
 #include "../utils/platform.h"
 #include "../settings.h"
 #include "se_utils.h"
+#include "../defines.h"
 
 #include <iostream>
 #include <wx/msgdlg.h>
@@ -94,17 +95,33 @@ void Springsettings::OnFatalException()
 
 void Springsettings::OnInitCmdLine(wxCmdLineParser& parser)
 {
-    wxCmdLineEntryDesc cmdLineDesc[] =
-    {
-        { wxCMD_LINE_SWITCH, _T("h"), _T("help"), _("show this help message"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_OPTION_HELP },
-      { wxCMD_LINE_SWITCH, _T("nc"), _T("no-crash-handler"), _("don't use the crash handler (useful for debugging)"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
-      { wxCMD_LINE_SWITCH, _T("cl"), _T("console-logging"),  _("shows application log to the console(if available)"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
-      { wxCMD_LINE_SWITCH, _T("gl"), _T("gui-logging"),  _("enables application log window"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
-        { wxCMD_LINE_OPTION, _T("l"), _T("log-verbosity"),  _("overrides default logging verbosity, can be:\n                                0: no log\n                                1: critical errors\n                                2: errors\n                                3: warnings (default)\n                                4: messages\n                                5: function trace"), wxCMD_LINE_VAL_NUMBER, wxCMD_LINE_PARAM_OPTIONAL },
-        { wxCMD_LINE_NONE }
-
-    };
-
+    #ifndef HAVE_WX29
+        wxCmdLineEntryDesc cmdLineDesc[] =
+        {
+            { wxCMD_LINE_SWITCH, _T("h"), _T("help"), _("show this help message"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_OPTION_HELP },
+            { wxCMD_LINE_SWITCH, _T("nc"), _T("no-crash-handler"), _("don't use the crash handler (useful for debugging)"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
+        #if wxUSE_STD_IOSTREAM
+            { wxCMD_LINE_SWITCH, _T("cl"), _T("console-logging"),  _("shows application log to the console(if available)"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
+        #endif
+            { wxCMD_LINE_SWITCH, _T("gl"), _T("gui-logging"),  _("enables application log window"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
+            //{ wxCMD_LINE_OPTION, _T("c"), _T("config-file"),  _("override default choice for config-file"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL | wxCMD_LINE_NEEDS_SEPARATOR },
+            { wxCMD_LINE_OPTION, _T("l"), _T("log-verbosity"),  _("overrides default logging verbosity, can be:\n                                0: no log\n                                1: critical errors\n                                2: errors\n                                3: warnings (default)\n                                4: messages\n                                5: function trace"), wxCMD_LINE_VAL_NUMBER, wxCMD_LINE_PARAM_OPTIONAL },
+            { wxCMD_LINE_NONE }
+        };
+    #else
+        wxCmdLineEntryDesc cmdLineDesc[] =
+        {
+            { wxCMD_LINE_SWITCH, "h", "help", _("show this help message"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_OPTION_HELP },
+            { wxCMD_LINE_SWITCH, "nc", "no-crash-handler", _("don't use the crash handler (useful for debugging)"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
+        #if wxUSE_STD_IOSTREAM
+            { wxCMD_LINE_SWITCH, "cl", "console-logging",  _("shows application log to the console(if available)"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
+        #endif
+            { wxCMD_LINE_SWITCH, "gl", "gui-logging",  _("enables application log window"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
+            //{ wxCMD_LINE_OPTION, _T("c"), _T("config-file"),  _("override default choice for config-file"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL | wxCMD_LINE_NEEDS_SEPARATOR },
+            { wxCMD_LINE_OPTION, "l", "log-verbosity",  _("overrides default logging verbosity, can be:\n                                0: no log\n                                1: critical errors\n                                2: errors\n                                3: warnings (default)\n                                4: messages\n                                5: function trace"), wxCMD_LINE_VAL_NUMBER, wxCMD_LINE_PARAM_OPTIONAL },
+            { wxCMD_LINE_NONE }
+        };
+    #endif
     parser.SetDesc( cmdLineDesc );
     parser.SetSwitchChars (wxT("-"));
 }
diff --git a/src/settings++/frame.cpp b/src/settings++/frame.cpp
index 2ac41de..58fc343 100644
--- a/src/settings++/frame.cpp
+++ b/src/settings++/frame.cpp
@@ -35,7 +35,7 @@
 #include "tab_simple.h"
 #include "Defs.hpp"
 #include "panel_pathoption.h"
-#include "custom_dialogs.h"
+#include "../utils/customdialogs.h"
 #include "../images/springsettings.xpm"
 #include "helpmenufunctions.h"
 #include "se_utils.h"
@@ -179,17 +179,12 @@ void settings_frame::CreateGUIControls()
 						 uiTab = new tab_ui(notebook,ID_UI);
 						notebook->AddPage(simpleTab,simpleTabCap);
 						notebook->AddPage(uiTab, uiTabCap);
+						SetTitle(_("SpringSettings (simple mode)"));
 					break;
 			}
 			notebook->SetSelection(0);
 
-	if (sett().getMode()==SET_MODE_EXPERT)
-		SetTitle(_("SpringSettings (expert mode)"));
-	else
-		SetTitle(_("SpringSettings (simple mode)"));
-
 	abstract_panel::settingsChanged = false;
-
 }
 
 void settings_frame::initMenuBar() {
diff --git a/src/settings++/helpmenufunctions.cpp b/src/settings++/helpmenufunctions.cpp
index 02bd976..c37008f 100644
--- a/src/settings++/helpmenufunctions.cpp
+++ b/src/settings++/helpmenufunctions.cpp
@@ -4,15 +4,15 @@
 #include "config.h"
 #endif //HAVE_CONFIG_H
 
-#ifndef VERSION 
+#ifndef VERSION
 	#define VERSION "unknown"
-#endif //VERSION 
+#endif //VERSION
 
 
 #include <wx/icon.h>
 #include "../images/springsettings.xpm"
 
-#include "custom_dialogs.h"
+#include "../utils/customdialogs.h"
 #include <wx/intl.h>
 #include "se_utils.h"
 #include <string>
diff --git a/src/settings++/panel_pathoption.cpp b/src/settings++/panel_pathoption.cpp
index f4c7ddb..de225fe 100644
--- a/src/settings++/panel_pathoption.cpp
+++ b/src/settings++/panel_pathoption.cpp
@@ -26,7 +26,7 @@
 #include "se_utils.h"
 
 
-#include "custom_dialogs.h"
+#include "../utils/customdialogs.h"
 
 PathOptionPanel::PathOptionPanel(wxWindow* parent,settings_frame* _origin) : wxPanel(parent,-1),origin(_origin)
 {
diff --git a/src/settings++/se_utils.cpp b/src/settings++/se_utils.cpp
index 8277b4c..2c18360 100644
--- a/src/settings++/se_utils.cpp
+++ b/src/settings++/se_utils.cpp
@@ -10,7 +10,7 @@
 
 #include "se_utils.h"
 
-#include "custom_dialogs.h"
+#include "../utils/customdialogs.h"
 #include "../settings.h"
 #include "../springunitsynclib.h"
 //#include "../utils/.h"
@@ -19,19 +19,19 @@ static bool standalonemode = true;
 
 bool IsSettingsStandAlone()
 {
-  return standalonemode;
+	return standalonemode;
 }
 
 void SetSettingsStandAlone( bool value )
 {
-  standalonemode = value;
+	standalonemode = value;
 }
 
 
-int fromString(const wxString& s) {
-        long temp = 0;
-        s.ToLong(&temp);
-        return int(temp);
+int fromString( const wxString& s ) {
+	long temp = 0;
+	s.ToLong( &temp );
+	return int( temp );
 }
 
 void openUrl( const wxString& url )
diff --git a/src/settings++/tab_abstract.cpp b/src/settings++/tab_abstract.cpp
index ddfa718..3642d74 100644
--- a/src/settings++/tab_abstract.cpp
+++ b/src/settings++/tab_abstract.cpp
@@ -31,8 +31,9 @@
 #include <wx/radiobut.h>
 #include <wx/combobox.h>
 #include <wx/spinctrl.h>
+#include <wx/textctrl.h>
 
-#include "custom_dialogs.h"
+#include "../utils/customdialogs.h"
 #include "../springunitsynclib.h"
 
 #include "Defs.hpp"
@@ -104,6 +105,7 @@ abstract_panel::abstract_panel(wxWindow *parent, wxWindowID id , const wxString
                 : wxScrolledWindow(parent, id, pos, size, style|wxTAB_TRAVERSAL|wxHSCROLL,title) {
 //	abstract_panel::expertModeEnadbled = false;
 	SetScrollbars( 10, 10, 62, 62 );
+	Layout();
 }
 
 abstract_panel::~abstract_panel(void) {
diff --git a/src/settings++/tab_quality_video.cpp b/src/settings++/tab_quality_video.cpp
index 1929a69..0bc777a 100644
--- a/src/settings++/tab_quality_video.cpp
+++ b/src/settings++/tab_quality_video.cpp
@@ -32,6 +32,8 @@ c    This file is part of springsettings,
 #include <wx/checkbox.h>
 #include <wx/radiobut.h>
 #include <wx/combobox.h>
+#include <wx/textctrl.h>
+
 #include "../spinctld.h"
 
 #include "Defs.hpp"
diff --git a/src/settings.cpp b/src/settings.cpp
index 1e4fe43..b114da1 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -39,7 +39,7 @@
 #include "Helper/sortutil.h"
 #include "mainwindow.h"
 #ifdef SL_DUMMY_COL
-#include "settings++/custom_dialogs.h"
+    #include "utils/customdialogs.h"
 #endif
 
 bool Settings::m_user_defined_config = false;
@@ -466,8 +466,8 @@ bool Settings::ServerExists( const wxString& server_name )
 //! @note Normally this will be the previously selected server. But at first run it will be a server that is set as the default.
 wxString Settings::GetDefaultServer()
 {
-	wxString serv = WX_STRINGC( DEFSETT_DEFAULT_SERVER_NAME );
-	return m_config->Read( _T( "/Server/Default" ), serv );
+    wxString serv = DEFSETT_DEFAULT_SERVER_NAME;
+    return m_config->Read( _T("/Server/Default"), serv );
 }
 
 void Settings::SetAutoConnect( bool do_autoconnect )
@@ -496,8 +496,8 @@ void   Settings::SetDefaultServer( const wxString& server_name )
 //! @param server_name the server name/alias
 wxString Settings::GetServerHost( const wxString& server_name )
 {
-	wxString host = WX_STRINGC( DEFSETT_DEFAULT_SERVER_HOST );
-	return m_config->Read( _T( "/Server/Servers/" ) + server_name + _T( "/Host" ), host );
+    wxString host = DEFSETT_DEFAULT_SERVER_HOST;
+    return m_config->Read( _T("/Server/Servers/")+ server_name +_T("/Host"), host );
 }
 
 
@@ -924,9 +924,11 @@ wxString Settings::GetCurrentUsedDataDir()
 		else dir = susynclib().GetSpringConfigString( _T( "SpringData" ), _T( "" ) );
 	}
 #ifdef __WXMSW__
-	if ( dir.IsEmpty() ) dir = GetExecutableFolder(); // fallback
+	if ( dir.IsEmpty() )
+        dir = GetExecutableFolder(); // fallback
 #else
-	if ( dir.IsEmpty() ) dir = wxFileName::GetHomeDir() + wxFileName::GetPathSeparator() + _T( ".spring" ); // fallback
+	if ( dir.IsEmpty() )
+        dir = wxFileName::GetHomeDir() + wxFileName::GetPathSeparator() + _T( ".spring" ); // fallback
 #endif
 	return dir;
 }
@@ -985,8 +987,10 @@ void Settings::SetSpringBinary( const wxString& index, const wxString& path )
 
 wxString Settings::GetForcedSpringConfigFilePath()
 {
-	if ( IsPortableMode() ) return GetCurrentUsedDataDir() + wxFileName::GetPathSeparator() + _T( "springsettings.cfg" );
-	else return _T( "" );
+	if ( IsPortableMode() )
+        return GetCurrentUsedDataDir() + wxFileName::GetPathSeparator() + _T( "springsettings.cfg" );
+	else
+        return _T( "" );
 }
 
 // ===================================================
@@ -2432,3 +2436,61 @@ void Settings::SetShowXallTabs( bool show )
 {
     m_config->Write( _T( "/GUI/CloseOnAll" ) , show );
 }
+
+void Settings::SavePerspective( const wxString& notebook_name, const wxString& perspective_name, const wxString& layout_string )
+{
+    wxString entry = wxString::Format( _T( "/GUI/AUI/%s/%s" ), perspective_name.c_str(), notebook_name.c_str() );
+    m_config->Write( entry, layout_string );
+}
+
+wxString Settings::LoadPerspective( const wxString& notebook_name, const wxString& perspective_name )
+{
+    wxString entry = wxString::Format( _T( "/GUI/AUI/%s/%s" ), perspective_name.c_str(), notebook_name.c_str() );
+    return m_config->Read( entry , _T("") );
+}
+
+wxString Settings::GetLastPerspectiveName( )
+{
+    return m_config->Read( _T( "/GUI/AUI/lastperspective_name" ), _T("default") );
+}
+
+void Settings::SetLastPerspectiveName( const wxString&  name )
+{
+    m_config->Write( _T( "/GUI/AUI/lastperspective_name" ), name );
+}
+
+void Settings::SetAutosavePerspective( bool autosave )
+{
+    m_config->Write( _T( "/GUI/AUI/autosave" ), autosave );
+}
+
+bool Settings::GetAutosavePerspective( )
+{
+    return m_config->Read( _T( "/GUI/AUI/autosave" ), 1l );
+}
+
+wxArrayString Settings::GetPerspectives()
+{
+    wxArrayString list = GetGroupList( _T( "/GUI/AUI" ) );
+    wxArrayString ret;
+    for ( size_t i = 0; i < list.GetCount(); ++i) {
+    	if ( !list[i].EndsWith( BattlePostfix ) )
+            ret.Add( list[i] );
+        else  {
+            wxString stripped = list[i].Left( list[i].Len() - BattlePostfix.Len() );
+            if ( !PerspectiveExists( stripped ) )
+                ret.Add( stripped );
+        }
+    }
+    return ret;
+}
+
+bool Settings::PerspectiveExists( const wxString& perspective_name )
+{
+    wxArrayString list = GetGroupList( _T( "/GUI/AUI" ) );
+    for ( size_t i = 0; i < list.GetCount(); ++i) {
+        if ( list[i] == perspective_name )
+            return true;
+    }
+    return false;
+}
diff --git a/src/settings.h b/src/settings.h
index 0e0d629..813157f 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -9,6 +9,7 @@ const int SETTINGS_VERSION  = 15;
 
 const wxString DEFSETT_DEFAULT_SERVER_NAME= _T("Official server");
 const wxString DEFSETT_DEFAULT_SERVER_HOST = _T("taspringmaster.clan-sy.com");
+const wxString BattlePostfix = _T("_battle");
 const int DEFSETT_DEFAULT_SERVER_PORT = 8200;
 const bool DEFSETT_SAVE_PASSWORD = false;
 const unsigned int DEFSETT_MW_WIDTH = 880;
@@ -17,8 +18,8 @@ const unsigned int DEFSETT_MW_TOP = 50;
 const unsigned int DEFSETT_MW_LEFT = 50;
 const unsigned int DEFSETT_SPRING_PORT = 8452;
 
-const unsigned int SET_MODE_EXPERT = 5000;
-const unsigned int SET_MODE_SIMPLE = 5001;
+const int SET_MODE_EXPERT = 5000;
+const int SET_MODE_SIMPLE = 5001;
 const unsigned int DEFSETT_SW_WIDTH = 770;
 const unsigned int DEFSETT_SW_HEIGHT = 580;
 const unsigned int DEFSETT_SW_TOP = 50;
@@ -32,6 +33,7 @@ const unsigned int SPRING_MAX_ALLIES = 16;
  */
 const bool DEFSETT_WEB_BROWSER_USE_DEFAULT = true;
 
+#include <wx/config.h>
 #include <wx/fileconf.h>
 #include "useractions.h"
 #include "Helper/sortutil.h"
@@ -83,16 +85,15 @@ class Settings
     Settings();
     ~Settings();
 
-    /** used for passing config file at command line
-    */
+    //! used for passing config file at command line
     static bool m_user_defined_config;
     static wxString m_user_defined_config_path;
 
-		/// used to import default configs from a file in windows
-		#ifdef __WXMSW__
-    void SetDefaultConfigs( SL_WinConf& conf );
+    /// used to import default configs from a file in windows
+    #ifdef __WXMSW__
+        void SetDefaultConfigs( SL_WinConf& conf );
     #else
-    void SetDefaultConfigs( wxConfig& conf );
+        void SetDefaultConfigs( wxConfig& conf );
     #endif
 
     /// list all entries subkeys of a parent group
@@ -100,7 +101,7 @@ class Settings
     /// list all groups subkeys of a parent group
     wxArrayString GetEntryList( const wxString& base_key );
     /// counts all groups subkeys of a parent group
-		unsigned int GetGroupCount( const wxString& base_key );
+    unsigned int GetGroupCount( const wxString& base_key );
 
     bool IsPortableMode();
     void SetPortableMode( bool mode );
@@ -649,6 +650,16 @@ class Settings
      */
     void SaveLayout( wxString& layout_name, wxString& layout_string );
     wxString GetLayout( wxString& layout_name );
+
+    void SavePerspective( const wxString& notebook_name, const wxString& perspective_name, const wxString& layout_string );
+    wxString LoadPerspective( const wxString& notebook_name, const wxString& perspective_name );
+    wxString GetLastPerspectiveName( );
+    void SetLastPerspectiveName( const wxString&  name );
+    void SetAutosavePerspective( bool autosave );
+    bool GetAutosavePerspective( );
+    wxArrayString GetPerspectives();
+    bool PerspectiveExists( const wxString& perspective_name );
+
     wxArrayString GetLayoutList();
     void SetDefaultLayout( const wxString& layout_name );
     wxString GetDefaultLayout();
diff --git a/src/singleplayerbattle.cpp b/src/singleplayerbattle.cpp
index 78fe5c9..7edbe48 100644
--- a/src/singleplayerbattle.cpp
+++ b/src/singleplayerbattle.cpp
@@ -9,10 +9,10 @@
 #include "ui.h"
 #include "settings.h"
 #include "spring.h"
+#include "springunitsynclib.h"
+#include "utils/conversion.h"
 
-
-SinglePlayerBattle::SinglePlayerBattle(Ui& ui, MainSinglePlayerTab& msptab):
-  m_ui(ui),
+SinglePlayerBattle::SinglePlayerBattle( MainSinglePlayerTab& msptab ):
   m_sptab(msptab),
   m_me( User( usync().IsLoaded() ? usync().GetDefaultNick() : _T("invalid") ) )
 {
@@ -75,3 +75,71 @@ void SinglePlayerBattle::StartSpring()
 	spring().Run( *this );
 	ui().OnSpringStarting();
 }
+
+/** @brief StartSpring
+  *
+  * @todo: document this function
+  */
+void NoGuiSinglePlayerBattle::StartSpring()
+{
+	spring().Run( *this );
+	ui().OnSpringStarting();
+}
+
+/** @brief NoGuiSinglePlayerBattle
+  *
+  * @todo: document this function
+  */
+ NoGuiSinglePlayerBattle::NoGuiSinglePlayerBattle()
+    :  m_me( User( usync().IsLoaded() ? usync().GetDefaultNick() : _T("invalid") ) )
+{
+	OnUserAdded( m_me );
+	m_me.BattleStatus().colour = sett().GetBattleLastColour();
+}
+
+int NoGuiSinglePlayerBattle::GetAiIndex( const wxString& name )
+{
+    int total = susynclib().GetSkirmishAICount( m_host_mod.name );
+    for ( int i = 0; i < total; i++ )
+    {
+        wxArrayString infos = susynclib().GetAIInfo( i );
+        int namepos = infos.Index( _T("shortName") );
+        int versionpos = infos.Index( _T("version") );
+        wxString ainame;
+        if ( namepos != wxNOT_FOUND )
+            ainame += infos[namepos +1];
+        if ( ainame == name )
+            return i;
+//        if ( versionpos != wxNOT_FOUND ) ainame += _T(" ") + infos[versionpos +1];
+    }
+    return -1;
+}
+
+int NoGuiSinglePlayerBattle::GetSideIndex( const wxString& name )
+{
+    wxArrayString sides = usync().GetSides( m_host_mod.name );
+    for ( int i = 0; i < (int)sides.Count(); ++i ) {
+        if ( name.CmpNoCase( sides[i] ) == 0 )
+            return i;
+    }
+    return -1;
+}
+
+bool NoGuiSinglePlayerBattle::AddBot( const wxString& name, int ai_team_id, const wxString& side )
+{
+    int ai_id = GetAiIndex( name );
+    if ( ai_id > -1 ) {
+        UserBattleStatus bs;
+        bs.owner = GetMe().GetNick();
+        bs.aishortname = name;
+        bs.aitype = ai_id;
+        bs.team = ai_team_id;
+        bs.ally = GetFreeAlly();
+        bs.colour = GetNewColour();
+        bs.side = GetSideIndex( side );
+        //first arg is nick
+        User& bot = OnBotAdded( name + _T("_") + TowxString( bs.team ), bs  );
+        return true;
+    }
+    return false;
+}
diff --git a/src/singleplayerbattle.h b/src/singleplayerbattle.h
index 4d69f94..5457312 100644
--- a/src/singleplayerbattle.h
+++ b/src/singleplayerbattle.h
@@ -15,8 +15,8 @@ class SinglePlayerBattle: public IBattle
 {
   public:
 
-    SinglePlayerBattle( Ui& ui, MainSinglePlayerTab& msptab );
-    ~SinglePlayerBattle();
+    SinglePlayerBattle( MainSinglePlayerTab& msptab );
+    virtual ~SinglePlayerBattle();
 
 // (koshi) these are never called
 //    unsigned int AddBot( int ally, int posx, int posy, int handicap, const wxString& aidll );
@@ -35,13 +35,37 @@ class SinglePlayerBattle: public IBattle
 
   protected:
 
-    Ui& m_ui;
     MainSinglePlayerTab& m_sptab;
 
     User m_me;
 
 };
 
+/** A derivative used in the Simple interface
+
+    Has no GUI tie-ins like SingelPlayerBattle and provides some functions to translate from the mod customization settings to our IBattle logic.
+
+**/
+class NoGuiSinglePlayerBattle : public IBattle {
+    public:
+        NoGuiSinglePlayerBattle ();
+        virtual ~NoGuiSinglePlayerBattle () {}
+        void StartSpring();
+        bool IsFounderMe() { return true; }
+        User& GetMe() { return m_me; }
+
+        bool AddBot( const wxString& name, int team_id, const wxString& side );
+
+        //! returns -1 on fail, otherwise usnyc index that matches the given name
+        int GetSideIndex( const wxString& name );
+
+    protected:
+        //! returns -1 on fail, otherwise usnyc index that matches the given name
+        int GetAiIndex( const wxString& name );
+
+        User m_me;
+};
+
 #endif // SPRINGLOBBY_HEADERGUARD_SINGLEPLAYERBATTLE_H
 
 /**
diff --git a/src/singleplayertab.cpp b/src/singleplayertab.cpp
index 417473a..4ea80ee 100644
--- a/src/singleplayertab.cpp
+++ b/src/singleplayertab.cpp
@@ -25,7 +25,7 @@
 #include "settings.h"
 #include "Helper/colorbutton.h"
 #include "aui/auimanager.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 #include "springunitsynclib.h"
 
 BEGIN_EVENT_TABLE(SinglePlayerTab, wxPanel)
@@ -44,16 +44,15 @@ BEGIN_EVENT_TABLE(SinglePlayerTab, wxPanel)
 END_EVENT_TABLE()
 
 
-SinglePlayerTab::SinglePlayerTab(wxWindow* parent, Ui& ui, MainSinglePlayerTab& msptab):
+SinglePlayerTab::SinglePlayerTab(wxWindow* parent, MainSinglePlayerTab& msptab):
         wxScrolledWindow( parent, -1 ),
-        m_ui( ui ),
-        m_battle( ui, msptab )
+        m_battle( msptab )
 {
     GetAui().manager->AddPane( this, wxLEFT, _T("singleplayertab") );
 
     wxBoxSizer* m_main_sizer = new wxBoxSizer( wxVERTICAL );
 
-    m_minimap = new MapCtrl( this, 100, &m_battle, ui, false, false, true, true );
+    m_minimap = new MapCtrl( this, 100, &m_battle, false, false, true, true );
     m_minimap->SetToolTip( TE(_("You can drag the sun/bot icon around to define start position.\n "
                                 "Hover over the icon for a popup that lets you change side, ally and bonus." )) );
     m_main_sizer->Add( m_minimap, 1, wxALL|wxEXPAND, 5 );
@@ -108,7 +107,7 @@ SinglePlayerTab::SinglePlayerTab(wxWindow* parent, Ui& ui, MainSinglePlayerTab&
 
     m_main_sizer->Add( m_buttons_sizer, 0, wxEXPAND, 5 );
 
-    SetScrollRate( 3, 3 );
+    SetScrollRate( SCROLL_RATE, SCROLL_RATE );
     this->SetSizer( m_main_sizer );
     this->Layout();
 
@@ -134,19 +133,19 @@ void SinglePlayerTab::ReloadMaplist()
 {
     m_map_pick->Clear();
 
+    //applies RefineMapname to every new element
     TransformedArrayString maplist ( usync().GetMapList(), &RefineMapname ) ;
     //maplist.Sort(CompareStringIgnoreCase);
-//
-//    size_t nummaps = maplist.Count();
-//    for ( size_t i = 0; i < nummaps; i++ )
-//        m_map_pick->Insert( RefineMapname(maplist[i]), i );
+
     m_map_pick->Append( maplist );
 
     m_map_pick->Insert( _("-- Select one --"), m_map_pick->GetCount() );
+
     if ( m_battle.GetHostMapName() != wxEmptyString )
     {
         m_map_pick->SetStringSelection( RefineMapname( m_battle.GetHostMapName() ) );
-        if ( m_map_pick->GetStringSelection() == wxEmptyString ) SetMap( m_mod_pick->GetCount()-1 );
+        if ( m_map_pick->GetStringSelection() == wxEmptyString )
+            SetMap( m_mod_pick->GetCount()-1 );
     }
     else
     {
@@ -182,7 +181,7 @@ void SinglePlayerTab::ReloadModlist()
 
 void SinglePlayerTab::SetMap( unsigned int index )
 {
-	//m_ui.ReloadUnitSync();
+	//ui().ReloadUnitSync();
   m_addbot_btn->Enable( false );
   if ( index >= m_map_pick->GetCount()-1 ) {
     m_battle.SetHostMap( wxEmptyString, wxEmptyString );
@@ -205,7 +204,7 @@ void SinglePlayerTab::ResetUsername()
 
 void SinglePlayerTab::SetMod( unsigned int index )
 {
-    //m_ui.ReloadUnitSync();
+    //ui().ReloadUnitSync();
     if ( index >= m_mod_pick->GetCount()-1 )
     {
         m_battle.SetHostMod( wxEmptyString, wxEmptyString );
@@ -271,7 +270,7 @@ void SinglePlayerTab::OnModSelect( wxCommandEvent& /*unused*/ )
 void SinglePlayerTab::OnMapBrowse( wxCommandEvent& /*unused*/ )
 {
     wxLogDebugFunc( _T("") );
-    MapSelectDialog dlg( (wxWindow*)&m_ui.mw(), m_ui );
+    MapSelectDialog dlg( (wxWindow*)&ui().mw() );
 
     if ( dlg.ShowModal() == wxID_OK && dlg.GetSelectedMap() != NULL )
     {
@@ -302,12 +301,26 @@ void SinglePlayerTab::OnAddBot( wxCommandEvent& /*unused*/ )
     }
 }
 
+void SinglePlayerTab::OnUnitsyncReloaded( GlobalEvents::GlobalEventData /*data*/ )
+{
+    try {
+        ReloadMaplist();
+        ReloadModlist();
+        UpdateMinimap();
+    }
+    catch ( ... )
+    {
+        wxLogDebugFunc( _T("") );
+        wxLogError( _T("unitsync reload sink failed") );
+    }
+}
+
 
 void SinglePlayerTab::OnStart( wxCommandEvent& /*unused*/ )
 {
     wxLogDebugFunc( _T("SP: ") );
 
-    if ( m_ui.IsSpringRunning() )
+    if ( ui().IsSpringRunning() )
     {
         wxLogWarning(_T("trying to start spring while another instance is running") );
         customMessageBoxNoModal(SL_MAIN_ICON, _("You cannot start a spring instance while another is already running"), _("Spring error"), wxICON_EXCLAMATION );
@@ -336,7 +349,7 @@ void SinglePlayerTab::OnColorButton( wxCommandEvent& /*unused*/ )
     User& u = m_battle.GetMe();
     wxColour CurrentColour = u.BattleStatus().colour;
     CurrentColour = GetColourFromUser(this, CurrentColour);
-    if ( !CurrentColour.IsColourOk() ) return;
+    if ( !CurrentColour.IsOk() ) return;
     sett().SetBattleLastColour( CurrentColour );
     m_battle.ForceColour( u, CurrentColour );
     UpdateMinimap();
diff --git a/src/singleplayertab.h b/src/singleplayertab.h
index 7cb8cd8..9b6b9da 100644
--- a/src/singleplayertab.h
+++ b/src/singleplayertab.h
@@ -20,11 +20,11 @@ class wxCheckBox;
 class wxMouseEvent;
 class ColorButton;
 
-class SinglePlayerTab: public  wxScrolledWindow
+class SinglePlayerTab: public  wxScrolledWindow , public UnitsyncReloadedSink< SinglePlayerTab >
 {
   public:
 
-    SinglePlayerTab( wxWindow* parent, Ui& ui, MainSinglePlayerTab& msptab );
+    SinglePlayerTab( wxWindow* parent, MainSinglePlayerTab& msptab );
     ~SinglePlayerTab();
 
     void UpdateMinimap();
@@ -48,15 +48,14 @@ class SinglePlayerTab: public  wxScrolledWindow
     void OnReset( wxCommandEvent& event );
     void OnMouseWheel( wxMouseEvent& event );
 
-    void OnUnitSyncReloaded();
-    void ResetUsername();
+    void OnUnitsyncReloaded( GlobalEvents::GlobalEventData /*data*/ );
+	void ResetUsername();	
 
     void SetMap( unsigned int index );
     void SetMod( unsigned int index );
 
   protected:
 
-    Ui& m_ui;
     SinglePlayerBattle m_battle;
 
     MapCtrl* m_minimap;
diff --git a/src/spring.cpp b/src/spring.cpp
index 318c104..011489b 100644
--- a/src/spring.cpp
+++ b/src/spring.cpp
@@ -25,7 +25,7 @@
 #include "springprocess.h"
 #include "ui.h"
 #include "mainwindow.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 #include "utils/debug.h"
 #include "utils/conversion.h"
 #include "settings.h"
@@ -159,6 +159,32 @@ bool Spring::Run( SinglePlayerBattle& battle )
   return LaunchSpring( _T("\"") + path + _T("\"") );
 }
 
+bool Spring::Run( NoGuiSinglePlayerBattle& battle )
+{
+
+  wxString path = sett().GetCurrentUsedDataDir() + wxFileName::GetPathSeparator() + _T("script.txt");
+
+  try
+  {
+
+    if ( !wxFile::Access( path, wxFile::write ) )
+    {
+      wxLogError( _T("Access denied to script.txt.") );
+    }
+
+    wxFile f( path, wxFile::write );
+    f.Write( WriteScriptTxt(battle) );
+    f.Close();
+
+  } catch (...)
+  {
+    wxLogError( _T("Couldn't write script.txt") );
+    return false;
+  }
+
+  return LaunchSpring( _T("\"") + path + _T("\"") );
+}
+
 bool Spring::Run( OfflineBattle& battle )
 {
 
@@ -190,10 +216,12 @@ bool Spring::LaunchSpring( const wxString& params  )
 		if ( usync().GetSpringVersion().Contains(_T("0.78.") ) ) configfileflags = _T("");
 		#endif
   }
-  wxChar sep = wxFileName::GetPathSeparator();
+
   wxString cmd =  _T("\"") + sett().GetCurrentUsedSpringBinary();
   #ifdef __WXMAC__
-	if ( sett().GetCurrentUsedSpringBinary().AfterLast(_T('.')) == _T("app") ) cmd += sep + wxString(_T("Contents")) + sep + wxString(_T("MacOS")) + sep + wxString(_T("spring")); // append app bundle inner path
+    wxChar sep = wxFileName::GetPathSeparator();
+	if ( sett().GetCurrentUsedSpringBinary().AfterLast(_T('.')) == _T("app") )
+        cmd += sep + wxString(_T("Contents")) + sep + wxString(_T("MacOS")) + sep + wxString(_T("spring")); // append app bundle inner path
   #endif
   cmd += _T("\" ") + configfileflags + params;
   wxLogMessage( _T("spring call params: %s"), cmd.c_str() );
@@ -540,7 +568,7 @@ wxString Spring::WriteScriptTxt( IBattle& battle ) const
 			tdf.AppendLineBreak();
 
 
-			int maxiter = std::max( NumUsers, battle.GetLastRectIdx() + 1 );
+			unsigned int maxiter = std::max( NumUsers, battle.GetLastRectIdx() + 1 );
 			std::set<int> parsedallys;
 			for ( unsigned int i = 0; i < maxiter; i++ )
 			{
diff --git a/src/spring.h b/src/spring.h
index 3e682cf..14f66b5 100644
--- a/src/spring.h
+++ b/src/spring.h
@@ -6,6 +6,7 @@
 class wxCommandEvent;
 class IBattle;
 class SinglePlayerBattle;
+class NoGuiSinglePlayerBattle;
 class OfflineBattle;
 class Battle;
 class SpringProcess;
@@ -22,6 +23,7 @@ class Spring: public wxEvtHandler
     bool IsRunning() const;
     bool Run( Battle& battle );
     bool Run( SinglePlayerBattle& battle );
+    bool Run( NoGuiSinglePlayerBattle& battle );
     bool Run( OfflineBattle& battle );
 
     //! executes spring with replay as parameter
diff --git a/src/springlobbyapp.cpp b/src/springlobbyapp.cpp
index d311987..b1663bd 100644
--- a/src/springlobbyapp.cpp
+++ b/src/springlobbyapp.cpp
@@ -41,7 +41,7 @@
 #include "ui.h"
 #include "iunitsync.h"
 #include "channel/channel.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 #include "settings++/se_utils.h"
 #ifndef NO_TORRENT_SYSTEM
 #include "torrentwrapper.h"
@@ -49,10 +49,14 @@
 #include "updater/updater.h"
 #include "globalsmanager.h"
 #include "Helper/wxTranslationHelper.h"
-#include "Helper/tasclientimport.h"
 #include "playback/playbacktraits.h"
 #include "playback/playbacktab.h"
 #include "updater/versionchecker.h"
+#include "updater/updatermainwindow.h"
+#include "defines.h"
+#include "customizations.h"
+
+#include "gui/simplefront.h"
 
 const unsigned int TIMER_ID         = 101;
 const unsigned int TIMER_INTERVAL   = 100;
@@ -93,7 +97,9 @@ SpringLobbyApp::SpringLobbyApp()
     m_log_console( true ),
     m_log_window_show( false ),
     m_crash_handle_disable( false ),
-    m_updateing_only( false )
+    m_updateing_only( false ),
+    m_start_simple_interface( false ),
+    m_updater_window( 0 )
 {
     SetAppName( _T("springlobby") );
 }
@@ -128,7 +134,6 @@ bool SpringLobbyApp::OnInit()
     wxFileSystem::AddHandler(new wxZipFSHandler);
     wxSocketBase::Initialize();
 
-
 #ifdef __WXMSW__
     wxString path = wxPathOnly( wxStandardPaths::Get().GetExecutablePath() ) + wxFileName::GetPathSeparator() + _T("locale");
 #else
@@ -147,57 +152,45 @@ bool SpringLobbyApp::OnInit()
         wxMkdir( wxStandardPaths::Get().GetUserDataDir() );
 
     sett().RefreshSpringVersionList();
-    usync().ReloadUnitSyncLib(); // first time load of unitsync
 
-    //everything below should not be executing when updating, so we can ensure no GUI window is created, torrent system isn't started, etc.
+#ifdef __WXMSW__
+    //everything below should not be executing when updating, so we can ensure no MainWindow window is created, torrent system isn't started, etc.
     // NOTE: this assumes no one will try to update at firstRun
-    if ( m_updateing_only )
+    if ( m_updateing_only ) {
+        wxString latestVersion = GetLatestVersion();
+        m_updater_window = new UpdaterMainwindow( latestVersion );
+        m_updater_window->Show( true );
+        SetTopWindow( m_updater_window );
+        Updater().StartUpdate( latestVersion );
         return true;
-
-    CacheAndSettingsSetup();
-    ui().ShowMainWindow();
-    SetTopWindow( &ui().mw() );
-
-    if ( sett().IsFirstRun() )
-    {
-#ifdef __WXMSW__
-        sett().SetOldSpringLaunchMethod( true );
+    }
 #endif
+    usync(); //init object, sink needs to exist before event is posted. next line would do both object(sink) creation and Event posting
+    GetGlobalEventSender(GlobalEvents::UnitSyncReloadRequest).SendEvent( 0 ); // request an unitsync reload
 
-        wxLogMessage( _T("first time startup"));
-        wxMessageBox(_("Hi ") + wxGetUserName() + _(",\nIt looks like this is your first time using SpringLobby. I have guessed a configuration that I think will work for you but you should review it, especially the Spring configuration. \n\nWhen you are done you can go to the File menu, connect to a server, and enjoy a nice game of Spring :)"), _("Welcome"),
-                     wxOK | wxICON_INFORMATION, &ui().mw() );
-
-
-        customMessageBoxNoModal(SL_MAIN_ICON, _("By default SpringLobby reports some usage statistics.\nYou can disable that on options tab --> General."),_("Notice"),wxOK );
-
-
-                // copy uikeys.txt
-                wxPathList pl;
-                pl.AddEnvList( _T("%ProgramFiles%") );
-                pl.AddEnvList( _T("XDG_DATA_DIRS") );
-                pl = sett().GetAdditionalSearchPaths( pl );
-                wxString uikeyslocation = pl.FindValidPath( _T("uikeys.txt") );
-                if ( !uikeyslocation.IsEmpty() )
-                {
-                    wxCopyFile( uikeyslocation, sett().GetCurrentUsedDataDir() + wxFileName::GetPathSeparator() + _T("uikeys.txt"), false );
-                }
+    CacheAndSettingsSetup();
 
-    #ifdef __WXMSW__
-        if ( TASClientPresent() &&
-                customMessageBox(SL_MAIN_ICON, _("Should I try to import (some) TASClient settings?\n" ),_("Import settings?"), wxYES_NO ) == wxYES )
-        {
-            ImportTASClientSettings();
+    if ( !m_customizer_modname.IsEmpty() ) {
+        if ( SLcustomizations().Init( m_customizer_modname ) ) {
+            if ( m_start_simple_interface ) {
+                SimpleFront* sp = new SimpleFront( 0 );
+                SetTopWindow( sp );
+                sp->Show();
+                return true;
+            }
+        }
+        else {
+            customMessageBox( 0, _("Couldn't load customizations for ") + m_customizer_modname + _("\nPlease check that that is the correct name, passed in qoutation"), _("Fatal error"), wxOK );
+//            wxLogError( _("Couldn't load customizations for ") + m_customizer_modname + _("\nPlease check that that is the correct name, passed in qoutation"), _("Fatal error") );
+            exit( OnExit() );//for some twisted reason returning false here does not termiante the app
         }
-    #endif
-
-        ui().mw().ShowConfigure();
-    }
-    else
-    {
-        ui().mw().ShowSingleplayer();
     }
 
+    ui().ShowMainWindow();
+    SetTopWindow( &ui().mw() );
+
+    ui().FirstRunWelcome();
+
 #ifndef NO_TORRENT_SYSTEM
     if( sett().GetTorrentSystemAutoStartMode() == 1 ) torrent().ConnectToP2PSystem();
 #endif
@@ -269,25 +262,34 @@ bool SpringLobbyApp::SelectLanguage()
 
 void SpringLobbyApp::OnInitCmdLine(wxCmdLineParser& parser)
 {
+    #ifndef HAVE_WX29
+        #define STR _T
+    #else
+        #define STR
+    #endif
+
     wxCmdLineEntryDesc cmdLineDesc[] =
     {
-        { wxCMD_LINE_SWITCH, _T("h"), _T("help"), _("show this help message"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_OPTION_HELP },
-        { wxCMD_LINE_SWITCH, _T("nc"), _T("no-crash-handler"), _("don't use the crash handler (useful for debugging)"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
-#if wxUSE_STD_IOSTREAM
-        { wxCMD_LINE_SWITCH, _T("cl"), _T("console-logging"),  _("shows application log to the console(if available)"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
-#endif
-        { wxCMD_LINE_SWITCH, _T("gl"), _T("gui-logging"),  _("enables application log window"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
-#ifdef __WXMSW__
-        { wxCMD_LINE_SWITCH, _T("u"), _T("update"),  _("only run update, quit immediately afterwards"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
-#endif
-//      { wxCMD_LINE_OPTION, _T("c"), _T("config-file"),  _("override default choice for config-file"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL | wxCMD_LINE_NEEDS_SEPARATOR },
-        { wxCMD_LINE_OPTION, _T("l"), _T("log-verbosity"),  _("overrides default logging verbosity, can be:\n                                0: no log\n                                1: critical errors\n                                2: errors\n                                3: warnings (default)\n                                4: messages\n                                5: function trace"), wxCMD_LINE_VAL_NUMBER, wxCMD_LINE_PARAM_OPTIONAL },
+        { wxCMD_LINE_SWITCH, STR("h"), STR("help"), _("show this help message"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_OPTION_HELP },
+        { wxCMD_LINE_SWITCH, STR("nc"), STR("no-crash-handler"), _("don't use the crash handler (useful for debugging)"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
+    #if wxUSE_STD_IOSTREAM
+        { wxCMD_LINE_SWITCH, STR("cl"), STR("console-logging"),  _("shows application log to the console(if available)"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
+    #endif
+        { wxCMD_LINE_SWITCH, STR("gl"), STR("gui-logging"),  _("enables application log window"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
+    #ifdef __WXMSW__
+        { wxCMD_LINE_SWITCH, STR("u"), STR("update"),  _("only run update, quit immediately afterwards"), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
+    #endif
+        //{ wxCMD_LINE_OPTION, STR("c"), STR("config-file"),  _("override default choice for config-file"), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL | wxCMD_LINE_NEEDS_SEPARATOR },
+        { wxCMD_LINE_OPTION, STR("l"), STR("log-verbosity"),  _("overrides default logging verbosity, can be:\n                                0: no log\n                                1: critical errors\n                                2: errors\n                                3: warnings (default)\n                                4: messages\n                                5: function trace"), wxCMD_LINE_VAL_NUMBER, wxCMD_LINE_PARAM_OPTIONAL },
+        { wxCMD_LINE_OPTION, STR("c"), STR("customize"),  _("Load lobby customizations from game archive. Expects the shortname."), wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
+        { wxCMD_LINE_SWITCH, STR("s"), STR("simple"),  _("Start with the simple interface."), wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
         { wxCMD_LINE_NONE }
-
     };
 
     parser.SetDesc( cmdLineDesc );
-    parser.SetSwitchChars (wxT("-"));
+    parser.SetSwitchChars (_T("-"));
+
+    #undef STR
 }
 
 //! @brief parses the command line and sets global app options like log verbosity or log target
@@ -299,19 +301,20 @@ bool SpringLobbyApp::OnCmdLineParsed(wxCmdLineParser& parser)
         m_log_console = parser.Found(_T("console-logging"));
         m_log_window_show = parser.Found(_T("gui-logging"));
         m_crash_handle_disable = parser.Found(_T("no-crash-handler"));
+        m_start_simple_interface = parser.Found(_T("simple"));
 
 //        Settings::m_user_defined_config = parser.Found( _T("config-file"), &Settings::m_user_defined_config_path );
 
         if ( !parser.Found(_T("log-verbosity"), &m_log_verbosity ) )
-            m_log_verbosity = 5;
+            m_log_verbosity = m_log_window_show ? 3 : 5;
+        if ( !parser.Found(_T("customize"), &m_customizer_modname ) )
+            m_customizer_modname = _T("");
 
         if ( parser.Found(_T("help")) )
             return false; // not a syntax error, but program should stop if user asked for command line usage
 #ifdef __WXMSW__
         if ( parser.Found(_T("update")) ) {
             m_updateing_only = true;
-            wxString latestVersion = GetLatestVersion();
-            Updater().StartUpdate( latestVersion );
             return true;
         }
 #endif
diff --git a/src/springlobbyapp.h b/src/springlobbyapp.h
index 5cde8e9..ad55007 100644
--- a/src/springlobbyapp.h
+++ b/src/springlobbyapp.h
@@ -8,6 +8,7 @@ class wxTimerEvent;
 class wxIcon;
 class wxLocale;
 class wxTranslationHelper;
+class UpdaterMainwindow;
 
 //! @brief SpringLobby wxApp
 class SpringLobbyApp : public wxApp
@@ -39,13 +40,17 @@ class SpringLobbyApp : public wxApp
 
     wxTranslationHelper* m_translationhelper;
 
-    DECLARE_EVENT_TABLE()
-
     long m_log_verbosity;
     bool m_log_console;
     bool m_log_window_show;
     bool m_crash_handle_disable;
     bool m_updateing_only;
+    bool m_start_simple_interface;
+    wxString m_customizer_modname;
+
+    UpdaterMainwindow* m_updater_window;
+
+    DECLARE_EVENT_TABLE()
 };
 
 DECLARE_APP(SpringLobbyApp)
diff --git a/src/springoptionstab.cpp b/src/springoptionstab.cpp
index fd6d2b4..7a40529 100644
--- a/src/springoptionstab.cpp
+++ b/src/springoptionstab.cpp
@@ -37,7 +37,8 @@
 #include "uiutils.h"
 #include "settings.h"
 #include "mainwindow.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
+
 
 BEGIN_EVENT_TABLE( SpringOptionsTab, wxPanel )
 
@@ -52,9 +53,10 @@ BEGIN_EVENT_TABLE( SpringOptionsTab, wxPanel )
 END_EVENT_TABLE()
 
 
-SpringOptionsTab::SpringOptionsTab( wxWindow* parent, Ui& ui ) : wxScrolledWindow( parent, -1 ), m_ui( ui )
+SpringOptionsTab::SpringOptionsTab( wxWindow* parent )
+    : wxScrolledWindow( parent, -1 )
 {
-	m_dontsearch_chkbox = new wxCheckBox( this, SPRING_DONTSEARCH, _( "Search only in current installed path" ), wxDefaultPosition, wxSize( -1, CONTROL_HEIGHT ) );
+	m_dontsearch_chkbox = new wxCheckBox( this, SPRING_DONTSEARCH, _("Search only in current installed path"), wxDefaultPosition, wxSize(-1,CONTROL_HEIGHT) );
 	m_dontsearch_chkbox->SetValue( sett().GetSearchSpringOnlyInSLPath() );
 #ifndef __WXMSW__
 	m_dontsearch_chkbox->Disable();
@@ -117,7 +119,7 @@ SpringOptionsTab::SpringOptionsTab( wxWindow* parent, Ui& ui ) : wxScrolledWindo
 
 	SetSizer( m_main_sizer );
 
-	SetScrollRate( 3, 3 );
+	SetScrollRate( SCROLL_RATE, SCROLL_RATE );
 
 	Layout();
 
@@ -218,8 +220,6 @@ void SpringOptionsTab::OnApply( wxCommandEvent& /*unused*/ )
 		                  _( "SpringLobby is unable to load your UnitSync library.\n\nYou might want to take another look at your unitsync setting." ),
 		                  _( "Spring error" ), wxOK );
 	}
-
-	m_ui.mw().OnUnitSyncReloaded();
 }
 
 
diff --git a/src/springoptionstab.h b/src/springoptionstab.h
index 4090fd0..fcc6432 100644
--- a/src/springoptionstab.h
+++ b/src/springoptionstab.h
@@ -16,7 +16,7 @@ class wxCheckBox;
 class SpringOptionsTab : public wxScrolledWindow
 {
   public:
-    SpringOptionsTab( wxWindow* parent, Ui& ui );
+    SpringOptionsTab( wxWindow* parent );
     ~SpringOptionsTab();
 
     void DoRestore();
@@ -72,8 +72,6 @@ class SpringOptionsTab : public wxScrolledWindow
 
     wxCheckBox* m_dontsearch_chkbox;
 
-    Ui& m_ui;
-
     enum {
         SPRING_EXECBROWSE = wxID_HIGHEST,
         SPRING_SYNCBROWSE,
diff --git a/src/springunitsync.cpp b/src/springunitsync.cpp
index ee1900e..2832ac1 100644
--- a/src/springunitsync.cpp
+++ b/src/springunitsync.cpp
@@ -24,13 +24,14 @@
 
 #include "settings.h"
 #include "springunitsynclib.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 #include "unitsyncthread.h"
 #include "globalsmanager.h"
 #include "uiutils.h"
 #include "utils/debug.h"
 #include "utils/conversion.h"
 #include "utils/misc.h"
+#include "utils/globalevents.h"
 
 
 #define LOCK_UNITSYNC wxCriticalSectionLocker lock_criticalsection(m_lock)
@@ -46,7 +47,8 @@ IUnitSync& usync()
 
 
 SpringUnitSync::SpringUnitSync()
-  : m_map_image_cache( 3, _T("m_map_image_cache") )         // may take about 3M per image ( 1024x1024 24 bpp minimap )
+  : m_UnitsyncReloadRequestSink( this, &GetGlobalEventSender( GlobalEvents::UnitSyncReloadRequest ) )
+  , m_map_image_cache( 3, _T("m_map_image_cache") )         // may take about 3M per image ( 1024x1024 24 bpp minimap )
   , m_tiny_minimap_cache( 200, _T("m_tiny_minimap_cache") ) // takes at most 30k per image (   100x100 24 bpp minimap )
   , m_mapinfo_cache( 1000000, _T("m_mapinfo_cache") )       // this one is just misused as thread safe std::map ...
   , m_sides_cache( 200, _T("m_sides_cache") )               // another misuse
@@ -72,6 +74,7 @@ bool SpringUnitSync::LoadUnitSyncLib( const wxString& unitsyncloc )
    {
       m_cache_path = sett().GetCachePath();
       PopulateArchiveList();
+      GetGlobalEventSender(GlobalEvents::OnUnitsyncReloaded).SendEvent( 0 );
    }
    return ret;
 }
@@ -327,6 +330,7 @@ UnitSyncMap SpringUnitSync::GetMapEx( int index )
   if ( index < 0 ) return m;
 
   m.name = m_map_array[index];
+
   m.hash = m_maps_list[m.name];
 
   m.info = _GetMapInfoEx( m.name );
@@ -464,6 +468,30 @@ GameOptions SpringUnitSync::GetModOptions( const wxString& name )
   return ret;
 }
 
+GameOptions SpringUnitSync::GetModCustomizations( const wxString& modname )
+{
+    wxLogDebugFunc( modname );
+
+    GameOptions ret;
+    int count = susynclib().GetCustomOptionCount( modname, _T("LobbyOptions.lua") );
+    for (int i = 0; i < count; ++i) {
+        GetOptionEntry( i, ret );
+    }
+    return ret;
+}
+
+GameOptions SpringUnitSync::GetSkirmishOptions( const wxString& modname, const wxString& skirmish_name )
+{
+    wxLogDebugFunc( modname );
+
+    GameOptions ret;
+    int count = susynclib().GetCustomOptionCount( modname, skirmish_name );
+    for (int i = 0; i < count; ++i) {
+        GetOptionEntry( i, ret );
+    }
+    return ret;
+}
+
 wxArrayString SpringUnitSync::GetModDeps( const wxString& modname )
 {
 	wxArrayString ret;
@@ -494,22 +522,30 @@ wxImage SpringUnitSync::GetSidePicture( const wxString& modname, const wxString&
 {
   wxLogDebugFunc( _T("") );
 
-  wxImage cache;
-
-	susynclib().SetCurrentMod( modname );
 	wxLogDebugFunc( _T("SideName = \"") + SideName + _T("\"") );
 	wxString ImgName = _T("SidePics");
 	ImgName += _T("/");
 	ImgName += SideName.Upper();
 	ImgName += _T(".bmp");
 
-	int ini = susynclib().OpenFileVFS (ImgName );
+    return GetImage( modname, ImgName );
+}
+
+wxImage SpringUnitSync::GetImage( const wxString& modname, const wxString& image_path )
+{
+  wxLogDebugFunc( _T("") );
+
+    wxImage cache;
+
+	susynclib().SetCurrentMod( modname );
+
+	int ini = susynclib().OpenFileVFS ( image_path );
 	ASSERT_EXCEPTION( ini, _T("cannot find side image") );
 
 	int FileSize = susynclib().FileSizeVFS(ini);
 	if (FileSize == 0) {
 		susynclib().CloseFileVFS(ini);
-		ASSERT_EXCEPTION( FileSize, _T("side image has size 0") );
+		ASSERT_EXCEPTION( FileSize, _T("image has size 0") );
 	}
 
 	uninitialized_array<char> FileContent(FileSize);
@@ -520,8 +556,9 @@ wxImage SpringUnitSync::GetSidePicture( const wxString& modname, const wxString&
 	cache.InitAlpha();
 	for ( int x = 0; x < cache.GetWidth(); x++ )
 		for ( int y = 0; y < cache.GetHeight(); y++ )
-			if ( cache.GetBlue( x, y ) == 255 && cache.GetGreen( x, y ) == 255 && cache.GetRed( x, y ) == 255 ) cache.SetAlpha( x, y, 0 ); // set pixel to be transparent
-  return cache;
+			if ( cache.GetBlue( x, y ) == 255 && cache.GetGreen( x, y ) == 255 && cache.GetRed( x, y ) == 255 )
+                cache.SetAlpha( x, y, 0 ); // set pixel to be transparent
+    return cache;
 }
 
 
@@ -549,13 +586,13 @@ wxArrayString SpringUnitSync::GetAIList( const wxString& modname )
 	{
 		// list dynamic link libraries
 		wxArrayString dlllist = susynclib().FindFilesVFS( wxDynamicLibrary::CanonicalizeName(_T("AI/Bot-libs/*"), wxDL_MODULE) );
-		for( int i = 0; i < dlllist.GetCount(); i++ )
+		for( int i = 0; i < long(dlllist.GetCount()); i++ )
 		{
 			if ( ret.Index( dlllist[i].BeforeLast( '/') ) == wxNOT_FOUND ) ret.Add ( dlllist[i] ); // don't add duplicates
 		}
 		// list jar files (java AIs)
 		wxArrayString jarlist = susynclib().FindFilesVFS( _T("AI/Bot-libs/*.jar") );
-		for( int i = 0; i < jarlist.GetCount(); i++ )
+		for( int i = 0; i < long(jarlist.GetCount()); i++ )
 		{
 			if ( ret.Index( jarlist[i].BeforeLast( '/') ) == wxNOT_FOUND ) ret.Add ( jarlist[i] ); // don't add duplicates
 		}
@@ -930,7 +967,7 @@ wxArrayString SpringUnitSync::GetScreenshotFilenames()
     if ( !IsLoaded() ) return ret;
 
     ret = susynclib().FindFilesVFS( _T("screenshots/*.*") );
-    for ( int i = 0; i < ret.Count() - 1; ++i ) {
+    for ( int i = 0; i < long(ret.Count() - 1); ++i ) {
             if ( ret[i] == ret[i+1] )
                 ret.RemoveAt( i+1 );
     }
@@ -1095,9 +1132,9 @@ void SpringUnitSync::PrefetchMap( const wxString& mapname )
   // 50% hits without, 80% hits with this code.  (cache size 20 images)
 
   const int length = std::max(0, int(mapname.length()) - 4);
-  const int hash = (mapname[length * 1/4] << 16)
-                 | (mapname[length * 2/4] << 8)
-                 | (mapname[length * 3/4]);
+  const int hash = ( wxChar(mapname[length * 1/4]) << 16 )
+                 | ( wxChar(mapname[length * 2/4]) << 8  )
+                 | wxChar(mapname[length * 3/4]);
   const int priority = -hash;
 
   {
diff --git a/src/springunitsync.h b/src/springunitsync.h
index 5c529f8..a800e70 100644
--- a/src/springunitsync.h
+++ b/src/springunitsync.h
@@ -157,6 +157,7 @@ class SpringUnitSync : public IUnitSync
 
     wxArrayString GetSides( const wxString& modname  );
     wxImage GetSidePicture( const wxString& modname, const wxString& SideName );
+    wxImage GetImage( const wxString& modname, const wxString& image_path );
 
     bool LoadUnitSyncLib( const wxString& unitsyncloc );
     void FreeUnitSyncLib();
@@ -188,7 +189,8 @@ class SpringUnitSync : public IUnitSync
     /// get heightmap rescaled to given width x height
     wxImage GetHeightmap( const wxString& mapname, int width, int height );
 
-    bool ReloadUnitSyncLib();
+	bool ReloadUnitSyncLib(  );
+	void ReloadUnitSyncLib( GlobalEvents::GlobalEventData data ) { ReloadUnitSyncLib(); }
 
     void SetSpringDataPath( const wxString& path );
 
@@ -215,6 +217,12 @@ class SpringUnitSync : public IUnitSync
 
     wxArrayString GetScreenshotFilenames();
 
+    virtual GameOptions GetModCustomizations( const wxString& modname );
+    virtual GameOptions GetSkirmishOptions( const wxString& modname, const wxString& skirmish_name );
+
+  protected:
+	  EventReceiverFunc< SpringUnitSync, GlobalEvents::GlobalEventData, &SpringUnitSync::ReloadUnitSyncLib > m_UnitsyncReloadRequestSink;
+
   private:
 
     LocalArchivesVector m_maps_list; /// mapname -> hash
diff --git a/src/springunitsynclib.cpp b/src/springunitsynclib.cpp
index 4cda251..7dad834 100644
--- a/src/springunitsynclib.cpp
+++ b/src/springunitsynclib.cpp
@@ -173,6 +173,7 @@ void SpringUnitSyncLib::_Load( const wxString& path )
     m_get_luaai_desc = (GetLuaAIDescPtr)_GetLibFuncPtr(_T("GetLuaAIDesc"));
 
     m_get_map_option_count = (GetMapOptionCountPtr)_GetLibFuncPtr(_T("GetMapOptionCount"));
+    m_get_custom_option_count = (GetCustomOptionCountPtr)_GetLibFuncPtr(_T("GetCustomOptionCount"));
     m_get_mod_option_count = (GetModOptionCountPtr)_GetLibFuncPtr(_T("GetModOptionCount"));
     m_get_skirmish_ai_option_count = (GetSkirmishAIOptionCountPtr)_GetLibFuncPtr(_T("GetSkirmishAIOptionCount"));
     m_get_option_key = (GetOptionKeyPtr)_GetLibFuncPtr(_T("GetOptionKey"));
@@ -1011,6 +1012,14 @@ int SpringUnitSyncLib::GetMapOptionCount( const wxString& name )
   return m_get_map_option_count( name.mb_str( wxConvUTF8 ) );
 }
 
+int SpringUnitSyncLib::GetCustomOptionCount( const wxString& modname, const wxString& filename )
+{
+    InitLib( m_get_custom_option_count );
+    ASSERT_EXCEPTION( !modname.IsEmpty(), _T("passing void XXXname to unitsync") );
+    _SetCurrentMod( modname );
+    return m_get_custom_option_count( filename.mb_str( wxConvUTF8 ) );
+}
+
 
 int SpringUnitSyncLib::GetModOptionCount( const wxString& name )
 {
diff --git a/src/springunitsynclib.h b/src/springunitsynclib.h
index 8b4ca90..e6d762b 100644
--- a/src/springunitsynclib.h
+++ b/src/springunitsynclib.h
@@ -125,6 +125,7 @@ typedef const char* (USYNC_CALL_CONV *GetLuaAINamePtr)(int aiIndex);
 typedef const char* (USYNC_CALL_CONV *GetLuaAIDescPtr)(int aiIndex);
 
 typedef int (USYNC_CALL_CONV *GetMapOptionCountPtr)(const char* name);
+typedef int (USYNC_CALL_CONV *GetCustomOptionCountPtr)(const char* name);
 typedef int (USYNC_CALL_CONV *GetModOptionCountPtr)();
 typedef int (USYNC_CALL_CONV *GetSkirmishAIOptionCountPtr)(int index);
 typedef const char* (USYNC_CALL_CONV *GetOptionKeyPtr)(int optIndex);
@@ -368,6 +369,7 @@ class SpringUnitSyncLib
     wxString GetValidMapName( unsigned int MapIndex );
 
     int GetMapOptionCount( const wxString& name );
+    int GetCustomOptionCount( const wxString& modname, const wxString& filename );
     int GetModOptionCount( const wxString& name );
     int GetAIOptionCount( const wxString& modname, int index );
     wxString GetOptionKey( int optIndex );
@@ -589,6 +591,7 @@ class SpringUnitSyncLib
     GetLuaAIDescPtr m_get_luaai_desc;
 
     GetMapOptionCountPtr m_get_map_option_count;
+    GetCustomOptionCountPtr m_get_custom_option_count;
     GetModOptionCountPtr m_get_mod_option_count;
 		GetSkirmishAIOptionCountPtr m_get_skirmish_ai_option_count;
     GetOptionKeyPtr m_get_option_key;
diff --git a/src/tasserver.cpp b/src/tasserver.cpp
index e7a1223..6d8a429 100644
--- a/src/tasserver.cpp
+++ b/src/tasserver.cpp
@@ -47,7 +47,7 @@
 #endif //VERSION
 
 // for SL_MAIN_ICON
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 
 #include "settings.h"
 
@@ -2259,7 +2259,9 @@ unsigned int TASServer::UdpPing(unsigned int src_port, const wxString &target, u
         wxLogMessage(_T("socket's IsOk() is false, no UDP ping done."));
     }
 
-    if (udp_socket.Error())wxLogWarning(_T("wxDatagramSocket Error=%d"),udp_socket.LastError());
+    if (udp_socket.Error()) {
+        wxLogWarning(_T("wxDatagramSocket Error=%d"),udp_socket.LastError());
+    }
     return result;
 }
 
diff --git a/src/torrentlistctrl.cpp b/src/torrentlistctrl.cpp
index 279e382..1069210 100644
--- a/src/torrentlistctrl.cpp
+++ b/src/torrentlistctrl.cpp
@@ -11,16 +11,25 @@
 
 #include <wx/intl.h>
 #include <wx/menu.h>
+#include <wx/datetime.h>
 
 #include "torrentlistctrl.h"
 #include "torrentwrapper.h"
 //#include "utils/.h"
 #include "iconimagelist.h"
 
-BEGIN_EVENT_TABLE( TorrentListCtrl, CustomListCtrl )
+#include "utils/conversion.h"
 
-	EVT_LIST_ITEM_RIGHT_CLICK( TLIST_CLICK, TorrentListCtrl::OnListRightClick )
-	EVT_LIST_COL_CLICK( TLIST_CLICK, TorrentListCtrl::OnColClick )
+static const wxString na_str = wxString(_("N/A"));
+
+template<> SortOrder TorrentListCtrl::BaseType::m_sortorder = SortOrder();
+
+BEGIN_EVENT_TABLE( TorrentListCtrl, TorrentListCtrl::BaseType )
+
+	EVT_LIST_ITEM_RIGHT_CLICK	( TLIST_CLICK, TorrentListCtrl::OnListRightClick )
+	//EVT_LIST_COL_CLICK			( TLIST_CLICK, TorrentListCtrl::OnColClick )
+	EVT_MENU					( TLIST_CANCEL, TorrentListCtrl::OnCancel )
+	EVT_MENU					( TLIST_RETRY, TorrentListCtrl::OnRetry )
 	#if wxUSE_TIPWINDOW
 	#ifndef __WXMSW__ //disables tooltips on win
 	EVT_MOTION( TorrentListCtrl::OnMouseMotion )
@@ -28,480 +37,259 @@ BEGIN_EVENT_TABLE( TorrentListCtrl, CustomListCtrl )
 	#endif
 END_EVENT_TABLE()
 
-map_infos* TorrentListCtrl::m_info_map = 0;
-
-TorrentListCtrl::TorrentListCtrl( wxWindow* parent, Ui& ui ):
-		CustomListCtrl( parent, TLIST_CLICK, wxDefaultPosition, wxDefaultSize,
-                wxSUNKEN_BORDER | wxLC_REPORT | wxLC_SINGLE_SEL | wxLC_ALIGN_LEFT, _T("TorrentListCtrl"), 10 )
-
+TorrentListCtrl::TorrentListCtrl( wxWindow* parent )
+:	TorrentListCtrl::BaseType( parent, TLIST_CLICK, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER | wxLC_REPORT | wxLC_SINGLE_SEL | wxLC_ALIGN_LEFT, _T("TorrentListCtrl"), 10, 10, &CompareOneCrit )
+, m_popup(0)
 {
-	wxListItem col;
-
-	col.SetText( _( "Name" ) );
-	col.SetImage( icons().ICON_NONE );
-	InsertColumn( 0, col, _T( "Name" ), true );
-
-	col.SetText( _( "Numcopies" ) );
-	col.SetImage( icons().ICON_NONE );
-	InsertColumn( 1, col, _T( "complete numcopies" ), true );
-
-	col.SetText( _( "MB downloaded" ) );
-	col.SetImage( icons().ICON_NONE );
-	InsertColumn( 2, col, _T( "MB downloaded" ), true );
-
-	col.SetText( _( "MB uploaded" ) );
-	col.SetImage( icons().ICON_NONE );
-	InsertColumn( 3, col, _T( "MB uploaded" ) );
-
-	col.SetText( _( "Status" ) );
-	col.SetImage( icons().ICON_NONE );
-	InsertColumn( 4, col, _T( "Status" ) );
-
-	col.SetText( _( "% complete" ) );
-	col.SetImage( icons().ICON_NONE );
-	InsertColumn( 5, col, _T( "% complete" ) );
-
-	col.SetText( _( "KB/s up" ) );
-	col.SetImage( icons().ICON_NONE );
-	InsertColumn( 6, col, _T( "KB/s upload" ) );
-
-	col.SetText( _( "KB/s down" ) );
-	col.SetImage( icons().ICON_NONE );
-	InsertColumn( 7, col, _T( "KB/s download" ), true );
+#if defined(__WXMAC__)
+/// on mac, autosize does not work at all
+    const int widths[10] = { 200, 80, 100, 80, 80, 80, 80, 80, 80, 80 };
+#else
+	const int widths[10] = { 200, wxLIST_AUTOSIZE_USEHEADER, wxLIST_AUTOSIZE_USEHEADER, wxLIST_AUTOSIZE_USEHEADER, 80, wxLIST_AUTOSIZE_USEHEADER, 80, 80, 80, wxLIST_AUTOSIZE_USEHEADER };
+#endif
 
-	col.SetText( _( "ETA (s)" ) );
-	col.SetImage( icons().ICON_NONE );
-	InsertColumn( 8, col, _T( "Estimated time of arrival" ), true );
+	AddColumn(0, widths[0], _T("Name"), _T("Name"));
+	AddColumn(1, widths[1], _T("Numcopies"), _T("# complete copies"));
+	AddColumn(2, widths[2], _T("MB downloaded"), _T("MB downloaded"));
+	AddColumn(3, widths[3], _T("MB uploaded"), _T("MB uploaded"));
+	AddColumn(4, widths[4], _T("Status"), _T("Status"));
+	AddColumn(5, widths[5], _T("% complete"), _T("% complete"));
+	AddColumn(6, widths[6], _T("KB/s up"), _T("KB/s upload"));
+	AddColumn(7, widths[7], _T("KB/s down"), _T("KB/s download"));
+	AddColumn(8, widths[8], _T("ETA"), _T("Estimated time remaining"));
+	AddColumn(9, widths[9], _T("Filesize (MB)"), _T("Filesize"));
 
-	col.SetText( _( "Filesize (MB)" ) );
-	col.SetImage( icons().ICON_NONE );
-	InsertColumn( 9, col, _T( "Filesize" ), true );
 
 // sortorder: name --> percent completed --> mb donwloaded
 
-	m_sortorder[0].col = 0;
-	m_sortorder[0].direction = true;
-	m_sortorder[1].col = 5;
-	m_sortorder[1].direction = true;
-	m_sortorder[2].col = 2;
-	m_sortorder[2].direction = true;
+	if ( m_sortorder.size() == 0 )
+	{
+		m_sortorder[0].col = 0;
+		m_sortorder[0].direction = 1;
+		m_sortorder[1].col = 5;
+		m_sortorder[1].direction = 1;
+		m_sortorder[2].col = 2;
+		m_sortorder[2].direction = 1;
+	}
 
 	Sort( );
 
-	//TODO this'll need fixing on win i assume [koshi]
-	SetColumnWidth( 0, 250 );
-	SetColumnWidth( 1, wxLIST_AUTOSIZE_USEHEADER );
-	SetColumnWidth( 2, wxLIST_AUTOSIZE_USEHEADER );
-	SetColumnWidth( 7, 80 );
-	SetColumnWidth( 8, wxLIST_AUTOSIZE_USEHEADER );
-	SetColumnWidth( 9, wxLIST_AUTOSIZE_USEHEADER );
-
-
-	SetColumnWidth( 3, 100 );
-	SetColumnWidth( 4, 70 );
-	SetColumnWidth( 5, 100 );
-	SetColumnWidth( 6, 70 );
-
-//  m_popup = new wxMenu( _T("") );
-//  // &m enables shortcout "alt + m" and underlines m
-//  m_popup->Append( BLIST_DLMAP, _("Download &map") );
-//  m_popup->Append( BLIST_DLMOD, _("Download m&od") );
-}
-void TorrentListCtrl::SetInfoMap( map_infos* map )
-{
-	m_info_map = map;
-}
-
-TorrentListCtrl::~TorrentListCtrl()
-{
-//  delete m_popup;
 }
 
 
-void TorrentListCtrl::OnListRightClick( wxListEvent& /*unused*/ )
+TorrentListCtrl::~TorrentListCtrl()
 {
-//  PopupMenu( m_popup );
+  delete m_popup;
+  m_popup = 0;
 }
 
 
-void TorrentListCtrl::OnColClick( wxListEvent& event )
+bool TorrentListCtrl::AddTorrentInfo(const DataType& info)
 {
-	if ( event.GetColumn() == -1 ) return;
-	wxListItem col;
-	GetColumn( m_sortorder[0].col, col );
-	col.SetImage( icons().ICON_NONE );
-	SetColumn( m_sortorder[0].col, col );
-
-	int i;
-	for ( i = 0; m_sortorder[i].col != event.GetColumn() && i < 4; ++i ) {}
-	if ( i > 3 ) { i = 3; }
-	for ( ; i > 0; i-- ) { m_sortorder[i] = m_sortorder[i-1]; }
-	m_sortorder[0].col = event.GetColumn();
-	m_sortorder[0].direction = !m_sortorder[0].direction;
-
-
-	GetColumn( m_sortorder[0].col, col );
-//  col.SetImage( ( m_sortorder[0].direction )?ICON_UP:ICON_DOWN );
-	SetColumn( m_sortorder[0].col, col );
-
-	Sort();
+	if(AddItem(info))
+		return true;
+	return false;
 }
 
 
-void TorrentListCtrl::Sort()
+bool TorrentListCtrl::RemoveTorrentInfo(const DataType& info)
 {
-	for ( int i = 3; i >= 0; i-- )
+	if(RemoveItem(info))
 	{
-		switch ( m_sortorder[ i ].col )
-		{
-			case 0 :
-				SortItems(( m_sortorder[ i ].direction )?&CompareNameUP:&CompareNameDOWN , 0 );
-				break;
-			case 1 :
-				SortItems(( m_sortorder[ i ].direction )?&CompareCopiesUP:&CompareCopiesDOWN , 0 );
-				break;
-			case 2 :
-				SortItems(( m_sortorder[ i ].direction )?&CompareDownSizeUP:&CompareDownSizeDOWN , 0 );
-				break;
-			case 3 :
-				SortItems(( m_sortorder[ i ].direction )?&CompareUpSizeUP:&CompareUpSizeDOWN , 0 );
-				break;
-			case 4 :
-				SortItems(( m_sortorder[ i ].direction )?&CompareLeechUP:&CompareLeechDOWN , 0 );
-				break;
-			case 5 :
-				SortItems(( m_sortorder[ i ].direction )?&CompareCompletedUP:&CompareCompletedDOWN , 0 );
-				break;
-			case 6 :
-				SortItems(( m_sortorder[ i ].direction )?&CompareUpSpeedUP:&CompareUpSpeedDOWN , 0 );
-				break;
-			case 7 :
-				SortItems(( m_sortorder[ i ].direction )?&CompareDownSpeedUP:&CompareDownSpeedDOWN , 0 );
-				break;
-			case 8 :
-				SortItems(( m_sortorder[ i ].direction )?&CompareEtaUP:&CompareEtaDOWN , 0 );
-				break;
-            case 9 :
-				SortItems(( m_sortorder[ i ].direction )?&CompareFileSizeUP:&CompareFileSizeDOWN , 0 );
-				break;
-            default:
-                break;
-		}
+		if(m_data.size() == 0)
+			Refresh();
+		return true;
 	}
+	return false;
 }
 
 
-int wxCALLBACK TorrentListCtrl::CompareNameUP( long item1, long item2, long sortData )
-{
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.name < info2.name )
-		return -1;
-	if ( info1.name > info2.name )
-		return 1;
-
-	return 0;
-}
-
-
-int wxCALLBACK TorrentListCtrl::CompareNameDOWN( long item1, long item2, long sortData )
-{
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.name < info2.name )
-		return -1;
-	if ( info1.name > info2.name )
-		return 1;
-
-	return 0;
-}
-
-
-int wxCALLBACK TorrentListCtrl::CompareDownSizeUP( long item1, long item2, long sortData )
-{
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.downloaded > info2.downloaded )
-		return -1;
-	if ( info1.downloaded < info2.downloaded )
-		return 1;
-
-	return 0;
-}
-
-
-int wxCALLBACK TorrentListCtrl::CompareDownSizeDOWN( long item1, long item2, long sortData )
-{
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.downloaded < info2.downloaded )
-		return 1;
-	if ( info1.downloaded > info2.downloaded )
-		return -1;
-
-	return 0;
-}
-
-
-int wxCALLBACK TorrentListCtrl::CompareCopiesUP( long item1, long item2, long sortData )
-{
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.numcopies < info2.numcopies )
-		return -1;
-	if ( info1.numcopies > info2.numcopies )
-		return 1;
-
-	return 0;
-}
-
-
-
-int wxCALLBACK TorrentListCtrl::CompareCopiesDOWN( long item1, long item2, long sortData )
+void TorrentListCtrl::UpdateTorrentInfo(const DataType& info)
 {
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.numcopies < info2.numcopies )
-		return 1;
-	if ( info1.numcopies > info2.numcopies )
-		return -1;
-
-	return 0;
-}
-
-
-int wxCALLBACK TorrentListCtrl::CompareUpSizeUP( long item1, long item2, long sortData )
-{
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.uploaded < info2.uploaded )
-		return -1;
-	if ( info1.uploaded > info2.uploaded )
-		return 1;
-
-	return 0;
-}
+	int index = GetIndexFromData(info);
 
+	if( index < 0)
+	{
+		if(IsTorrentActive(info))
+			AddTorrentInfo(info);
+		return;
+	}
 
-int wxCALLBACK TorrentListCtrl::CompareUpSizeDOWN( long item1, long item2, long sortData )
-{
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.uploaded <  info2.uploaded )
+	if(!IsTorrentActive(info))
 	{
-		return 1;
+		RemoveTorrentInfo(info);
+		return;
 	}
-	if ( info1.uploaded > info2.uploaded )
+	else
 	{
-		return -1;
+		m_data[index] = info;
 	}
 
-	return 0;
+	RefreshItem( index );
+	MarkDirtySort();
 }
 
 
-int wxCALLBACK TorrentListCtrl::CompareLeechUP( long item1, long item2, long sortData )
+void TorrentListCtrl::RefreshTorrentStatus()
 {
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.downloadstatus <  info2.downloadstatus )
-		return -1;
-	if ( info1.downloadstatus >  info2.downloadstatus )
-		return 1;
+	BaseType::DataIter it = m_data.begin();
+	for(; it != m_data.end(); ++it)
+	{
+		P2P::FileStatus currentStatus = torrent().GetTorrentStatusByHash(it->hash);
+		if(it->downloadstatus != currentStatus)
+		{
+			it->downloadstatus = currentStatus;
+			if(currentStatus == P2P::not_stored || currentStatus == P2P::stored)
+			{
+				it->inspeed = 0.f;
+				it->outspeed = 0.f;
+				it->eta = -1;
+				if(currentStatus == P2P::stored)
+				{
+					it->progress = 1.f;
+					it->downloaded = it->filesize; //ugly - assuming downloaded == filesize
+				}
+				else
+					it->progress = 0.f;
+			}
+			RefreshItem(GetIndexFromData(*it));
+			MarkDirtySort();
+		}
 
-	return 0;
+	}
 }
 
-
-int wxCALLBACK TorrentListCtrl::CompareLeechDOWN( long item1, long item2, long sortData )
+void TorrentListCtrl::OnListRightClick( wxListEvent& event )
 {
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
+	int idx = event.GetIndex();
+    if ( idx < (long)m_data.size() && idx > -1 ) {
 
-	if ( info1.downloadstatus <  info2.downloadstatus )
-		return 1;
-	if ( info1.downloadstatus >  info2.downloadstatus )
-		return -1;
+        DataType dt = m_data[idx];
+		delete m_popup;
+        m_popup = new wxMenu( _T("") );
+		if(dt.downloadstatus == P2P::not_stored)
+		{
+			m_popup->Append( TLIST_CANCEL, _("Cancel torrent") );
+			m_popup->Append( TLIST_RETRY, _("Retry torrent") );
+		}
+		else if(dt.downloadstatus == P2P::queued || dt.downloadstatus == P2P::leeching)
+			m_popup->Append( TLIST_CANCEL, _("Cancel torrent") );
+		else if(dt.downloadstatus == P2P::stored || dt.downloadstatus == P2P::seeding)
+			m_popup->Append( TLIST_CANCEL, _("Cancel torrent (keeping downloaded file)") );
 
-	return 0;
+        PopupMenu( m_popup );
+    }
 }
 
-
-int wxCALLBACK TorrentListCtrl::CompareCompletedUP( long item1, long item2, long sortData )
+void TorrentListCtrl::OnCancel(wxCommandEvent &/*event*/)
 {
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.progress <  info2.progress )
-		return -1;
-	if ( info1.progress >  info2.progress )
-		return 1;
-
-	return 0;
+	torrent().RemoveTorrentByHash(GetSelectedData().hash);
+	RemoveTorrentInfo(GetSelectedData());
 }
 
 
-int wxCALLBACK TorrentListCtrl::CompareCompletedDOWN( long item1, long item2, long sortData )
+void TorrentListCtrl::OnRetry(wxCommandEvent &/*event*/)
 {
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.progress <  info2.progress )
-		return 1;
-	if ( info1.progress >  info2.progress )
-		return -1;
-
-	return 0;
+	torrent().RequestFileByHash(GetSelectedData().hash);
 }
 
 
-int wxCALLBACK TorrentListCtrl::CompareUpSpeedUP( long item1, long item2, long sortData )
+void TorrentListCtrl::Sort()
 {
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.outspeed < info2.outspeed )
-		return -1;
-	if ( info1.outspeed > info2.outspeed )
-		return 1;
-
-	return 0;
+	if ( m_data.size() > 0 )
+    {
+        SaveSelection();
+        SLInsertionSort( m_data, m_comparator );
+        RestoreSelection();
+    }
 }
 
 
-int wxCALLBACK TorrentListCtrl::CompareUpSpeedDOWN( long item1, long item2, long sortData )
+void TorrentListCtrl::SetTipWindowText( const long /*item_hit*/, const wxPoint /*position*/)
 {
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.outspeed < info2.outspeed )
-		return 1;
-	if ( info1.outspeed > info2.outspeed )
-		return -1;
-
-	return 0;
+    m_tiptext = _T("");
 }
 
-
-int wxCALLBACK TorrentListCtrl::CompareDownSpeedUP( long item1, long item2, long sortData )
+void TorrentListCtrl::HighlightItem( long /*item*/ )
 {
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
 
-	if ( info1.inspeed < info2.inspeed )
-		return -1;
-	if ( info1.inspeed > info2.inspeed )
-		return 1;
-
-	return 0;
 }
 
-
-int wxCALLBACK TorrentListCtrl::CompareDownSpeedDOWN( long item1, long item2, long sortData )
+int TorrentListCtrl::CompareOneCrit( DataType u1, DataType u2, int col, int dir )
 {
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.inspeed < info2.inspeed )
-		return 1;
-	if ( info1.inspeed > info2.inspeed )
-		return -1;
-
-	return 0;
+    switch ( col ) {
+        case 0: return dir * u1.name.CmpNoCase( u2.name );
+        case 1: return dir * compareSimple( u1.numcopies, u2.numcopies );
+        case 2: return dir * compareSimple( u1.downloaded, u2.downloaded );
+		case 3: return dir * compareSimple( u1.uploaded, u2.uploaded );
+		case 4: return dir * compareSimple( u1.downloadstatus, u2.downloadstatus );
+		case 5: return dir * compareSimple( u1.progress, u2.progress );
+		case 6: return dir * compareSimple( u1.outspeed, u2.outspeed );
+		case 7: return dir * compareSimple( u1.inspeed, u2.inspeed );
+		case 8: return dir * compareSimple( u1.eta, u2.eta );
+		case 9: return dir * compareSimple( u1.filesize, u2.filesize );
+        default: return 0;
+    }
 }
 
-
-int wxCALLBACK TorrentListCtrl::CompareEtaUP( long item1, long item2, long sortData )
+int TorrentListCtrl::GetItemColumnImage(long /*item*/, long /*column*/) const
 {
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.eta < info2.eta )
-		return -1;
-	if ( info1.eta > info2.eta )
-		return 1;
-
-	return 0;
+    return -1;
 }
 
-
-
-int wxCALLBACK TorrentListCtrl::CompareEtaDOWN( long item1, long item2, long sortData )
+int TorrentListCtrl::GetItemImage(long /*item*/) const
 {
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.eta < info2.eta )
-		return 1;
-	if ( info1.eta > info2.eta )
-		return -1;
-
-	return 0;
+    return -1;
 }
 
-int wxCALLBACK TorrentListCtrl::CompareFileSizeUP( long item1, long item2, long sortData )
-{
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.filesize < info2.filesize )
-		return -1;
-	if ( info1.filesize > info2.filesize )
-		return 1;
-
-	return 0;
-}
 
-int wxCALLBACK TorrentListCtrl::CompareFileSizeDOWN( long item1, long item2, long sortData )
+wxString TorrentListCtrl::GetItemText(long item, long column) const
 {
-	map_infos info_map = *m_info_map;
-	TorrentInfos& info1 = info_map[item1];
-	TorrentInfos& info2 = info_map[item2];
-
-	if ( info1.filesize < info2.filesize )
-		return 1;
-	if ( info1.filesize > info2.filesize )
-		return -1;
 
-	return 0;
+    if ( item > (long)m_data.size() || item < 0 )
+        return wxEmptyString;
+
+	float kfactor = 1/float(1024);
+	float mfactor = 1/float(1024*1024);
+
+	const TorrentInfos& infos = m_data[item];
+
+	switch ( column ) {
+        default: return wxEmptyString;
+        case 0: return infos.name;
+        case 1: return infos.numcopies > 0 ? wxString::Format(_T("%.2f"), infos.numcopies ) : na_str;
+        case 2: return wxString::Format(_T("%.2f"), infos.downloaded*mfactor );
+		case 3: return wxString::Format(_T("%.2f"), infos.uploaded*mfactor );
+		case 4:
+			if(infos.downloadstatus == P2P::not_stored) return _("not found");
+			else if(infos.downloadstatus == P2P::queued) return _("queued");
+			else if(infos.downloadstatus == P2P::leeching) return _("leeching");
+			else if(infos.downloadstatus == P2P::stored) return _("complete");
+			else if(infos.downloadstatus == P2P::seeding) return _("seeding");
+			else return wxEmptyString;
+		case 5: return infos.progress > -0.01 ? wxString::Format(_T("%.2f"), infos.progress * 100 ) : na_str;
+		case 6: return infos.outspeed > -0.01 ? wxString::Format(_T("%.2f"), infos.outspeed*kfactor ) : na_str;
+		case 7: return infos.inspeed > -0.01 ? wxString::Format(_T("%.2f"), infos.inspeed*kfactor ) : na_str;
+		case 8: return infos.eta > -1 ? wxTimeSpan::Seconds(infos.eta).Format( _T("%H:%M:%S") ) : _T("inf.") ;
+		case 9: return infos.filesize > 0 ? wxString::Format(_T("%.2f"), infos.filesize*mfactor) : na_str;
+	}
 }
 
-void TorrentListCtrl::SetTipWindowText( const long item_hit, const wxPoint position)
+int TorrentListCtrl::GetIndexFromData( const DataType& data ) const
 {
-    m_tiptext = _T("");
+    DataCIter it = m_data.begin();
+    for ( int i = 0; it != m_data.end(); ++it , ++i) {
+        if ( it->hash == data.hash )
+            return i;
+    }
+    return -1;
 }
 
-void TorrentListCtrl::HighlightItem( long /*unused*/ )
+bool TorrentListCtrl::IsTorrentActive(const DataType& info)
 {
-
+	 return ((info.downloadstatus == P2P::seeding && info.outspeed > 0.001)
+		  || info.downloadstatus == P2P::leeching
+		  || info.downloadstatus == P2P::queued);
 }
 
 #endif
diff --git a/src/torrentlistctrl.h b/src/torrentlistctrl.h
index 993485b..1a8e77c 100644
--- a/src/torrentlistctrl.h
+++ b/src/torrentlistctrl.h
@@ -3,26 +3,25 @@
 
 #ifndef NO_TORRENT_SYSTEM
 
-#include "customlistctrl.h"
-
+#include "customvirtlistctrl.h"
+#include "torrentwrapper.h"
 #include <map>
 
-struct TorrentInfos;
+//struct TorrentInfos;
 class wxMenu;
 class Battle;
 class wxListEvent;
 class wxCommandEvent;
 class Ui;
 
-typedef std::map<int,TorrentInfos> map_infos;
 
 /** \brief list all currently active (queued,lecching,seeding) torrents with their infos
  * the list is newly populated every n-seconds from Ui::OnUpdate()
  */
-class TorrentListCtrl : public CustomListCtrl
+class TorrentListCtrl : public CustomVirtListCtrl<TorrentInfos, TorrentListCtrl>
 {
   public:
-    TorrentListCtrl( wxWindow* parent, Ui& ui );
+    TorrentListCtrl( wxWindow* parent );
     ~TorrentListCtrl();
 
     void Sort();
@@ -30,36 +29,34 @@ class TorrentListCtrl : public CustomListCtrl
     void OnListRightClick( wxListEvent& event );
 
     virtual void SetTipWindowText( const long item_hit, const wxPoint position);
-    void OnColClick( wxListEvent& event );
-    void SetInfoMap( map_infos* map);
+	bool AddTorrentInfo(const DataType& info);
+	bool RemoveTorrentInfo(const DataType& info);
+	void UpdateTorrentInfo(const DataType& info);
+	void RefreshTorrentStatus();
+
     virtual void HighlightItem( long item );
 
+    void OnCancel( wxCommandEvent& event );
+    void OnRetry( wxCommandEvent& event );
+
+	//these are overloaded to use list in virtual style
+    wxString GetItemText(long item, long column) const;
+    int GetItemImage(long item) const;
+    int GetItemColumnImage(long item, long column) const;
+    wxListItemAttr* GetItemAttr(long item) const {return 0;}
+
   protected:
-    static int wxCALLBACK CompareNameUP(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareNameDOWN(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareCompletedUP(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareCompletedDOWN(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareDownSizeUP(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareDownSizeDOWN(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareUpSizeUP(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareUpSizeDOWN(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareDownSpeedUP(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareDownSpeedDOWN(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareUpSpeedUP(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareUpSpeedDOWN(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareLeechUP(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareLeechDOWN(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareEtaUP(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareEtaDOWN(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareCopiesUP(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareCopiesDOWN(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareFileSizeUP(long item1, long item2, long sortData);
-    static int wxCALLBACK CompareFileSizeDOWN(long item1, long item2, long sortData);
-    static map_infos* m_info_map;
+	static int CompareOneCrit( DataType u1, DataType u2, int col, int dir ) ;
+	int GetIndexFromData( const DataType& data ) const;
+
+	bool IsTorrentActive(const DataType& info);
 
+	wxMenu* m_popup;
 
     enum {
-        TLIST_CLICK
+        TLIST_CLICK,
+		TLIST_CANCEL,
+		TLIST_RETRY
     };
 
     DECLARE_EVENT_TABLE()
diff --git a/src/torrentoptionspanel.cpp b/src/torrentoptionspanel.cpp
index 9ce868b..d031ae6 100644
--- a/src/torrentoptionspanel.cpp
+++ b/src/torrentoptionspanel.cpp
@@ -19,16 +19,16 @@
 #include "torrentoptionspanel.h"
 #include "aui/auimanager.h"
 #include "settings.h"
-#include "ui.h"
 #include "torrentwrapper.h"
 #include "utils/conversion.h"
+#include "utils/controls.h"
 
 
 BEGIN_EVENT_TABLE( TorrentOptionsPanel, wxScrolledWindow )
 END_EVENT_TABLE()
 
-TorrentOptionsPanel::TorrentOptionsPanel( wxWindow* parent, Ui& ui)
-    : wxScrolledWindow( parent, -1), m_ui(ui)
+TorrentOptionsPanel::TorrentOptionsPanel( wxWindow* parent )
+    : wxScrolledWindow( parent, -1)
 {
     GetAui().manager->AddPane( this, wxLEFT, _T("torrentoptionspanel") );
 
@@ -106,7 +106,7 @@ TorrentOptionsPanel::TorrentOptionsPanel( wxWindow* parent, Ui& ui)
     OnRestore( dummy );
 
     SetSizer( mainboxsizer );
-    SetScrollRate( 3, 3 );
+    SetScrollRate( SCROLL_RATE, SCROLL_RATE );
     Layout();
 }
 
diff --git a/src/torrentoptionspanel.h b/src/torrentoptionspanel.h
index e92ba80..6b904fd 100644
--- a/src/torrentoptionspanel.h
+++ b/src/torrentoptionspanel.h
@@ -16,7 +16,7 @@ class wxStaticText;
 class TorrentOptionsPanel: public wxScrolledWindow
 {
     public:
-        TorrentOptionsPanel( wxWindow* parent, Ui& ui);
+        TorrentOptionsPanel( wxWindow* parent );
         ~TorrentOptionsPanel();
 
         //void OnEnableP2P( wxCommandEvent& event );
@@ -44,9 +44,6 @@ class TorrentOptionsPanel: public wxScrolledWindow
         wxStaticText* m_gamestart_throttle_up_lbl;
         wxStaticText* m_gamestart_throttle_down_lbl;
 
-        Ui& m_ui;
-
-
         void EnableSettings( bool enable);
         void SetStatusDisplay();
         void SetAutoStartRadio();
diff --git a/src/torrentwrapper.cpp b/src/torrentwrapper.cpp
index 6bac66e..d30fcaa 100644
--- a/src/torrentwrapper.cpp
+++ b/src/torrentwrapper.cpp
@@ -17,7 +17,6 @@
 #include "utils/debug.h"
 #include "socket.h"
 #include "base64.h"
-#include "globalevents.h"
 
 #include <libtorrent/entry.hpp>
 #include <libtorrent/session.hpp>
@@ -51,8 +50,9 @@
 #include <wx/event.h>
 
 #include "torrentwrapper.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 #include "globalsmanager.h"
+#include "utils/globalevents.h"
 
 
 /** Get the name of the Spring data subdirectory that corresponds to a
@@ -515,6 +515,16 @@ bool TorrentWrapper::RemoveTorrentByHash( const wxString& hash )
 }
 
 
+P2P::FileStatus TorrentWrapper::GetTorrentStatusByHash(const wxString &hash)
+{
+	TorrentTable::PRow row=GetTorrentTable().RowByHash(hash);
+    if (!row.ok())
+		return P2P::not_stored;
+
+	libtorrent::torrent_handle handle = row->handle;
+	return row->status;
+}
+
 
 int TorrentWrapper::GetTorrentSystemStatus()
 {
@@ -699,9 +709,9 @@ bool TorrentWrapper::RemoveTorrentByRow( const TorrentTable::PRow& row )
 }
 
 
-std::map<int,TorrentInfos> TorrentWrapper::CollectGuiInfos()
+std::map<wxString,TorrentInfos> TorrentWrapper::CollectGuiInfos()
 {
-    std::map<int,TorrentInfos> ret;
+    std::map<wxString,TorrentInfos> ret;
     try
     {
         TorrentInfos globalinfos;
@@ -714,7 +724,7 @@ std::map<int,TorrentInfos> TorrentWrapper::CollectGuiInfos()
         globalinfos.inspeed = s.download_rate;
         globalinfos.numcopies = 0.0f;
         globalinfos.filesize = 0;
-        ret[0] = globalinfos;
+        ret[wxString(_T("global"))] = globalinfos;
 
         if ( ingame || !IsConnectedToP2PSystem()  ) return ret; // stop updating the gui if disconneted
 
@@ -732,12 +742,18 @@ std::map<int,TorrentInfos> TorrentWrapper::CollectGuiInfos()
             CurrentTorrent.numcopies = s.distributed_copies;
             CurrentTorrent.filesize = i->get_torrent_info().total_size();
 
+			int eta_seconds = -1;
+			if ( CurrentTorrent.progress > 0 && CurrentTorrent.inspeed > 0)
+				eta_seconds = int (  (CurrentTorrent.filesize - CurrentTorrent.downloaded ) / CurrentTorrent.inspeed );
+
+			CurrentTorrent.eta = eta_seconds;
+
             TorrentTable::PRow row=GetTorrentTable().RowByHandle(*i);
             if (!row.ok()) continue;
             CurrentTorrent.hash=row->hash;
             CurrentTorrent.downloadstatus = row->status;
 
-            ret[s2l(CurrentTorrent.hash)] = CurrentTorrent;
+            ret[CurrentTorrent.hash] = CurrentTorrent;
         }
     }
     catch (std::exception& e)
@@ -755,7 +771,8 @@ std::map<int,TorrentInfos> TorrentWrapper::CollectGuiInfos()
         QueuedTorrent.hash = (*it)->hash;
         QueuedTorrent.downloadstatus = P2P::queued;
         QueuedTorrent.name=(*it)->name;
-        ret[s2l(QueuedTorrent.hash)] = QueuedTorrent;
+		QueuedTorrent.eta = -1;
+        ret[QueuedTorrent.hash] = QueuedTorrent;
     }
 
     return ret;
@@ -1191,8 +1208,7 @@ void TorrentWrapper::RemoveUnneededTorrents()
 
                 GetTorrentTable().AddRowToDependencyCheckQueue( it->second );
 
-                wxCommandEvent refreshevt(UnitSyncReloadRequest); // request an unitsync reload
-                wxPostEvent( &SL_GlobalEvtHandler::GetSL_GlobalEvtHandler(), refreshevt );
+                GetGlobalEventSender(GlobalEvents::UnitSyncReloadRequest).SendEvent( 0 ); // request an unitsync reload
             }
             catch (std::exception& e)
             {
diff --git a/src/torrentwrapper.h b/src/torrentwrapper.h
index fbe23d2..46b5e4d 100644
--- a/src/torrentwrapper.h
+++ b/src/torrentwrapper.h
@@ -52,7 +52,10 @@ struct TorrentInfos
     float outspeed;
     unsigned int filesize;
     wxString hash;
-    int eta; //is set in update function of maintorrenttab
+    int eta; 
+
+	//default constructor
+	TorrentInfos() : numcopies(-1.f), downloaded(0), uploaded(0), downloadstatus(P2P::not_stored), progress(0.f), inspeed(0.f), outspeed(0.f), filesize(0), eta(0) {}
 };
 
 
@@ -208,6 +211,7 @@ public:
     bool IsConnectedToP2PSystem();
     bool IsFileInSystem( const wxString& hash );
     bool RemoveTorrentByHash( const wxString& hash );
+	P2P::FileStatus GetTorrentStatusByHash(const wxString& hash);
     int GetTorrentSystemStatus();
 
     ///HashToTorrentData& GetSystemFileList();
@@ -218,7 +222,7 @@ public:
     DownloadRequestStatus RequestFileByName( const wxString& name );
     void UpdateSettings();
     void UpdateFromTimer( int mselapsed );
-    std::map<int,TorrentInfos> CollectGuiInfos();
+    std::map<wxString,TorrentInfos> CollectGuiInfos();
     void SendMessageToCoordinator( const wxString& message );
 
     /// threaded maintenance tasks
diff --git a/src/ui.cpp b/src/ui.cpp
index 38b2e26..110a3ed 100644
--- a/src/ui.cpp
+++ b/src/ui.cpp
@@ -30,6 +30,7 @@
 #include "user.h"
 #include "utils/debug.h"
 #include "utils/conversion.h"
+#include "uiutils.h"
 #include "chatpanel.h"
 #include "battlelisttab.h"
 #include "battleroomtab.h"
@@ -44,10 +45,11 @@
 #include "unitsyncthread.h"
 #include "agreementdialog.h"
 #ifdef __WXMSW__
-#include "updater/updater.h"
+    #include "updater/updater.h"
+    #include "Helper/tasclientimport.h"
 #endif
 
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 
 #include "sdlsound.h"
 #include "globalsmanager.h"
@@ -66,7 +68,7 @@ Ui::Ui() :
         m_first_update_trigger(true),
         m_ingame(false)
 {
-    m_main_win = new MainWindow( *this );
+    m_main_win = new MainWindow( );
     CustomMessageBoxBase::setLobbypointer(m_main_win);
     m_serv = new TASServer();
 }
@@ -291,14 +293,6 @@ void Ui::Quit()
         m_con_win->Close();
 }
 
-
-void Ui::ReloadUnitSync()
-{
-    usync().ReloadUnitSyncLib();
-    if ( m_main_win != 0 ) mw().OnUnitSyncReloaded();
-}
-
-
 void Ui::DownloadMap( const wxString& hash, const wxString& name )
 {
 #ifndef NO_TORRENT_SYSTEM
@@ -352,31 +346,6 @@ void Ui::DownloadFileP2P( const wxString& hash, const wxString& name )
 }
 
 
-void Ui::OpenWebBrowser( const wxString& url )
-{
-    if ( sett().GetWebBrowserUseDefault()
-            // These shouldn't happen, but if they do we use the default browser anyway.
-            || sett().GetWebBrowserPath() == wxEmptyString
-            || sett().GetWebBrowserPath() == _T("use default") )
-    {
-        if ( !wxLaunchDefaultBrowser( url ) )
-        {
-            wxLogWarning( _T("can't launch default browser") );
-            customMessageBoxNoModal(SL_MAIN_ICON, _("Couldn't launch browser. URL is: ") + url, _("Couldn't launch browser.")  );
-        }
-    }
-    else
-    {
-        if ( !wxExecute ( sett().GetWebBrowserPath() + _T(" ") + url, wxEXEC_ASYNC ) )
-        {
-            wxLogWarning( _T("can't launch browser: %s"), sett().GetWebBrowserPath().c_str() );
-            customMessageBoxNoModal(SL_MAIN_ICON, _("Couldn't launch browser. URL is: ") + url + _("\nBroser path is: ") + sett().GetWebBrowserPath(), _("Couldn't launch browser.")  );
-        }
-
-    }
-}
-
-
 //! @brief Display a dialog asking a question with OK and Canel buttons
 //!
 //! @return true if OK button was pressed
@@ -617,7 +586,7 @@ bool Ui::IsSpringCompatible()
         {
           wxLogMessage(_T("server enforce usage of version: %s, switching to profile: %s"), neededversion.c_str(), itor->first.c_str() );
           sett().SetUsedSpringIndex( itor->first );
-          ReloadUnitSync();
+          GetGlobalEventSender(GlobalEvents::UnitSyncReloadRequest).SendEvent( 0 ); // request an unitsync reload
         }
         return true;
       }
@@ -1176,7 +1145,7 @@ void Ui::OnAcceptAgreement( const wxString& agreement )
 }
 
 
-void Ui::OnRing( const wxString& /*from */)
+void Ui::OnRing( const wxString& from )
 {
     if ( m_main_win == 0 ) return;
     m_main_win->RequestUserAttention();
@@ -1189,31 +1158,6 @@ void Ui::OnRing( const wxString& /*from */)
 #endif
 }
 
-
-void Ui::OnMapInfoCached( const wxString& /*unused*/ )
-{
-    if ( m_main_win == 0 ) return;
-    mw().OnUnitSyncReloaded();
-}
-
-
-void Ui::OnMinimapCached( const wxString& /*unused*/ )
-{
-    if ( m_main_win == 0 ) return;
-    mw().OnUnitSyncReloaded();
-}
-
-
-void Ui::OnModUnitsCached( const wxString& /*unused*/ )
-{
-}
-
-void Ui::OnMainWindowDestruct()
-{
-    //this is rather ugly and therefore disabled
-    //m_main_win = 0;
-}
-
 bool Ui::IsThisMe(User& other)
 {
     return IsThisMe( other.GetNick() );
@@ -1280,5 +1224,47 @@ void Ui::OpenFileInEditor( const wxString& filepath )
         customMessageBoxNoModal( SL_MAIN_ICON, _T("There was a problem launching the editor.\nPlease make sure the path is correct and the binary executable for your user.\nNote it's currently not possible to use shell-only editors like ed, vi, etc."), _T("Problem launching editor") );
         mw().ShowConfigure( MainWindow::OPT_PAGE_GENERAL );
     }
+}
+
+void Ui::FirstRunWelcome()
+{
+    if ( sett().IsFirstRun() )
+    {
+#ifdef __WXMSW__
+        sett().SetOldSpringLaunchMethod( true );
+#endif
 
+        wxLogMessage( _T("first time startup"));
+        wxMessageBox(_("Hi ") + wxGetUserName() + _(",\nIt looks like this is your first time using SpringLobby. I have guessed a configuration that I think will work for you but you should review it, especially the Spring configuration. \n\nWhen you are done you can go to the File menu, connect to a server, and enjoy a nice game of Spring :)"), _("Welcome"),
+                     wxOK | wxICON_INFORMATION, &mw() );
+
+
+        customMessageBoxNoModal(SL_MAIN_ICON, _("By default SpringLobby reports some usage statistics.\nYou can disable that on options tab --> General."),_("Notice"),wxOK );
+
+
+                // copy uikeys.txt
+                wxPathList pl;
+                pl.AddEnvList( _T("%ProgramFiles%") );
+                pl.AddEnvList( _T("XDG_DATA_DIRS") );
+                pl = sett().GetAdditionalSearchPaths( pl );
+                wxString uikeyslocation = pl.FindValidPath( _T("uikeys.txt") );
+                if ( !uikeyslocation.IsEmpty() )
+                {
+                    wxCopyFile( uikeyslocation, sett().GetCurrentUsedDataDir() + wxFileName::GetPathSeparator() + _T("uikeys.txt"), false );
+                }
+
+    #ifdef __WXMSW__
+        if ( TASClientPresent() &&
+                customMessageBox(SL_MAIN_ICON, _("Should I try to import (some) TASClient settings?\n" ),_("Import settings?"), wxYES_NO ) == wxYES )
+        {
+            ImportTASClientSettings();
+        }
+    #endif
+
+        mw().ShowConfigure();
+    }
+    else
+    {
+        mw().ShowSingleplayer();
+    }
 }
diff --git a/src/ui.h b/src/ui.h
index 07fa63e..8d6d85c 100644
--- a/src/ui.h
+++ b/src/ui.h
@@ -71,13 +71,9 @@ class Ui
 
     void Quit();
 
-    void ReloadUnitSync();
-
     void DownloadMap( const wxString& hash, const wxString& name );
     void DownloadMod( const wxString& hash, const wxString& name );
 
-    void OpenWebBrowser( const wxString& url );
-
     bool Ask( const wxString& heading, const wxString& question );
     bool AskText( const wxString& heading, const wxString& question, wxString& answer, long style = wxOK | wxCANCEL | wxCENTRE );
     bool AskPassword( const wxString& heading, const wxString& message, wxString& password );
@@ -140,9 +136,6 @@ class Ui
 
     void OnRing( const wxString& from );
 
-    void OnMapInfoCached( const wxString& mapname );
-    void OnMinimapCached( const wxString& mapname );
-    void OnModUnitsCached( const wxString& modname );
     //! ask to download missing map, return true if download attempted
     bool OnPresetRequiringMap( const wxString& mapname );
 
@@ -156,6 +149,10 @@ class Ui
 
     void OpenFileInEditor( const wxString& filepath );
 
+    //! the welcome box, should be called in all code paths directly after MainWindow might be shown for the first time
+    void FirstRunWelcome();
+
+
   protected:
     Server* m_serv;
     MainWindow* m_main_win;
diff --git a/src/uiutils.cpp b/src/uiutils.cpp
index 1e706ad..127671e 100644
--- a/src/uiutils.cpp
+++ b/src/uiutils.cpp
@@ -19,7 +19,7 @@
 #include "utils/math.h"
 #include "utils/conversion.h"
 #include "utils/debug.h"
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 #include "settings.h"
 
 wxString RefineMapname( const wxString& mapname )
@@ -330,8 +330,10 @@ typedef std::vector<double> huevec;
 void hue(huevec& out, int amount, int level)
 {
 	if (level <= 1) {
-		if (out.size() < amount) out.push_back(0.0);
-		if (out.size() < amount) out.push_back(0.5);
+		if (long(out.size()) < amount)
+            out.push_back(0.0);
+		if (long(out.size()) < amount)
+            out.push_back(0.5);
 	}
 	else {
 		hue(out, amount, level - 1);
@@ -496,3 +498,27 @@ void CopyToClipboard( const wxString& text )
     }
 }
 
+
+void OpenWebBrowser( const wxString& url )
+{
+    if ( sett().GetWebBrowserUseDefault()
+            // These shouldn't happen, but if they do we use the default browser anyway.
+            || sett().GetWebBrowserPath() == wxEmptyString
+            || sett().GetWebBrowserPath() == _T("use default") )
+    {
+        if ( !wxLaunchDefaultBrowser( url ) )
+        {
+            wxLogWarning( _T("can't launch default browser") );
+            customMessageBoxNoModal(SL_MAIN_ICON, _("Couldn't launch browser. URL is: ") + url, _("Couldn't launch browser.")  );
+        }
+    }
+    else
+    {
+        if ( !wxExecute ( sett().GetWebBrowserPath() + _T(" ") + url, wxEXEC_ASYNC ) )
+        {
+            wxLogWarning( _T("can't launch browser: %s"), sett().GetWebBrowserPath().c_str() );
+            customMessageBoxNoModal(SL_MAIN_ICON, _("Couldn't launch browser. URL is: ") + url + _("\nBroser path is: ") + sett().GetWebBrowserPath(), _("Couldn't launch browser.")  );
+        }
+
+    }
+}
diff --git a/src/uiutils.h b/src/uiutils.h
index 2456478..9c070d8 100644
--- a/src/uiutils.h
+++ b/src/uiutils.h
@@ -13,9 +13,6 @@ class wxBitmap;
 
 #define wxDefaultBitmap wxBitmap()
 
-#define IsColourOk() IsOk()
-
-
 wxString RefineMapname( const wxString& mapname );
 wxString RefineModname( const wxString& modname );
 wxString RTFtoText( const wxString& rtfinput );
@@ -50,6 +47,9 @@ std::vector<wxColour>& GetBigFixColoursPalette( int numteams );
 
 void CopyToClipboard( const wxString& text );
 
+//! open either plattform default browser or binary saved in settings with given url
+void OpenWebBrowser( const wxString& url );
+
 #endif
 // SPRINGLOBBY_HEADERGUARD_UIUTILS_H
 
diff --git a/src/updater/updater.cpp b/src/updater/updater.cpp
index 954ba24..a0c7a31 100644
--- a/src/updater/updater.cpp
+++ b/src/updater/updater.cpp
@@ -1,8 +1,9 @@
 
 #include "updater.h"
 #include "versionchecker.h"
-#include "../settings++/custom_dialogs.h"
+#include "../utils/customdialogs.h"
 #include "../utils/platform.h"
+#include "../utils/globalevents.h"
 #include "../settings.h"
 #include "../globalsmanager.h"
 #include "../ui.h"
@@ -37,8 +38,6 @@ UpdaterClass::~UpdaterClass()
 
 void UpdaterClass::CheckForUpdates()
 {
-    m_cur_mw_title = ui().mw().GetTitle();
-
   wxString latestVersion = GetLatestVersion();
 
   if (latestVersion == _T("-1"))
@@ -55,14 +54,7 @@ void UpdaterClass::CheckForUpdates()
       int answer = customMessageBox(SL_MAIN_ICON, _("Your SpringLobby version is not up to date.\n\n") + msg + _("\n\nWould you like for me to autodownload the new version? Changes will take effect next you launch the lobby again."), _("Not up to date"), wxYES_NO);
       if (answer == wxYES)
       {
-          if ( IsUACenabled() ) {
             WinExecuteAdmin( wxStandardPaths::Get().GetExecutablePath(), _T("-u") );
-          }
-          else {
-            ui().mw().SetTitle( _("SpringLobby -- downloading update") ); // doesn't make sense when launching the new instance, since we never get the return code atm
-            StartUpdate( latestVersion );
-          }
-
       }
     #else
     customMessageBox(SL_MAIN_ICON, _("Your SpringLobby version is not up to date.\n\n") + msg, _("Not up to Date") );
@@ -71,10 +63,8 @@ void UpdaterClass::CheckForUpdates()
 }
 
 #ifdef __WXMSW__
-//! DO NOT use mw() global unless fromCli is false !
-void UpdaterClass::StartUpdate( const wxString& latestVersion, bool fromCli )
+void UpdaterClass::StartUpdate( const wxString& latestVersion )
 {
-    m_fromCli = fromCli;
     wxString sep = wxFileName::GetPathSeparator();
     wxString currentexe = wxStandardPaths::Get().GetExecutablePath();
     if ( !wxFileName::IsDirWritable( currentexe.BeforeLast( wxFileName::GetPathSeparator() ) + wxFileName::GetPathSeparator() ) )
@@ -90,50 +80,30 @@ void UpdaterClass::StartUpdate( const wxString& latestVersion, bool fromCli )
 }
 #endif
 
-//! DO NOT use mw() global unless fromCli is false !
+//all messageboxes need to be modal, updater closes immeadiately when receiving the UpdateFinished event
 void UpdaterClass::OnDownloadEvent( wxCommandEvent& event )
 {
 	int code = event.GetInt();
-  if ( code != 0) customMessageBox(SL_MAIN_ICON, _("There was an error downloading for the latest version.\nPlease try again later.\nIf the problem persists, please use Help->Report Bug to report this bug."), _("Error"));
+  if ( code != 0)
+    customMessageBox(SL_MAIN_ICON, _("There was an error downloading for the latest version.\nPlease try again later.\nIf the problem persists, please use Help->Report Bug to report this bug."), _("Error"));
   else
   {
     if ( !UpdateExe( m_newexe , false ) ) {
-        if ( !m_fromCli ) {
-            customMessageBoxNoModal(SL_MAIN_ICON, wxString::Format( _("There was an error while trying to replace the current executable version\n manual copy is necessary from: %s\n to: %s\nPlease use Help->Report Bug to report this bug."), m_newexe.c_str(), wxStandardPaths::Get().GetExecutablePath().c_str() ), _("Error"));
-        }
-        else {
-            customMessageBox(SL_MAIN_ICON, wxString::Format( _("There was an error while trying to replace the current executable version\n manual copy is necessary from: %s\n to: %s\nPlease use Help->Report Bug to report this bug."), m_newexe.c_str(), wxStandardPaths::Get().GetExecutablePath().c_str() ), _("Error"));
-        }
+            customMessageBox(SL_MAIN_ICON, wxString::Format( _("There was an error while trying to replace the current executable version.\n Please manually copy springlobby.exe from: %s\n to: %s\nPlease use Help->Report Bug to report this bug."), m_newexe.c_str(), wxStandardPaths::Get().GetExecutablePath().c_str() ), _("Error"));
     }
     else
     {
         bool locale_ok = UpdateLocale( m_newexe, false );
         if ( locale_ok ) {
-            if ( !m_fromCli ) {
-                customMessageBoxNoModal(SL_MAIN_ICON, _("Update complete. The changes will be available next lobby start."), _("Success"));
-            }
-            else {
                 customMessageBox(SL_MAIN_ICON, _("Update complete. The changes will be available next lobby start."), _("Success"));
-                wxRmdir( m_newexe );
-                wxTheApp->ExitMainLoop();
-            }
         }
         else {
-            if ( !m_fromCli ) {
-                customMessageBoxNoModal(SL_MAIN_ICON, _("Binary updated successfully. \nSome translation files could not be updated.\nPlease report this in #springlobby after restarting."), _("Partial success"));
-            }
-            else {
                 customMessageBox(SL_MAIN_ICON, _("Binary updated successfully. \nSome translation files could not be updated.\nPlease report this in #springlobby after restarting."), _("Partial success"));
-                wxRmdir( m_newexe );
-                wxTheApp->ExitMainLoop();
-            }
         }
         wxRmdir( m_newexe );
+        GetGlobalEventSender( GlobalEvents::UpdateFinished ).SendEvent( 0 );
     }
   }
-
-    if ( !m_fromCli )
-        ui().mw().SetTitle( m_cur_mw_title );
 }
 
 //! DO NOT use mw() global unless fromCli is false !
diff --git a/src/updater/updater.h b/src/updater/updater.h
index d224902..8093c0d 100644
--- a/src/updater/updater.h
+++ b/src/updater/updater.h
@@ -12,7 +12,7 @@ class UpdaterClass : public wxEvtHandler
     void CheckForUpdates();
 
 #ifdef __WXMSW__
-    void StartUpdate( const wxString& rev, bool fromCli = false );
+    void StartUpdate( const wxString& rev );
 #endif
     void OnDownloadEvent( wxCommandEvent& event );
 
@@ -24,11 +24,6 @@ protected:
     wxString m_newexe;
 
     DECLARE_EVENT_TABLE()
-
-    wxString m_cur_mw_title;
-
-    bool m_fromCli;
-
 };
 
 UpdaterClass& Updater();
diff --git a/src/updater/updatermainwindow.cpp b/src/updater/updatermainwindow.cpp
new file mode 100644
index 0000000..46be4b3
--- /dev/null
+++ b/src/updater/updatermainwindow.cpp
@@ -0,0 +1,108 @@
+/* Copyright (C) 2007-2009 The SpringLobby Team. All rights reserved. */
+
+#include "updatermainwindow.h"
+
+#include <wx/sizer.h>
+#include <wx/button.h>
+#include <wx/icon.h>
+
+#include "../utils/customdialogs.h"
+#include "../utils/activitynotice.h"
+#include "../uiutils.h"
+
+#include "../images/springlobby.xpm"
+
+class UpdaterPanel : public wxPanel {
+
+    protected:
+        wxBoxSizer* m_main_sizer;
+        wxButton* m_changelog;
+        ActivityNoticePanel* m_activity_panel;
+
+        enum {
+            ID_BUT_CHANGELOG = wxID_HIGHEST
+        };
+
+        void OnChangelog( wxCommandEvent& event )
+        {
+            OpenWebBrowser( _T("http://springlobby.info/embedded/springlobby/index.html") );
+        }
+
+        DECLARE_EVENT_TABLE()
+
+    public:
+        UpdaterPanel ( wxWindow* parent, const wxString& rev_string )
+            : wxPanel( parent, -1 )
+        {
+            m_main_sizer = new wxBoxSizer( wxVERTICAL );
+            m_activity_panel = new ActivityNoticePanel( this,
+                wxString::Format ( _T("Updating SpringLobby to %s, please wait."), rev_string.c_str() ),
+                wxSize(450, 60) , wxSize(420, 15)  );
+            m_main_sizer->Add( m_activity_panel, 0, wxALL, 0 );
+
+            m_changelog = new wxButton( this, ID_BUT_CHANGELOG,_("Open changelog in browser") );
+            m_main_sizer->Add( m_changelog, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+            SetSizer( m_main_sizer);
+            Layout();
+        }
+};
+
+BEGIN_EVENT_TABLE( UpdaterPanel, wxPanel )
+    EVT_BUTTON ( ID_BUT_CHANGELOG, UpdaterPanel::OnChangelog )
+END_EVENT_TABLE()
+
+BEGIN_EVENT_TABLE( UpdaterMainwindow, wxFrame )
+    EVT_CLOSE( UpdaterMainwindow::OnClose )
+END_EVENT_TABLE()
+
+/** @brief ~UpdaterMainwindow
+  *
+  * @todo: document this function
+  */
+ UpdaterMainwindow::~UpdaterMainwindow()
+{
+
+}
+
+/** @brief UpdaterMainwindow
+  *
+  * @todo: document this function
+  */
+ UpdaterMainwindow::UpdaterMainwindow( const wxString& rev_string )
+    : wxFrame( (wxFrame*)0, -1, _("SpringLobby"), wxPoint(150, 150), wxSize(450, 120) ),
+//                wxMINIMIZE_BOX | wxCAPTION | wxCLOSE_BOX | wxCLIP_CHILDREN  ),
+    m_onDownloadComplete( this, &GetGlobalEventSender( GlobalEvents::UpdateFinished) )
+{
+    SetIcon( wxIcon(springlobby_xpm) );
+
+    wxBoxSizer* top_sizer = new wxBoxSizer( wxVERTICAL );
+    UpdaterPanel* panel = new UpdaterPanel( this, rev_string );
+
+    top_sizer->Add( panel, 1, wxEXPAND|wxALL, 0 );
+
+    SetSizer( top_sizer );
+    Layout();
+    Center();
+    CustomMessageBoxBase::setLobbypointer( this );
+}
+
+/** @brief OnClose
+  *
+  * @todo: document this function
+  */
+void UpdaterMainwindow::OnClose(wxCloseEvent& evt)
+{
+    if ( timedMessageBox( SL_MAIN_ICON, _("Closing this window will abort the update, you may end up with a broken client.\nAbort?"), _("Warning"), 4000, wxYES_NO | wxICON_WARNING )
+                        == wxYES )
+    {
+        freeStaticBox();
+        Destroy();
+    }
+}
+
+void UpdaterMainwindow::OnDownloadComplete( GlobalEvents::GlobalEventData /*data*/ )
+{
+    freeStaticBox();
+    Destroy();
+}
diff --git a/src/updater/updatermainwindow.h b/src/updater/updatermainwindow.h
new file mode 100644
index 0000000..0662188
--- /dev/null
+++ b/src/updater/updatermainwindow.h
@@ -0,0 +1,45 @@
+#ifndef SPRINGLOBBY_HEADERGUARD_UPDATERMAINWINDOW_H
+#define SPRINGLOBBY_HEADERGUARD_UPDATERMAINWINDOW_H
+
+#include <wx/frame.h>
+
+#include "../utils/globalevents.h"
+
+class wxCloseEvent;
+
+class UpdaterMainwindow : public wxFrame {
+
+    public:
+        UpdaterMainwindow( const wxString& rev_string );
+        virtual ~UpdaterMainwindow();
+
+        void OnClose( wxCloseEvent& evt );
+
+        void OnDownloadComplete( GlobalEvents::GlobalEventData /*data*/ );
+
+    protected:
+        typedef EventReceiverFunc<UpdaterMainwindow, GlobalEvents::GlobalEventData, &UpdaterMainwindow::OnDownloadComplete>
+            EventReceiverFunction;
+        EventReceiverFunction m_onDownloadComplete;
+
+        DECLARE_EVENT_TABLE()
+};
+
+#endif // SPRINGLOBBY_HEADERGUARD_UPDATERMAINWINDOW_H
+
+/**
+    This file is part of SpringLobby,
+    Copyright (C) 2007-09
+
+    SpringLobby is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License version 2 as published by
+    the Free Software Foundation.
+
+    SpringLobby 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 SpringLobby.  If not, see <http://www.gnu.org/licenses/>.
+**/
diff --git a/src/updater/versionchecker.cpp b/src/updater/versionchecker.cpp
index f1e0531..43f6334 100644
--- a/src/updater/versionchecker.cpp
+++ b/src/updater/versionchecker.cpp
@@ -10,7 +10,7 @@
 #include <wx/log.h>
 
 #include "../utils/debug.h"
-#include "../settings++/custom_dialogs.h"
+#include "../utils/customdialogs.h"
 
 
 //! @brief gets latest version from version.springlobby.info via HTTP
diff --git a/src/useractions.cpp b/src/useractions.cpp
index 633ca5b..9cb106d 100644
--- a/src/useractions.cpp
+++ b/src/useractions.cpp
@@ -4,7 +4,7 @@
 #include <wx/colour.h>
 #include "settings.h"
 #include <cmath>
-#include "settings++/custom_dialogs.h"
+#include "utils/customdialogs.h"
 
 //for updating ui, anybody feel free to replace with fancy events stuff :P
 #include "ui.h"
diff --git a/src/usermenu.h b/src/usermenu.h
index 2a48825..08b9f93 100644
--- a/src/usermenu.h
+++ b/src/usermenu.h
@@ -3,8 +3,11 @@
 
 #include <wx/menu.h>
 #include <map>
+#include <vector>
 
-#define GROUP_ID 24567
+//static const long GROUP_ID  = wxNewId();
+static const long GROUP_ID_NEW  = wxNewId();
+static const long GROUP_ID_REMOVE  = wxNewId();
 #include "ui.h"
 #include "useractions.h"
 
@@ -13,23 +16,27 @@ template < class EventHandler_ >
 class UserMenu : public wxMenu
 {
     protected:
-        typedef EventHandler_ EventHandler;
+        typedef EventHandler_
+            EventHandler;
+        typedef EventHandler
+            ParentType;
 
     public:
-        UserMenu(wxWindow* parent, const wxString& title = wxEmptyString, long style = 0)
+        UserMenu(wxEvtHandler * connectee, ParentType* parent, const wxString& title = wxEmptyString, long style = 0)
         : wxMenu( title, style ),m_groupsMenu(0), m_parent(parent),m_groupCounter(0)
         {
+            assert ( m_parent );
             m_groupsMenu = new wxMenu();
-            m_groupsnewItem = new wxMenuItem( m_groupsMenu, GROUP_ID - 2, _("Create new group...")  );
-            m_parent->Connect( GROUP_ID - 2, wxEVT_COMMAND_MENU_SELECTED,
-                                    wxCommandEventHandler( EventHandler::OnUserMenuCreateGroup ) );
+            m_groupsnewItem = new wxMenuItem( m_groupsMenu, GROUP_ID_NEW, _("Create new group...")  );
+            Connect( GROUP_ID_NEW, wxEVT_COMMAND_MENU_SELECTED,
+                                    wxCommandEventHandler( EventHandler::OnUserMenuCreateGroup ), 0, m_parent );
             m_groupsMenu->Append( m_groupsnewItem );
             m_groupsMenu->AppendSeparator();
-        //    if ( !ui().IsThisMe( m_parent->GetSelectedUser() ) )
+//            if ( !ui().IsThisMe( m_parent->GetSelectedUser() ) )
             m_groupsMenuItem = AppendSubMenu( m_groupsMenu, _("Add to group..."));
-            m_groupsDeleteItem = new wxMenuItem( m_groupsMenu, GROUP_ID - 1, _("Remove from group")  );
-            m_parent->Connect( GROUP_ID - 1, wxEVT_COMMAND_MENU_SELECTED,
-                                    wxCommandEventHandler( EventHandler::OnUserMenuDeleteFromGroup ) );
+            m_groupsDeleteItem = new wxMenuItem( m_groupsMenu, GROUP_ID_REMOVE, _("Remove from group")  );
+            Connect( GROUP_ID_REMOVE, wxEVT_COMMAND_MENU_SELECTED,
+                                    wxCommandEventHandler( EventHandler::OnUserMenuDeleteFromGroup ), 0, m_parent );
             Append( m_groupsDeleteItem );
         }
 
@@ -54,12 +61,21 @@ class UserMenu : public wxMenu
 
         }
 
-        wxString GetGroupByEvtID( const unsigned int id )
+        wxString GetGroupByEvtID( const long id )
         {
-            if ( id < m_idNameMap.size() )
-                return m_idNameMap[id];
-            else
-                return wxEmptyString;
+            return m_idNameMap[id];
+        }
+
+        //we need these to circumvent the submneu events not firing via connecting the events in the parent class
+        std::vector<long> GetGroupIds() {
+            std::vector<long> ids;
+            std::map<long, wxString>::const_iterator it = m_idNameMap.begin();
+            for ( ; it != m_idNameMap.end(); ++it ) {
+                long id = it->first;
+                if (  id != GROUP_ID_NEW && id != GROUP_ID_REMOVE )
+                    ids.push_back( id );
+            }
+            return ids;
         }
 
     protected:
@@ -68,10 +84,10 @@ class UserMenu : public wxMenu
         wxMenuItem* m_groupsDeleteItem;
         wxMenuItem* m_groupsnewItem;
         wxArrayString m_oldGroups;
-        wxWindow* m_parent;
+        ParentType* m_parent;
         unsigned int m_groupCounter;
-        std::map<unsigned int, wxString> m_idNameMap;
-        std::map<wxString, unsigned int> m_NameIdMap;
+        std::map<long, wxString> m_idNameMap;
+        std::map<wxString, long> m_NameIdMap;
 
         void UpdateGroups()
         {
@@ -83,13 +99,14 @@ class UserMenu : public wxMenu
             {
                 if ( m_oldGroups.Index( groupNames[i] ) == wxNOT_FOUND || first )
                 {
+                    long newID = wxNewId();
                     m_idNameMap[m_groupCounter] = groupNames[i];
-                    wxMenuItem* addItem = new wxMenuItem( m_groupsMenu, GROUP_ID + m_groupCounter ,  groupNames[i] , wxEmptyString, wxITEM_NORMAL );
+                    wxMenuItem* addItem = new wxMenuItem( m_groupsMenu, newID,  groupNames[i] , wxEmptyString, wxITEM_NORMAL );
                     m_groupsMenu->Append( addItem );
-                    m_parent->Connect( GROUP_ID + m_groupCounter, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( EventHandler::OnUserMenuAddToGroup ) );
+//                    Connect( newID, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( EventHandler::OnUserMenuAddToGroup ), 0, m_parent );
                     m_oldGroups.Add( groupNames[i] );
-                    m_idNameMap[GROUP_ID + m_groupCounter]  = groupNames[i];
-                    m_NameIdMap[groupNames[i]]  = GROUP_ID + m_groupCounter;
+                    m_idNameMap[newID]  = groupNames[i];
+                    m_NameIdMap[groupNames[i]]  = newID;
                     m_groupCounter++;
                 }
                 else
diff --git a/src/utils/activitynotice.cpp b/src/utils/activitynotice.cpp
new file mode 100644
index 0000000..6de4ac8
--- /dev/null
+++ b/src/utils/activitynotice.cpp
@@ -0,0 +1,81 @@
+/* Copyright (C) 2007-2009 The SpringLobby Team. All rights reserved. */
+
+#include "activitynotice.h"
+
+#include <wx/sizer.h>
+#include <wx/stattext.h>
+#include <wx/app.h>
+
+BEGIN_EVENT_TABLE(ActivityNoticePanel,wxPanel)
+    	EVT_TIMER(wxID_ANY, ActivityNoticePanel::OnTimer)
+END_EVENT_TABLE()
+
+
+ ActivityNotice::ActivityNotice(wxWindow* parent,const wxString& notice, const wxSize& gauge_size )
+    : wxDialog ( parent,wxID_ANY,_T(""),wxDefaultPosition, wxSize(190,60),wxBORDER_NONE|wxSTAY_ON_TOP)
+{
+    wxBoxSizer* m_main_sizer = new wxBoxSizer( wxVERTICAL );
+    m_panel = new ActivityNoticePanel( this, notice, gauge_size );
+    m_main_sizer->Add( m_panel, 1 , wxALL|wxEXPAND, 0 );
+    SetSizer(m_main_sizer);
+    Layout();
+}
+
+ ActivityNoticePanel::ActivityNoticePanel(wxWindow* parent,const wxString& notice, const wxSize& panel_size, const wxSize& gauge_size )
+    : wxPanel ( parent,wxID_ANY,wxDefaultPosition, panel_size, wxBORDER_NONE),
+    m_notice(notice)
+{
+    static int timer_inc = 0;
+    m_timer.SetOwner(this,timer_inc++);
+    wxBoxSizer* m_main_sizer = new wxBoxSizer( wxVERTICAL );
+    m_message = new wxStaticText(this,wxID_ANY,_T("") );
+    m_main_sizer->Add( m_message, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+    m_gauge = new wxGauge(this, wxID_ANY,120,wxDefaultPosition, gauge_size );
+    m_gauge->Pulse();
+    m_main_sizer->Add( m_gauge, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+    SetSizer( m_main_sizer );
+    SetString( m_notice );
+    Show(true);
+}
+
+void ActivityNoticePanel::SetString(const wxString& file)
+{
+    m_notice = file;
+    m_message->SetLabel( m_notice );
+    Layout();
+}
+
+bool ActivityNoticePanel::Show(bool show )
+{
+    if ( show )
+        m_timer.Start( 80, wxTIMER_CONTINUOUS );
+    else
+        m_timer.Stop ();
+    bool ret = wxPanel::Show(show);
+    Layout();
+    return ret;
+}
+
+void ActivityNoticePanel::OnTimer(wxTimerEvent& event)
+{
+    m_gauge->Pulse();
+}
+
+ ActivityNoticeContainer::ActivityNoticeContainer(wxWindow* parent_,const wxString& notice, const wxSize& gauge_size )
+{
+    wxWindow* parent = ( parent_ ) ? parent_ : ( wxTheApp->GetTopWindow() ) ;
+    m_window = new ActivityNotice( parent, notice, gauge_size );
+    m_window->Show(true);
+}
+
+ ActivityNoticeContainer::~ActivityNoticeContainer()
+{
+    m_window->Destroy();
+}
+
+ScopedActivityNotice scopedActivityNotice(wxWindow* parent,const wxString& notice, const wxSize& gauge_size )
+{
+    return ScopedActivityNotice( new ActivityNoticeContainer( parent, notice, gauge_size ) );
+}
diff --git a/src/utils/activitynotice.h b/src/utils/activitynotice.h
new file mode 100644
index 0000000..f32ad2d
--- /dev/null
+++ b/src/utils/activitynotice.h
@@ -0,0 +1,74 @@
+#ifndef SPRINGLOBBY_HEADERGUARD_ACTIVITYNOTICE_H
+#define SPRINGLOBBY_HEADERGUARD_ACTIVITYNOTICE_H
+
+#include <memory>
+
+#include <wx/panel.h>
+#include <wx/timer.h>
+#include <wx/dialog.h>
+#include <wx/gauge.h> //cannot forward this cause msw mixes up the types otherwise
+
+class wxStaticText;
+
+class ActivityNoticePanel: public wxPanel
+{
+    public:
+        ActivityNoticePanel(wxWindow* parent,const wxString& notice, const wxSize& panel_size = wxSize(190,6), const wxSize& gauge_size = wxSize(80,5) );
+        virtual ~ActivityNoticePanel() {}
+
+        void SetString(const wxString& file);
+        virtual bool Show(bool show = true);
+    protected:
+        wxString m_notice;
+        wxGauge* m_gauge;
+        wxStaticText* m_message;
+        wxTimer m_timer;
+
+        void OnTimer(wxTimerEvent& event);
+
+        DECLARE_EVENT_TABLE()
+};
+
+class ActivityNotice: public wxDialog
+{
+    public:
+        ActivityNotice(wxWindow* parent,const wxString& notice, const wxSize& gauge_size = wxSize(80,5)  );
+        virtual ~ActivityNotice() {}
+    protected:
+        ActivityNoticePanel* m_panel;
+};
+
+//! use this for a notice that closes automatically when going out of scope
+class ActivityNoticeContainer
+{
+    public:
+        ActivityNoticeContainer(wxWindow* parent,const wxString& notice, const wxSize& gauge_size = wxSize(80,5)  );
+        ~ActivityNoticeContainer();
+
+    protected:
+        ActivityNotice* m_window;
+};
+
+typedef std::auto_ptr<ActivityNoticeContainer>
+    ScopedActivityNotice;
+
+ScopedActivityNotice scopedActivityNotice(wxWindow* parent,const wxString& notice, const wxSize& gauge_size = wxSize(80,5) );
+
+#endif // SPRINGLOBBY_HEADERGUARD_ACTIVITYNOTICE_H
+
+/**
+    This file is part of SpringLobby,
+    Copyright (C) 2007-09
+
+    SpringLobby is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License version 2 as published by
+    the Free Software Foundation.
+
+    SpringLobby 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 SpringLobby.  If not, see <http://www.gnu.org/licenses/>.
+**/
diff --git a/src/utils/controls.cpp b/src/utils/controls.cpp
index 580ad42..fa270d0 100644
--- a/src/utils/controls.cpp
+++ b/src/utils/controls.cpp
@@ -1,8 +1,27 @@
 /* Copyright (C) 2007-2009 The SpringLobby Team. All rights reserved. */
 #include "controls.h"
 #include "../settings.h"
+#include "../defines.h"
+#include <wx/gdicmn.h>
+#include <wx/window.h>
 
 const wxChar* TooltipEnable(const wxChar* input)
 {
-    return sett().GetShowTooltips() ? input : _("");
+    #ifndef HAVE_WX29
+        return sett().GetShowTooltips() ? input : _("");
+    #else
+        return sett().GetShowTooltips() ? input : _("").wc_str();
+    #endif
+}
+
+int GetMaxStringWidth( const wxWindow& win, const wxArrayString& strings )
+{
+    int max = -1;
+    for (size_t i = 0; i < strings.Count(); ++i ) {
+        wxSize size;
+        win.GetTextExtent( strings[i], &size.x, &size.y );
+        max = std::max( max, size.x );
+    }
+
+    return max;
 }
diff --git a/src/utils/controls.h b/src/utils/controls.h
index 0984002..9e1ea7e 100644
--- a/src/utils/controls.h
+++ b/src/utils/controls.h
@@ -3,15 +3,18 @@
 
 class wxWindow;
 class wxColour;
+class wxArrayString;
 
 #include <wx/intl.h>
 
 #ifdef __WXMSW__
-#define CONTROL_HEIGHT 22
+    static const int CONTROL_HEIGHT = 22;
 #else
-#define CONTROL_HEIGHT 28
+    static const int CONTROL_HEIGHT = 28;
 #endif
 
+static const int SCROLL_RATE = 3;
+
 #define bool2yn(b) ((b)?_("Yes"):_("No"))
 
 #ifdef __WXMSW__
@@ -32,6 +35,8 @@ wxColour GetColourFromUser(wxWindow *parent, const wxColour& colInit,
 */
 const wxChar* TooltipEnable(const wxChar* input);
 
+int GetMaxStringWidth( const wxWindow& win, const wxArrayString& strings );
+
 #endif // SPRINGLOBBY_HEADERGUARD_CONTROLS_H
 
 /**
diff --git a/src/settings++/custom_dialogs.cpp b/src/utils/customdialogs.cpp
similarity index 64%
rename from src/settings++/custom_dialogs.cpp
rename to src/utils/customdialogs.cpp
index 0e46fdc..bb4b612 100644
--- a/src/settings++/custom_dialogs.cpp
+++ b/src/utils/customdialogs.cpp
@@ -1,4 +1,4 @@
-#include "custom_dialogs.h"
+#include "../utils/customdialogs.h"
 
 #include <wx/icon.h>
 #include <wx/string.h>
@@ -14,12 +14,19 @@
 #include <wx/statbmp.h>
 #include <wx/listctrl.h>
 #include <wx/dialog.h>
+#include <wx/app.h>
 #include <wx/choicdlg.h>
 
 
 #include "../images/springsettings.xpm"
 #include "../images/springlobby.xpm"
 #include "../utils/conversion.h"
+#include "../defines.h"
+
+#ifdef HAVE_WX29
+    //in < 29 this is defined in wxDialogBase, which seems to have disappeared
+    enum { ButtonSizerFlags = wxOK|wxCANCEL|wxYES|wxNO|wxHELP|wxNO_DEFAULT };
+#endif
 
 BEGIN_EVENT_TABLE(CustomMessageBox ,wxDialog)
   EVT_BUTTON(wxID_NO, CustomMessageBox::OnOptionsNo)
@@ -31,6 +38,7 @@ static CustomMessageBox* s_nonmodbox = 0;
 static ServerMessageBox* s_serverMsgBox = 0;
 static ActNotifBox* s_actNotifBox = 0;
 static MutelistWindow* s_mutelistWindow = 0;
+static TimedMessageBox* s_timedMessageBox = 0;
 
 CustomMessageBox::CustomMessageBox(wxIcon* icon ,wxWindow *parent, const wxString& message,
         const wxString& caption ,
@@ -175,6 +183,66 @@ int customMessageBox( int whichIcon , const wxString& message,const wxString& ca
 		}
 }
 
+int timedMessageBox(int whichIcon , const wxString& message,
+        const wxString& caption, unsigned int delay, // miliseconds
+        long style ,  const int x , const int y )
+{
+		wxWindow* parent;
+		wxIcon* icon;
+		switch (whichIcon)
+		{
+			case SL_MAIN_ICON:
+				icon = new wxIcon(springlobby_xpm);
+				parent = CustomMessageBoxBase::getLobbypointer();
+				break;
+			case SS_MAIN_ICON:
+				icon = new wxIcon(springsettings_xpm);
+				parent = CustomMessageBoxBase::getSettingspointer();
+				break;
+			default:
+				icon = new wxIcon(wxNullIcon);
+				parent = 0;
+				break;
+
+		}
+		TimedMessageBox dlg(icon,parent,message,caption,delay,style,wxPoint(x,y));
+		int re = dlg.ShowModal();
+		switch (re)
+		{
+			case wxID_OK: return wxOK;
+			case wxID_CANCEL: return wxCANCEL;
+			case wxID_YES: return wxYES;
+			case wxID_NO: return wxNO;
+		}
+		return -1;
+}
+
+void timedMessageBoxNoModal(int whichIcon , const wxString& message,
+        const wxString& caption, unsigned int delay, // miliseconds
+        long style ,  const int x , const int y )
+{
+		wxWindow* parent;
+		wxIcon* icon;
+		switch (whichIcon)
+		{
+			case SL_MAIN_ICON:
+				icon = new wxIcon(springlobby_xpm);
+				parent = CustomMessageBoxBase::getLobbypointer();
+				break;
+			case SS_MAIN_ICON:
+				icon = new wxIcon(springsettings_xpm);
+				parent = CustomMessageBoxBase::getSettingspointer();
+				break;
+			default:
+				icon = new wxIcon(wxNullIcon);
+				parent = 0;
+				break;
+
+		}
+		s_timedMessageBox = new TimedMessageBox(icon,parent,message,caption,delay,style,wxPoint(x,y));
+		s_timedMessageBox->Show( true );
+}
+
 void customMessageBoxNoModal( int whichIcon , const wxString& message,const wxString& caption,
 		long style , int x, int y )
 {
@@ -201,27 +269,23 @@ void customMessageBoxNoModal( int whichIcon , const wxString& message,const wxSt
 		s_nonmodbox->Show(true);
 }
 
-void freeStaticBox()
+template <class T>
+void closeAndDestroy( T* win )
 {
-    if (s_nonmodbox!=0)
-    {
-        s_nonmodbox->Show(false);
-         s_nonmodbox->Destroy();
-         s_nonmodbox = 0;
-    }
-    if (s_serverMsgBox!=0)
-    {
-        s_serverMsgBox->Show(false);
-         s_serverMsgBox->Destroy();
-         s_serverMsgBox = 0;
-    }
-    if (s_actNotifBox!=0)
-    {
-        s_actNotifBox->Show(false);
-         s_actNotifBox->Destroy();
-         s_actNotifBox = 0;
+    if ( win ) {
+        win->Show(false);
+        win->Destroy();
+        win = 0;
     }
+}
 
+void freeStaticBox()
+{
+    closeAndDestroy( s_nonmodbox );
+    closeAndDestroy( s_serverMsgBox );
+    closeAndDestroy( s_actNotifBox );
+    closeAndDestroy( s_mutelistWindow );
+    closeAndDestroy( s_timedMessageBox );
 }
 
 CreditsDialog::CreditsDialog(wxWindow* parent,wxString title,int whichIcon) : wxDialog(parent,-1,title,wxDefaultPosition,
@@ -435,3 +499,133 @@ MutelistWindow::MutelistWindow(wxIcon* icon ,wxWindow *parent, const wxString& m
 MutelistWindow::~MutelistWindow ()
 {}
 
+BEGIN_EVENT_TABLE( TimedMessageBox, wxDialog )
+    EVT_CLOSE( TimedMessageBox::OnClose )
+    EVT_BUTTON(wxID_NO, TimedMessageBox::OnOptionsNo)
+END_EVENT_TABLE()
+
+TimedMessageBox::TimedMessageBox(wxIcon* icon ,wxWindow *parent, const wxString& message,
+        const wxString& caption ,
+        unsigned int delay,
+        long style, const wxPoint& pos )
+			: wxDialog(parent,-1,caption,pos,wxDefaultSize,style|wxFRAME_FLOAT_ON_PARENT|wxDEFAULT_DIALOG_STYLE),
+            m_delay( delay ),
+            m_display_hits(0)
+{
+	SetIcon(*icon);
+
+//******** copied from wxsource/generic/msgdlgg.cpp with small modifications***********************************************************
+
+
+    topsizer = new wxBoxSizer( wxVERTICAL );
+
+    wxBoxSizer *icon_text = new wxBoxSizer( wxHORIZONTAL );
+
+
+    // 1) icon
+
+    wxBitmap bitmap;
+    switch ( style & wxICON_MASK )
+    {
+        default:
+            bitmap = wxArtProvider::GetIcon(wxART_INFORMATION, wxART_MESSAGE_BOX);
+            break;
+
+        case wxICON_ERROR:
+            bitmap = wxArtProvider::GetIcon(wxART_ERROR, wxART_MESSAGE_BOX);
+            break;
+
+        case wxICON_INFORMATION:
+            bitmap = wxArtProvider::GetIcon(wxART_INFORMATION, wxART_MESSAGE_BOX);
+            break;
+
+        case wxICON_WARNING:
+            bitmap = wxArtProvider::GetIcon(wxART_WARNING, wxART_MESSAGE_BOX);
+            break;
+
+        case wxICON_QUESTION:
+            bitmap = wxArtProvider::GetIcon(wxART_QUESTION, wxART_MESSAGE_BOX);
+            break;
+    }
+
+    wxStaticBitmap *info_icon = new wxStaticBitmap(this, wxID_ANY, bitmap);
+    icon_text->Add( info_icon, 0, wxCENTER );
+
+    // 2) text
+    icon_text->Add( CreateTextSizer( message ), 0, wxALIGN_TOP| wxLEFT, 10 );
+
+    topsizer->Add( icon_text, 1, wxCENTER | wxLEFT|wxRIGHT|wxTOP, 10 );
+    topsizer->Add(0,10);
+
+    // 3) buttons
+    int center_flag = wxEXPAND;
+    if (style & wxYES_NO)
+        center_flag = wxALIGN_CENTRE;
+    sizerBtn = CreateButtonSizer(style & ButtonSizerFlags);
+    if ( sizerBtn ) {
+        topsizer->Add(sizerBtn, 0, center_flag | wxALL, 10 );
+        sizerBtn->Show( false );
+    }
+
+    m_delay_sizer = new wxBoxSizer( wxHORIZONTAL);
+    m_delay_notif = new wxStaticText( this, -1, wxString::Format( _("Please standby %d seconds"), delay / 1000 ) );
+    m_delay_sizer->Add( m_delay_notif, 0, center_flag | wxALL, 10 );
+    topsizer-> Add( m_delay_sizer );
+
+
+    SetAutoLayout( true );
+    SetSizer( topsizer );
+
+    topsizer->SetSizeHints( this );
+    topsizer->Fit( this );
+    /*
+    wxSize size( GetSize() );
+    if (size.x > size.y*3/2)
+    {
+        size.x = size.y*3/2;
+        SetSize( size );
+    }
+    */
+    Centre( wxBOTH | wxCENTER_FRAME);
+
+    wxWindowID delay_timerID = wxNewId();
+    wxWindowID display_timerID = wxNewId();
+    m_delay_timer.SetOwner( this, delay_timerID );
+    m_display_timer.SetOwner( this, display_timerID );
+    Connect( delay_timerID, wxEVT_TIMER, wxTimerEventHandler( TimedMessageBox::OnUnlock) );
+    Connect( display_timerID, wxEVT_TIMER, wxTimerEventHandler( TimedMessageBox::OnUpdate ) );
+    m_delay_timer.Start( m_delay, wxTIMER_ONE_SHOT );
+    m_display_timer.Start( m_update_interval, wxTIMER_CONTINUOUS );
+/***************************************************************************************************/
+}
+
+TimedMessageBox::~TimedMessageBox()
+{
+}
+
+void TimedMessageBox::OnOptionsNo(wxCommandEvent& event)
+{
+   EndModal(wxID_NO);
+}
+
+void TimedMessageBox::OnUpdate( wxTimerEvent& evt )
+{
+    m_display_hits++;
+    int remainder = ( m_delay - ( m_display_hits * m_update_interval ) ) / 1000;
+    m_delay_notif->SetLabel( wxString::Format( _("Please standby %d seconds"), remainder ) );
+}
+
+void TimedMessageBox::OnClose( wxCloseEvent& evt )
+{
+    if ( !m_delay_timer.IsRunning() )
+        Close();
+}
+
+void TimedMessageBox::OnUnlock( wxTimerEvent& evt )
+{
+    m_delay_sizer->Show( false );
+    sizerBtn->Show( true );
+    topsizer->SetSizeHints( this );
+    topsizer->Fit( this );
+    Layout();
+}
diff --git a/src/settings++/custom_dialogs.h b/src/utils/customdialogs.h
similarity index 78%
rename from src/settings++/custom_dialogs.h
rename to src/utils/customdialogs.h
index 4161ccc..27b6a09 100644
--- a/src/settings++/custom_dialogs.h
+++ b/src/utils/customdialogs.h
@@ -2,6 +2,11 @@
 #define CUSTOM_MSG_BOX_H_
 
 #include <wx/msgdlg.h>
+#include <wx/defs.h>
+#include <wx/dialog.h>
+#include <wx/timer.h>
+#include <wx/panel.h>
+
 
 const unsigned SL_MAIN_ICON = 1;
 const unsigned SS_MAIN_ICON = 2;
@@ -12,10 +17,12 @@ class wxWindow;
 class wxPoint;
 class wxString;
 class wxTextCtrl;
+class wxStaticText;
 class wxCommandEvent;
 class wxCloseEvent;
 class wxBoxSizer;
 class wxListCtrl;
+class wxGauge;
 
 #define SL_MAIN_WINDOW_PTR CustomMessageBox::getLobbypointer()
 #define SE_FRAME_PTR CustomMessageBox::getSettingspointer()
@@ -60,6 +67,20 @@ void mutelistWindow( const wxString& message,
         const wxString& caption = _T("Mutelist"),
         long style = wxOK|wxICON_INFORMATION,  const int x = -1, const int y = -1 );
 
+/** \brief utlity function to display modal messagebox, closing is denied until timer ran down
+ * \return wxOK|wxCANCEL|wxYES|wxNO according to option chosen
+ */
+int timedMessageBox(int whichIcon , const wxString& message,
+        const wxString& caption = wxMessageBoxCaptionStr, unsigned int delay = 3000, // miliseconds
+        long style = wxOK|wxICON_INFORMATION,  const int x = -1, const int y = -1 );
+
+/** \brief same as timedMessageBox, but not Modal --> no return val
+ * \return wxOK|wxCANCEL|wxYES|wxNO according to option chosen
+ */
+void timedMessageBoxNoModal(int whichIcon , const wxString& message,
+        const wxString& caption = wxMessageBoxCaptionStr, unsigned int delay = 3000, // miliseconds
+        long style = wxOK|wxICON_INFORMATION,  const int x = -1, const int y = -1 );
+
 //! cleanup
 void freeStaticBox();
 
@@ -84,6 +105,37 @@ protected:
 
 };
 
+/** \brief MessageBox variant with timer
+ */
+class TimedMessageBox : public wxDialog
+{
+public:
+	TimedMessageBox(wxIcon* icon ,wxWindow *parent, const wxString& message,
+	        const wxString& caption = wxMessageBoxCaptionStr,
+	        unsigned int delay = 3000, // miliseconds
+	        long style = wxOK|wxICON_INFORMATION, const wxPoint& pos = wxDefaultPosition);
+	virtual ~TimedMessageBox();
+
+    void OnOptionsNo(wxCommandEvent& event);
+
+protected:
+    const int m_delay;
+    wxSizer* sizerBtn;
+    wxSizer* topsizer;
+    wxSizer* m_delay_sizer;
+    wxStaticText* m_delay_notif;
+    wxTimer m_delay_timer;
+    wxTimer m_display_timer;
+    unsigned int m_display_hits;
+    static const unsigned int m_update_interval = 500;
+    void OnUpdate( wxTimerEvent& evt );
+    void OnUnlock( wxTimerEvent& evt );
+    void OnClose( wxCloseEvent& evt );
+
+    DECLARE_EVENT_TABLE()
+
+};
+
 /** \brief used to display server messages when no chatwindow has focus
  */
 class ServerMessageBox : public wxDialog
@@ -175,6 +227,7 @@ int GetSingleChoiceIndex( const wxString& message,
                             int y = wxDefaultCoord,
                             bool centre = true );
 
+
 #endif /*CUSTOM_MSG_DLG_H_*/
 
 /**
diff --git a/src/utils/events.h b/src/utils/events.h
new file mode 100644
index 0000000..375a85c
--- /dev/null
+++ b/src/utils/events.h
@@ -0,0 +1,218 @@
+#ifndef EVENTS_H_INCLUDED
+#define EVENTS_H_INCLUDED
+
+#include <assert.h>
+
+#ifndef my_assert
+#define my_assert(x) assert(x)
+#endif
+
+/// Double linked cyclic list implementation.
+/// Beware! When a node is copied (duplicated), the copy is inserted after original into the list!
+/// This is done to make it work when you're storing nodes in some container which invokes copy constructor on components.
+class ListNodeBare {
+	public:
+
+		ListNodeBare * prev;
+		ListNodeBare * next;// first and last for holder.
+		inline void ConnectNextTo( ListNodeBare *a ) {/// connecting next to itself is equivalent to disconnect.
+			Disconnect();
+			next = a->next;
+			prev = a;
+			next->prev = this;
+			prev->next = this;
+		};
+		inline void ConnectPrevTo( ListNodeBare *a ) {/// connecting prev to itself is equivalent to disconnect.
+			Disconnect();
+			next = a;
+			prev = a->prev;
+			next->prev = this;
+			prev->next = this;
+		};
+		inline void StepNext() {/// moves itself forward in the ring
+			ListNodeBare *a = next;
+
+			next->prev = prev;/// disconnect itself
+			prev->next = next;
+
+			next = a->next;/// reconnect itself after next
+			prev = a;
+			next->prev = this;
+			prev->next = this;
+		}
+		inline void StepPrev() {/// moves itself backward in the ring
+			ListNodeBare *a = prev;
+
+			next->prev = prev;/// disconnect itself
+			prev->next = next;
+
+			next = a;/// reconnect itself before prev
+			prev = a->prev;
+			next->prev = this;
+			prev->next = this;
+		}
+
+		inline void SanityCheck() {
+			my_assert( prev != 0 );
+			my_assert( next != 0 );
+			my_assert( prev->next == this );
+			my_assert( next->prev == this );
+		}
+
+		inline void Disconnect() {
+			if ( prev != this ) {//if we're connected
+				my_assert( prev != 0 );
+				my_assert( next != 0 );
+				my_assert( next != this );
+				next->prev = prev;
+				prev->next = next;
+				// short itself.
+				prev = this;
+				next = this;
+			} else {
+				// we're not connected,must be so on both ends.
+				my_assert( next == this );
+			};
+		};
+		ListNodeBare() {
+			prev = this;
+			next = this;
+		};
+		~ListNodeBare() {
+			Disconnect();
+		}
+
+		ListNodeBare( const ListNodeBare &a ) {
+			next = a.next;
+			prev = const_cast<ListNodeBare *>( &a );
+			next->prev = this;
+			prev->next = this;
+		}
+};
+
+/// A base class for event receivers
+template<class TParamType>
+class EventReceiverFuncBase: public ListNodeBare {
+	public:
+		virtual void OnEvent( TParamType param ) {};
+};
+
+/// use EventSender::SendEvent to send events.
+template<class TParamType>
+class EventSender: public EventReceiverFuncBase<TParamType> {
+	public:
+		void OnEvent( TParamType param ) {
+			/// you may want to put assert(0) here, or log a message.
+			/// This method is only called when you have multiple senders sharing same event list.
+			/// Which happens when you unnecessarily make a copy of sender.
+		};
+		void SendEvent( TParamType param ) {
+			//std::cout<<"SendEvent called "<<std::endl;
+			//ListNodeBare *pt=next;
+			ListNodeBare *end = static_cast<ListNodeBare *>( this );
+			//my_assert(pt->prev==end);
+			EventReceiverFuncBase<TParamType> iterator_node;
+			iterator_node.ConnectNextTo( end );
+			while ( iterator_node.next != end ) {
+
+				iterator_node.SanityCheck();
+
+				( static_cast<EventReceiverFuncBase<TParamType> *>( iterator_node.next ) )->OnEvent( param );
+				iterator_node.StepNext();
+			}
+		}
+};
+
+/// Use EventReceiverFunc<base_class, parameter_type, &base_class::method> to make event receiver adaptor
+template < class TReceiverType, class TParamType, void ( TReceiverType::*TMethod )( TParamType ) >
+class EventReceiverFunc: public EventReceiverFuncBase<TParamType>
+{
+		TReceiverType *receiver_obj;
+	public:
+		EventReceiverFunc( TReceiverType *receiver_obj_, EventSender<TParamType> *sender = 0 ):
+				receiver_obj( receiver_obj_ )
+		{
+			if ( sender ) {
+				ListNodeBare *a = static_cast<ListNodeBare *>( sender );
+				ListNodeBare::ConnectPrevTo( a );
+			}
+		}
+
+		void Connect( EventSender<TParamType> &sender ) {
+			Connect( &sender );
+		}
+
+		void Connect( EventSender<TParamType> *sender ) {
+			if ( sender ) {
+				ListNodeBare *a = static_cast<ListNodeBare *>( sender );
+				ListNodeBare::ConnectPrevTo( a );
+			} else {
+				ListNodeBare::Disconnect();
+			}
+		}
+
+		virtual void OnEvent( TParamType param ) {
+			if ( receiver_obj ) {
+				( receiver_obj->*TMethod )( param );/// TMethod is constant here at compile time, so chances are the call is inlined. It is faster than standard pointer-to-member function call.
+			}
+		}
+};
+
+/// Use EventReceiverFunc<base_class, parameter_type, &base_class::method> to make event receiver adaptor
+template < class TReceiverType, class TParamType, class TAuxParamType, void ( TReceiverType::*TMethod )( TParamType, TAuxParamType ) >
+class EventReceiverFuncAux: public EventReceiverFuncBase<TParamType>
+{
+		TReceiverType *receiver_obj;
+	public:
+		TAuxParamType aux_param;
+		EventReceiverFuncAux( TReceiverType *receiver_obj_, EventSender<TParamType> *sender = 0, TAuxParamType aux_param_ = TAuxParamType() ):
+				receiver_obj( receiver_obj_ ),
+				aux_param( aux_param_ )
+		{
+			if ( sender ) {
+				ListNodeBare *a = static_cast<ListNodeBare *>( sender );
+				ListNodeBare::ConnectPrevTo( a );
+			}
+		}
+
+		void Connect( EventSender<TParamType> &sender ) {
+			Connect( &sender );
+		}
+
+		void Connect( EventSender<TParamType> *sender ) {
+			if ( sender ) {
+				ListNodeBare *a = static_cast<ListNodeBare *>( sender );
+				ListNodeBare::ConnectPrevTo( a );
+			} else {
+				ListNodeBare::Disconnect();
+			}
+		}
+
+		virtual void OnEvent( TParamType param ) {
+			if ( receiver_obj ) {
+				( receiver_obj->*TMethod )( param, aux_param );/// TMethod is constant here at compile time, so chances are the call is inlined. It is faster than standard pointer-to-member function call.
+			}
+		}
+};
+
+
+
+#endif // EVENTS_H_INCLUDED
+
+/**
+    This file is part of SpringLobby,
+    Copyright (C) 2007-09
+
+    springsettings is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License version 2 as published by
+    the Free Software Foundation.
+
+    springsettings 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 SpringLobby.  If not, see <http://www.gnu.org/licenses/>.
+**/
+
diff --git a/src/utils/globalevents.cpp b/src/utils/globalevents.cpp
new file mode 100644
index 0000000..7438292
--- /dev/null
+++ b/src/utils/globalevents.cpp
@@ -0,0 +1,11 @@
+#include "globalevents.h"
+
+namespace GlobalEvents {
+
+    static std::map< GlobalEventsTypes, EventSender<GlobalEventData> > GlobalEvents;
+
+    EventSender<GlobalEventData> &GetGlobalEventSender( GlobalEventsTypes cmd )
+    {
+       return GlobalEvents[cmd];
+    }
+}
diff --git a/src/utils/globalevents.h b/src/utils/globalevents.h
new file mode 100644
index 0000000..83c59ca
--- /dev/null
+++ b/src/utils/globalevents.h
@@ -0,0 +1,22 @@
+#ifndef SPRINGLOBBY_HEADERGUARD_GLOBALEVENTS_H
+#define SPRINGLOBBY_HEADERGUARD_GLOBALEVENTS_H
+
+#include "events.h"
+
+#include <map>
+namespace GlobalEvents {
+    enum GlobalEventsTypes
+    {
+      OnUnitsyncFirstTimeLoad,
+      OnUnitsyncReloaded,
+      UnitSyncReloadRequest,
+      UpdateFinished,
+
+      OnTimerUpdates
+    };
+
+    typedef int GlobalEventData;
+
+    EventSender<GlobalEventData> &GetGlobalEventSender( GlobalEventsTypes cmd );
+}
+#endif // SPRINGLOBBY_HEADERGUARD_GLOBALEVENTS_H
diff --git a/src/utils/isink.h b/src/utils/isink.h
new file mode 100644
index 0000000..40b378a
--- /dev/null
+++ b/src/utils/isink.h
@@ -0,0 +1,48 @@
+#ifndef SPRINGLOBBY_HEADERGUARD_ISINK_H
+#define SPRINGLOBBY_HEADERGUARD_ISINK_H
+
+#include "globalevents.h"
+
+
+template <class Derived, class EventDataType = GlobalEvents::GlobalEventData >
+class UnitsyncReloadedSink {
+	protected:
+		Derived& asImp () { return static_cast<Derived&>(*this); }
+		const Derived& asImp () const { return static_cast<const Derived&>(*this); }
+
+		typedef UnitsyncReloadedSink<Derived,EventDataType>
+			BaseType;
+
+	public:
+		void OnUnitsyncReloaded( EventDataType data ) { asImp().OnUnitsyncReloaded( data ); }
+
+    protected:
+        typedef EventReceiverFunc<UnitsyncReloadedSink, EventDataType, &UnitsyncReloadedSink::OnUnitsyncReloaded>
+            EventReceiverFunction;
+        EventReceiverFunction OnUsync_reload;
+
+    public:
+		UnitsyncReloadedSink ()
+			: OnUsync_reload( this, &GetGlobalEventSender( GlobalEvents::OnUnitsyncReloaded ) )
+		{}
+};
+
+
+#endif // SPRINGLOBBY_HEADERGUARD_ISINK_H
+
+/**
+    This file is part of SpringLobby,
+    Copyright (C) 2007-09
+
+    SpringLobby is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License version 2 as published by
+    the Free Software Foundation.
+
+    SpringLobby 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 SpringLobby.  If not, see <http://www.gnu.org/licenses/>.
+**/
diff --git a/src/utils/math.h b/src/utils/math.h
index a821b0e..6faf282 100644
--- a/src/utils/math.h
+++ b/src/utils/math.h
@@ -4,7 +4,9 @@
 #include <algorithm>
 
 template <typename T> T clamp(const T var,const T min,const T max)
-{ return ( (var < min) ? min : ( var > max ) ? max : var ); }
+{
+    return ( (var < min) ? min : ( var > max ) ? max : var );
+}
 
 template<typename T>
 T min(T a, T b, T c)
diff --git a/src/utils/misc.cpp b/src/utils/misc.cpp
index 1dfa9d8..d65be5f 100644
--- a/src/utils/misc.cpp
+++ b/src/utils/misc.cpp
@@ -2,6 +2,7 @@
 #include "misc.h"
 
 #include "math.h"
+#include "../settings.h"
 
 #include <wx/string.h>
 #include <wx/arrstr.h>
@@ -55,5 +56,3 @@ wxString GetBestMatch(const wxArrayString& a, const wxString& s, double* distanc
     if (minDistanceIndex == -1) return _T("");
     return a[minDistanceIndex];
 }
-
-
diff --git a/src/utils/networkevents.cpp b/src/utils/networkevents.cpp
new file mode 100644
index 0000000..f874b0b
--- /dev/null
+++ b/src/utils/networkevents.cpp
@@ -0,0 +1,9 @@
+#include "networkevents.h"
+namespace NetworkEvents {
+    static std::map< NetworkEventsTypes, EventSender<NetworkEventData> > NetworkEvents;
+
+    EventSender<NetworkEventData> &GetNetworkEventSender( NetworkEventsTypes cmd )
+    {
+       return NetworkEvents[cmd];
+    }
+}
diff --git a/src/utils/networkevents.h b/src/utils/networkevents.h
new file mode 100644
index 0000000..51df7e0
--- /dev/null
+++ b/src/utils/networkevents.h
@@ -0,0 +1,16 @@
+#ifndef SPRINGLOBBY_HEADERGUARD_NETWORKEVENTS_H
+#define SPRINGLOBBY_HEADERGUARD_NETWORKEVENTS_H
+
+#include "events.h"
+
+#include <map>
+#include <wx/arrstr.h>
+namespace NetworkEvents {
+    typedef wxString NetworkEventsTypes;
+
+    typedef wxArrayString NetworkEventData;
+
+    EventSender<NetworkEventData> &GetNetworkEventSender( NetworkEventsTypes cmd );
+}
+#endif // SPRINGLOBBY_HEADERGUARD_NETWORKEVENTS_H
+
diff --git a/src/utils/platform.cpp b/src/utils/platform.cpp
index b8293bf..a81234c 100644
--- a/src/utils/platform.cpp
+++ b/src/utils/platform.cpp
@@ -250,7 +250,11 @@ int WinExecuteAdmin( const wxString& command, const wxString& params )
 
       shExecInfo.fMask = NULL;
       shExecInfo.hwnd = NULL;
-      shExecInfo.lpVerb = _T("runas");
+
+      //on XP this would open the real runas dialog, which apparently is its own wonder
+      //by default it has a checkbox enabled which makes sl unable to write to the working dir...
+      if ( IsUACenabled() )
+        shExecInfo.lpVerb = _T("runas");
 #ifdef _MSC_VER //some strange compiler stupidity going on here
       shExecInfo.lpFile = command.c_str();
       shExecInfo.lpParameters = params.c_str();
@@ -259,7 +263,6 @@ int WinExecuteAdmin( const wxString& command, const wxString& params )
       shExecInfo.lpParameters = params.wc_str();
 #endif
       shExecInfo.lpDirectory = NULL;
-      shExecInfo.nShow = SW_MAXIMIZE;
       shExecInfo.hInstApp = NULL;
 
       ShellExecuteEx(&shExecInfo);
diff --git a/src/utils/platform.h b/src/utils/platform.h
index 48a37c1..5f65a31 100644
--- a/src/utils/platform.h
+++ b/src/utils/platform.h
@@ -13,7 +13,7 @@ class wxLogChain;
 */
 bool CopyDir( wxString origin, wxString destination, bool overwrite = true);
 
-/** \brief execute command with admin temp eleveation **/
+/** \brief on vista execute command with admin temp eleveation, on earlier win it acts as "normal" shell execute **/
 int WinExecuteAdmin( const wxString& command, const wxString& params );
 
 //! returns false on !win, checks for regkey on win
diff --git a/src/utils/uievents.cpp b/src/utils/uievents.cpp
new file mode 100644
index 0000000..8096df6
--- /dev/null
+++ b/src/utils/uievents.cpp
@@ -0,0 +1,10 @@
+#include "uievents.h"
+
+namespace UiEvents {
+    static std::map< UiEventsTypes, EventSender<UiEventData> > UiEvents;
+
+    EventSender<UiEventData> &GetUiEventSender( UiEventsTypes cmd )
+    {
+       return UiEvents[cmd];
+    }
+}
diff --git a/src/utils/uievents.h b/src/utils/uievents.h
new file mode 100644
index 0000000..7fc8aef
--- /dev/null
+++ b/src/utils/uievents.h
@@ -0,0 +1,15 @@
+#ifndef SPRINGLOBBY_HEADERGUARD_UIEVENTS_H
+#define SPRINGLOBBY_HEADERGUARD_UIEVENTS_H
+
+#include "events.h"
+#include <wx/arrstr.h>
+#include <map>
+
+namespace UiEvents {
+    typedef wxString UiEventsTypes;
+
+    typedef wxArrayString UiEventData;
+
+    EventSender<UiEventData> &GetUiEventSender( UiEventsTypes cmd );
+}
+#endif // SPRINGLOBBY_HEADERGUARD_UIEVENTS_H
diff --git a/src/widgets/downloadlistctrl.cpp b/src/widgets/downloadlistctrl.cpp
index 7c603ad..1f0cb43 100644
--- a/src/widgets/downloadlistctrl.cpp
+++ b/src/widgets/downloadlistctrl.cpp
@@ -68,7 +68,7 @@ void WidgetDownloadListctrl::AddWidget( const Widget widget )
 
 wxString WidgetDownloadListctrl::GetItemText(long item, long column) const
 {
-    if ( item > m_data.size() || item < 0 )
+    if ( item > long(m_data.size()) || item < 0 )
         return wxEmptyString;
 
     const Widget& widget = m_data[item];
diff --git a/src/widgets/infopanel.cpp b/src/widgets/infopanel.cpp
index 5d2b7ce..61c901b 100644
--- a/src/widgets/infopanel.cpp
+++ b/src/widgets/infopanel.cpp
@@ -16,7 +16,7 @@
 #include "../aui/artprovider.h"
 #include "../aui/slbook.h"
 #include "../utils/conversion.h"
-#include "../settings++/custom_dialogs.h"
+#include "../utils/customdialogs.h"
 #include "../Helper/imageviewer.h"
 #include "../Helper/slhtmlwindow.h"
 
@@ -115,7 +115,7 @@ void WidgetInfoPanel::Create()
     while ( tk.HasMoreTokens() )
         m_changelog->AppendText( tk.GetNextToken() );
 
-    m_ext_info = new SLNotebook(  this, -1, wxDefaultPosition, wxDefaultSize, wxAUI_NB_LEFT );
+    m_ext_info = new SLNotebook(  this, _T("m_ext_info"), -1, wxDefaultPosition, wxDefaultSize, wxAUI_NB_LEFT );
     m_ext_info->SetArtProvider(new SLArtProvider);
     m_ext_info->AddPage( m_desc, _("Description") , true );
     m_ext_info->AddPage( m_changelog, _("Changelog") , false );

-- 
single/multiplayer lobby for the Spring RTS engine



More information about the Pkg-games-commits mailing list