[Pkg-cli-apps-commits] [SCM] smuxi branch, master, updated. debian/0.8.10-3-7-g0f6d47b
Mirco Bauer
meebey at meebey.net
Wed May 15 19:42:55 UTC 2013
The following commit has been merged in the master branch:
commit a014cb4b7cca4b5e37c9e55bab6037f5946ed893
Author: Mirco Bauer <meebey at meebey.net>
Date: Wed May 15 20:06:30 2013 +0200
Imported Upstream version 0.8.10.2
diff --git a/Makefile.am b/Makefile.am
index d05d297..f40ba98 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -60,7 +60,7 @@ update-pot:
done
update-transifex:
- tx pull -l ca,da,de,en_GB,es,fi,fr,hr,pl,ru,sk,sv,tr,ur,zh_CN
+ tx pull -l ca,da,de,en_GB,es,fi,fr,hr,nb_NO,pl,ru,sk,sv,tr,ur,zh_CN
mail-po: update-po
for PODIR in $(PODIRS); do \
@@ -73,7 +73,7 @@ mail-po: update-po
--from="Mirco Bauer <meebey at meebey.net>" \
--smtp=booster.qnetp.net \
--podir=$$PODIR \
- --langs=cs,it,pt; \
+ --langs=cs,es_AR,it,pt; \
done
call-po: update-po
@@ -111,8 +111,6 @@ WIN32_FILES = \
$(LIB_DIR)/Mono.Posix.dll \
$(LIB_DIR)/Nini.dll \
$(LIB_DIR)/log4net.dll \
- $(WIN32_LIB_DIR)/MonoPosixHelper.dll \
- $(WIN32_LIB_DIR)/zlib1.dll \
$(WIN32_LIB_DIR)/plink.exe \
$(WIN32_LIB_DIR)/fixedsys500c/Fixedsys500c.ttf \
$(BUILD_DIR)/smuxi-common.dll \
diff --git a/Makefile.in b/Makefile.in
index 14fb93b..36567ac 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -399,8 +399,6 @@ WIN32_FILES = \
$(LIB_DIR)/Mono.Posix.dll \
$(LIB_DIR)/Nini.dll \
$(LIB_DIR)/log4net.dll \
- $(WIN32_LIB_DIR)/MonoPosixHelper.dll \
- $(WIN32_LIB_DIR)/zlib1.dll \
$(WIN32_LIB_DIR)/plink.exe \
$(WIN32_LIB_DIR)/fixedsys500c/Fixedsys500c.ttf \
$(BUILD_DIR)/smuxi-common.dll \
@@ -755,7 +753,7 @@ distcheck: dist
*.zip*) \
unzip $(distdir).zip ;;\
esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
+ chmod -R a-w $(distdir); chmod u+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
@@ -961,7 +959,7 @@ update-pot:
done
update-transifex:
- tx pull -l ca,da,de,en_GB,es,fi,fr,hr,pl,ru,sk,sv,tr,ur,zh_CN
+ tx pull -l ca,da,de,en_GB,es,fi,fr,hr,nb_NO,pl,ru,sk,sv,tr,ur,zh_CN
mail-po: update-po
for PODIR in $(PODIRS); do \
@@ -974,7 +972,7 @@ mail-po: update-po
--from="Mirco Bauer <meebey at meebey.net>" \
--smtp=booster.qnetp.net \
--podir=$$PODIR \
- --langs=cs,it,pt; \
+ --langs=cs,es_AR,it,pt; \
done
call-po: update-po
diff --git a/aclocal.m4 b/aclocal.m4
index f9cfdfc..543fdbc 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11.5 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
@@ -3100,7 +3100,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
LD="${LD-ld} -m elf_i386_fbsd"
;;
x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
+ case `/usr/bin/file conftest.o` in
+ *x86-64*)
+ LD="${LD-ld} -m elf32_x86_64"
+ ;;
+ *)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ esac
;;
ppc64-*linux*|powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
@@ -3464,7 +3471,8 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
;;
*)
lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
+ if test -n "$lt_cv_sys_max_cmd_len" && \
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
else
@@ -11124,7 +11132,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11.5], [],
+m4_if([$1], [1.11.6], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -11140,7 +11148,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.5])dnl
+[AM_AUTOMAKE_VERSION([1.11.6])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/configure b/configure
index 6952aa8..dc2621d 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.69 for smuxi 0.8.10.
+# Generated by GNU Autoconf 2.69 for smuxi 0.8.10.2.
#
# Report bugs to <http://www.smuxi.org/issues/new>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='smuxi'
PACKAGE_TARNAME='smuxi'
-PACKAGE_VERSION='0.8.10'
-PACKAGE_STRING='smuxi 0.8.10'
+PACKAGE_VERSION='0.8.10.2'
+PACKAGE_STRING='smuxi 0.8.10.2'
PACKAGE_BUGREPORT='http://www.smuxi.org/issues/new'
PACKAGE_URL=''
@@ -703,10 +703,10 @@ BUNDLE_DB4O_FALSE
BUNDLE_DB4O_TRUE
DB4O_LIBS
DB4O_CFLAGS
-NINI_LIBS
-NINI_CFLAGS
BUNDLE_NINI_FALSE
BUNDLE_NINI_TRUE
+NINI_LIBS
+NINI_CFLAGS
LOG4NET_LIBS
LOG4NET_CFLAGS
XBUILD_FLAGS
@@ -1528,7 +1528,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 smuxi 0.8.10 to adapt to many kinds of systems.
+\`configure' configures smuxi 0.8.10.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1598,7 +1598,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of smuxi 0.8.10:";;
+ short | recursive ) echo "Configuration of smuxi 0.8.10.2:";;
esac
cat <<\_ACEOF
@@ -1800,7 +1800,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-smuxi configure 0.8.10
+smuxi configure 0.8.10.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2078,7 +2078,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 smuxi $as_me 0.8.10, which was
+It was created by smuxi $as_me 0.8.10.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2896,7 +2896,7 @@ fi
# Define the identity of the package.
PACKAGE='smuxi'
- VERSION='0.8.10'
+ VERSION='0.8.10.2'
cat >>confdefs.h <<_ACEOF
@@ -4984,7 +4984,8 @@ else
;;
*)
lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
+ if test -n "$lt_cv_sys_max_cmd_len" && \
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
else
@@ -6521,7 +6522,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
LD="${LD-ld} -m elf_i386_fbsd"
;;
x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
+ case `/usr/bin/file conftest.o` in
+ *x86-64*)
+ LD="${LD-ld} -m elf32_x86_64"
+ ;;
+ *)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ esac
;;
ppc64-*linux*|powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
@@ -14953,16 +14961,9 @@ if test -n "$PKG_CONFIG" && \
else
FOUND_NINI=no
fi
+nini_files=
if test "x$FOUND_NINI" = "xyes"; then
nini_files=`pkg-config --variable=Libraries nini-1.1`
- if test -n "$nini_files"; then
- BUNDLE_NINI_TRUE=
- BUNDLE_NINI_FALSE='#'
-else
- BUNDLE_NINI_TRUE='#'
- BUNDLE_NINI_FALSE=
-fi
-
if test -z "$nini_files" ; then
# Debian-based distros place Nini into the GAC
@@ -15154,6 +15155,14 @@ $as_echo "yes" >&6; }
fi
fi
+ if test -n "$nini_files"; then
+ BUNDLE_NINI_TRUE=
+ BUNDLE_NINI_FALSE='#'
+else
+ BUNDLE_NINI_TRUE='#'
+ BUNDLE_NINI_FALSE=
+fi
+
# Check whether --with-db4o was given.
@@ -17813,7 +17822,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by smuxi $as_me 0.8.10, which was
+This file was extended by smuxi $as_me 0.8.10.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -17870,7 +17879,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-smuxi config.status 0.8.10
+smuxi config.status 0.8.10.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index ff51366..3c05033 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_PREREQ([2.54])
-AC_INIT([smuxi], [0.8.10], [http://www.smuxi.org/issues/new])
+AC_INIT([smuxi], [0.8.10.2], [http://www.smuxi.org/issues/new])
# using the --foreign option makes automake less strict about GNU policy
AC_CONFIG_MACRO_DIR([.])
AM_INIT_AUTOMAKE([foreign tar-ustar])
@@ -191,9 +191,9 @@ AC_SUBST(XBUILD_FLAGS)
PKG_CHECK_MODULES([LOG4NET], [log4net])
PKG_CHECK_EXISTS([nini-1.1], FOUND_NINI=yes, FOUND_NINI=no)
+nini_files=
if test "x$FOUND_NINI" = "xyes"; then
nini_files=`pkg-config --variable=Libraries nini-1.1`
- AM_CONDITIONAL([BUNDLE_NINI], test -n "$nini_files")
if test -z "$nini_files" ; then
# Debian-based distros place Nini into the GAC
PKG_CHECK_MODULES([NINI], [nini-1.1])
@@ -204,6 +204,7 @@ if test "x$FOUND_NINI" = "xyes"; then
else
PKG_CHECK_MODULES([NINI], [nini >= 1.1])
fi
+AM_CONDITIONAL([BUNDLE_NINI], test -n "$nini_files")
AC_ARG_WITH([db4o],
AC_HELP_STRING([--with-db4o=auto|system|included], [Use system or included db4o @<:@default=auto@:>@]),
diff --git a/lib/Makefile.in b/lib/Makefile.in
index 683d80f..6c8557b 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/lib/SmartIrc4net/Makefile.in b/lib/SmartIrc4net/Makefile.in
index 652f827..7f6d996 100644
--- a/lib/SmartIrc4net/Makefile.in
+++ b/lib/SmartIrc4net/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -528,7 +528,7 @@ distcheck: dist
*.zip*) \
unzip $(distdir).zip ;;\
esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
+ chmod -R a-w $(distdir); chmod u+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
diff --git a/lib/SmartIrc4net/aclocal.m4 b/lib/SmartIrc4net/aclocal.m4
index 116159c..0ebcde2 100644
--- a/lib/SmartIrc4net/aclocal.m4
+++ b/lib/SmartIrc4net/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.11.5 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
@@ -198,7 +198,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11.5], [],
+m4_if([$1], [1.11.6], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -214,7 +214,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.5])dnl
+[AM_AUTOMAKE_VERSION([1.11.6])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/lib/SmartIrc4net/src/IrcClient/IrcClient.cs b/lib/SmartIrc4net/src/IrcClient/IrcClient.cs
index 9a500b1..9a8c441 100644
--- a/lib/SmartIrc4net/src/IrcClient/IrcClient.cs
+++ b/lib/SmartIrc4net/src/IrcClient/IrcClient.cs
@@ -618,7 +618,7 @@ namespace Meebey.SmartIrc4net
/// <returns>True if nickname belongs to you</returns>
public bool IsMe(string nickname)
{
- return (Nickname == nickname);
+ return String.Compare(Nickname, nickname, StringComparison.OrdinalIgnoreCase) == 0;
}
/// <summary>
@@ -1202,7 +1202,7 @@ namespace Meebey.SmartIrc4net
found = _ModeRegex.Match(rawline);
if (found.Success) {
- if (found.Groups[1].Value == _Nickname) {
+ if (IsMe(found.Groups[1].Value)) {
return ReceiveType.UserModeChange;
} else {
return ReceiveType.ChannelModeChange;
@@ -1412,7 +1412,7 @@ namespace Meebey.SmartIrc4net
parametersEnumerator.MoveNext();
if (add) {
- if (ActiveChannelSyncing) {
+ if (ActiveChannelSyncing && channel != null) {
// sanity check
if (GetChannelUser(ircdata.Channel, temp) != null) {
// update the op list
@@ -1445,7 +1445,7 @@ namespace Meebey.SmartIrc4net
}
}
if (remove) {
- if (ActiveChannelSyncing) {
+ if (ActiveChannelSyncing && channel != null) {
// sanity check
if (GetChannelUser(ircdata.Channel, temp) != null) {
// update the op list
@@ -1477,7 +1477,7 @@ namespace Meebey.SmartIrc4net
parametersEnumerator.MoveNext();
if (add) {
- if (ActiveChannelSyncing) {
+ if (ActiveChannelSyncing && channel != null) {
// sanity check
if (GetChannelUser(ircdata.Channel, temp) != null) {
// update the halfop list
@@ -1510,7 +1510,7 @@ namespace Meebey.SmartIrc4net
}
}
if (remove) {
- if (ActiveChannelSyncing) {
+ if (ActiveChannelSyncing && channel != null) {
// sanity check
if (GetChannelUser(ircdata.Channel, temp) != null) {
// update the halfop list
@@ -1542,7 +1542,7 @@ namespace Meebey.SmartIrc4net
parametersEnumerator.MoveNext();
if (add) {
- if (ActiveChannelSyncing) {
+ if (ActiveChannelSyncing && channel != null) {
// sanity check
if (GetChannelUser(ircdata.Channel, temp) != null) {
// update the voice list
@@ -1575,7 +1575,7 @@ namespace Meebey.SmartIrc4net
}
}
if (remove) {
- if (ActiveChannelSyncing) {
+ if (ActiveChannelSyncing && channel != null) {
// sanity check
if (GetChannelUser(ircdata.Channel, temp) != null) {
// update the voice list
@@ -1605,7 +1605,7 @@ namespace Meebey.SmartIrc4net
temp = (string)parametersEnumerator.Current;
parametersEnumerator.MoveNext();
if (add) {
- if (ActiveChannelSyncing) {
+ if (ActiveChannelSyncing && channel != null) {
try {
channel.Bans.Add(temp);
#if LOG4NET
@@ -1622,7 +1622,7 @@ namespace Meebey.SmartIrc4net
}
}
if (remove) {
- if (ActiveChannelSyncing) {
+ if (ActiveChannelSyncing && channel != null) {
channel.Bans.Remove(temp);
#if LOG4NET
Logger.ChannelSyncing.Debug("removed ban: "+temp+" from: "+ircdata.Channel);
@@ -1637,7 +1637,7 @@ namespace Meebey.SmartIrc4net
temp = (string)parametersEnumerator.Current;
parametersEnumerator.MoveNext();
if (add) {
- if (ActiveChannelSyncing) {
+ if (ActiveChannelSyncing && channel != null) {
try {
channel.UserLimit = int.Parse(temp);
#if LOG4NET
@@ -1651,7 +1651,7 @@ namespace Meebey.SmartIrc4net
}
}
if (remove) {
- if (ActiveChannelSyncing) {
+ if (ActiveChannelSyncing && channel != null) {
channel.UserLimit = 0;
#if LOG4NET
Logger.ChannelSyncing.Debug("removed user limit for: "+ircdata.Channel);
@@ -1663,7 +1663,7 @@ namespace Meebey.SmartIrc4net
temp = (string)parametersEnumerator.Current;
parametersEnumerator.MoveNext();
if (add) {
- if (ActiveChannelSyncing) {
+ if (ActiveChannelSyncing && channel != null) {
channel.Key = temp;
#if LOG4NET
Logger.ChannelSyncing.Debug("stored channel key for: "+ircdata.Channel);
@@ -1671,7 +1671,7 @@ namespace Meebey.SmartIrc4net
}
}
if (remove) {
- if (ActiveChannelSyncing) {
+ if (ActiveChannelSyncing && channel != null) {
channel.Key = "";
#if LOG4NET
Logger.ChannelSyncing.Debug("removed channel key for: "+ircdata.Channel);
@@ -1681,7 +1681,7 @@ namespace Meebey.SmartIrc4net
break;
default:
if (add) {
- if (ActiveChannelSyncing) {
+ if (ActiveChannelSyncing && channel != null) {
if (channel.Mode.IndexOf(mode[i]) == -1) {
channel.Mode += mode[i];
#if LOG4NET
@@ -1691,7 +1691,7 @@ namespace Meebey.SmartIrc4net
}
}
if (remove) {
- if (ActiveChannelSyncing) {
+ if (ActiveChannelSyncing && channel != null) {
channel.Mode = channel.Mode.Replace(mode[i].ToString(), String.Empty);
#if LOG4NET
Logger.ChannelSyncing.Debug("removed channel mode ("+mode[i]+") for: "+ircdata.Channel);
diff --git a/lib/SmartIrc4net/src/IrcClient/WhoInfo.cs b/lib/SmartIrc4net/src/IrcClient/WhoInfo.cs
index a2a456a..dee028d 100644
--- a/lib/SmartIrc4net/src/IrcClient/WhoInfo.cs
+++ b/lib/SmartIrc4net/src/IrcClient/WhoInfo.cs
@@ -132,22 +132,22 @@ namespace Meebey.SmartIrc4net
whoInfo.f_Server = data.RawMessageArray[6];
whoInfo.f_Nick = data.RawMessageArray[7];
- // realname field can be empty on bugged IRCds like InspIRCd-2.0
- if (data.MessageArray == null) {
+ // HACK: realname field can be empty on bugged IRCds like InspIRCd-2.0
+ // :topiary.voxanon.net 352 Mirco #anonplusradio CpGc igot.avhost Voxanon CpGc H
+ if (data.MessageArray == null || data.MessageArray.Length < 2) {
whoInfo.f_Realname = String.Empty;
} else {
- // skip hop count
- whoInfo.f_Realname = String.Join(" ", data.MessageArray, 1, data.MessageArray.Length - 1);
- }
-
- int hopcount = 0;
- string hopcountStr = data.MessageArray[0];
- try {
- hopcount = int.Parse(hopcountStr);
- } catch (FormatException ex) {
+ int hopcount = 0;
+ var hopcountStr = data.MessageArray[0];
+ if (Int32.TryParse(hopcountStr, out hopcount)) {
+ whoInfo.f_HopCount = hopcount;
+ } else {
#if LOG4NET
- Logger.MessageParser.Warn("Parse(): couldn't parse (as int): '" + hopcountStr + "'", ex);
+ Logger.MessageParser.Warn("Parse(): couldn't parse hopcount (as int): '" + hopcountStr + "'");
#endif
+ }
+ // skip hop count
+ whoInfo.f_Realname = String.Join(" ", data.MessageArray, 1, data.MessageArray.Length - 1);
}
string usermode = data.RawMessageArray[8];
diff --git a/lib/SmartIrc4net/src/IrcConnection/IrcConnection.cs b/lib/SmartIrc4net/src/IrcConnection/IrcConnection.cs
index c58756b..3a1479f 100644
--- a/lib/SmartIrc4net/src/IrcConnection/IrcConnection.cs
+++ b/lib/SmartIrc4net/src/IrcConnection/IrcConnection.cs
@@ -921,8 +921,10 @@ namespace Meebey.SmartIrc4net
{
if (IsConnected) {
try {
- _Writer.Write(data + "\r\n");
- _Writer.Flush();
+ lock (_Writer) {
+ _Writer.Write(data + "\r\n");
+ _Writer.Flush();
+ }
} catch (IOException) {
#if LOG4NET
Logger.Socket.Warn("sending data failed, connection lost");
@@ -1422,7 +1424,7 @@ namespace Meebey.SmartIrc4net
#endif
try {
while (_Connection.IsConnected ) {
- Thread.Sleep(_Connection._IdleWorkerInterval);
+ Thread.Sleep(_Connection._IdleWorkerInterval * 1000);
// only send active pings if we are registered
if (!_Connection.IsRegistered) {
diff --git a/lib/SmartIrc4net/src/Makefile.in b/lib/SmartIrc4net/src/Makefile.in
index 0766f08..5f23c78 100644
--- a/lib/SmartIrc4net/src/Makefile.in
+++ b/lib/SmartIrc4net/src/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/lib/Twitterizer/Twitterizer2/Twitterizer2.csproj b/lib/Twitterizer/Twitterizer2/Twitterizer2.csproj
index 3795d72..a726cb1 100644
--- a/lib/Twitterizer/Twitterizer2/Twitterizer2.csproj
+++ b/lib/Twitterizer/Twitterizer2/Twitterizer2.csproj
@@ -99,6 +99,7 @@
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
+ <Reference Include="System.Core" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\CommonAssemblyInfo.cs">
diff --git a/ltmain.sh b/ltmain.sh
index 33f642a..499e473 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -70,7 +70,7 @@
# compiler: $LTCC
# compiler flags: $LTCFLAGS
# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.1
+# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.2
# automake: $automake_version
# autoconf: $autoconf_version
#
@@ -80,7 +80,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.1"
+VERSION="2.4.2 Debian-2.4.2-1.2"
TIMESTAMP=""
package_revision=1.3337
diff --git a/po-Engine-IRC/LINGUAS b/po-Engine-IRC/LINGUAS
index cdf2d5f..aa7a575 100644
--- a/po-Engine-IRC/LINGUAS
+++ b/po-Engine-IRC/LINGUAS
@@ -8,6 +8,7 @@ es_AR
fr
hr
it
+nb_NO
pl
pt
ru
diff --git a/po-Engine-IRC/zh_CN.po b/po-Engine-IRC/nb_NO.po
similarity index 78%
copy from po-Engine-IRC/zh_CN.po
copy to po-Engine-IRC/nb_NO.po
index 3d77f3c..f99e7fe 100644
--- a/po-Engine-IRC/zh_CN.po
+++ b/po-Engine-IRC/nb_NO.po
@@ -3,125 +3,126 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <arianfaol at gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: Smuxi - IRC client\n"
"Report-Msgid-Bugs-To: http://www.smuxi.org/issues\n"
"POT-Creation-Date: 2011-12-29 09:20+0100\n"
-"PO-Revision-Date: 2010-11-30 04:12+0000\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Language-Team: Chinese (China) (http://www.transifex.net/projects/p/smuxi/team/zh_CN/)\n"
+"PO-Revision-Date: 2012-07-25 08:25+0000\n"
+"Last-Translator: Mirco Bauer <meebey at meebey.net>\n"
+"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/smuxi/language/nb_NO/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: zh_CN\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Language: nb_NO\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#. TRANSLATOR: do NOT change the position of {0}!
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:245
#, csharp-format
msgid "{0} invites you to {1}"
-msgstr "{0} 邀请您加入 {1}"
+msgstr "{0} inviterer deg til {1}"
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:276
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1519
msgid "away"
-msgstr "离开"
+msgstr "ikke tilstede"
#. TRANSLATOR: {0} is the amount of seconds
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:282
#, csharp-format
msgid "lag: {0} seconds"
-msgstr "延后: {0} 秒"
+msgstr "forsinkelse: {0} sekunder."
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:288
msgid "not connected"
-msgstr "未连接"
+msgstr "ikke koblet til"
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:351
#, csharp-format
msgid "Connecting to {0} port {1}..."
-msgstr "正在连接到 {0} 端口 {1}..."
+msgstr "Kobler til {0} port {1}..."
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:357
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:463
#, csharp-format
msgid "Connection to {0} established"
-msgstr "到 {0} 的连接已建立"
+msgstr "kobling til {0} oprettet"
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:360
msgid "Logging in..."
-msgstr "正在登录..."
+msgstr "logger in..."
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:394
msgid "Connection failed!"
-msgstr "连接失败!"
+msgstr "Tilkobling mislyktes!"
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:395
msgid "Connection failed! Reason: "
-msgstr "连接失败! 原因: "
+msgstr "Tilkobling mislyktes! Årsak: "
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:404
msgid "Disconnecting..."
-msgstr "正在断开连接..."
+msgstr "Kobler i fra..."
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:407
#, csharp-format
msgid "Disconnecting from {0}..."
-msgstr "正在从 {0} 断开连接..."
+msgstr "Kobler i fra {0}"
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:412
#, csharp-format
msgid "Disconnected from {0}"
-msgstr "已从 {0} 断开连接"
+msgstr "Koblet i fra {0}"
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:415
msgid "Connection closed"
-msgstr "连接已关闭"
+msgstr "Tilkobling lukket."
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:420
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:477
msgid "Not connected"
-msgstr "未连接"
+msgstr "Ikke koblet til"
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:449
msgid "Reconnecting..."
-msgstr "正在重新连接..."
+msgstr "Kobler til på nytt..."
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:457
#, csharp-format
msgid "Reconnecting to {0}..."
-msgstr "正在重新连接到 {0}..."
+msgstr "Kobler til {0} på nytt..."
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:471
msgid "Reconnect Error"
-msgstr "重新连接出错"
+msgstr ""
#. TRANSLATOR: this line is used as label / category for a
#. list of commands below
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:875
msgid "IrcProtocolManager Commands"
-msgstr "IrcProtocolManager 命令"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:943
#, csharp-format
msgid "Invalid port: {0}"
-msgstr "端口无效: {0}"
+msgstr "Ugyldig port: {0}"
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1047
#, csharp-format
msgid "Queuing joins: {0}"
-msgstr "正等待加入: {0}"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1061
#, csharp-format
msgid "Already joined to channel: {0}. Type /window {0} to switch to it."
-msgstr "已经加入了频道: {0}. 输入 /window {0} 切换过去。"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1096
#, csharp-format
msgid "Active joins: {0} - Queued joins: {1}"
-msgstr "已经加入: {0} - 等待加入: {1}"
+msgstr ""
#. TRANSLATORS: final message will look like this:
#. Joining: #chan1 - Remaining active joins: #chan2 / queued joins: #chan3
@@ -129,115 +130,115 @@ msgstr "已经加入: {0} - 等待加入: {1}"
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1150
#, csharp-format
msgid "Joining: {0}"
-msgstr "正在加入: {0}"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1121
msgid "Remaining"
-msgstr "剩余"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1126
#, csharp-format
msgid "active joins: {0}"
-msgstr "已经加入: {0}"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1135
#, csharp-format
msgid "queued joins: {0}"
-msgstr "等待加入: {0}"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1506
msgid "IRC Op"
-msgstr "IRC 版主"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1508
msgid "Op"
-msgstr "版主"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1510
msgid "Voice"
-msgstr "认证用户"
+msgstr ""
#. TRANSLATOR: do NOT change the position of {1}!
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1570
#, csharp-format
msgid "Topic for {0}: {1}"
-msgstr "{0} 的主题: {1}"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1575
#, csharp-format
msgid "No topic set for {0}"
-msgstr "{0} 尚未设定主题"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1655
msgid "ban"
-msgstr "封禁"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1665
msgid "No bans in channel"
-msgstr "频道内无被封禁用户"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1777
#, csharp-format
msgid "Inviting {0} to {1}"
-msgstr "正在邀请 {0} 加入 {1}"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1781
#, csharp-format
msgid "{0} is already on {1}"
-msgstr "{0} 已在 {1}"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1806
msgid "Users"
-msgstr "用户"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1848
#, csharp-format
msgid "Total of {0} users [{1} ops, {2} voices, {3} normal]"
-msgstr "总计 {0} 位用户 [{1} 位版主, {2} 位认证用户, {3} 位普通用户]"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1979
msgid "Connection error! Reason: "
-msgstr "连接出错! 原因: "
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1989
#, csharp-format
msgid "Not enough parameters for {0} command"
-msgstr "{0} 命令参数不足"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1999
msgid "Not connected to server"
-msgstr "未连接到服务器"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2261
#, csharp-format
msgid "{0}: No such nick/channel"
-msgstr "{0}: 无此昵称/频道"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2390
#, csharp-format
msgid ""
"Increased send delay to {0}ms to avoid being flooded off the server again."
-msgstr "发送延时已增加到 {0}ms 以避免再次被服务器挤出。"
+msgstr ""
#. TRANSLATOR: the final line will look like this:
#. -!- Nick {0} is already in use
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2404
msgid "Nick"
-msgstr "昵称"
+msgstr ""
#. TRANSLATOR: the final line will look like this:
#. -!- Nick {0} is already in use
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2414
msgid "is already in use"
-msgstr "已被占用"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2424
msgid "Cannot join to channel:"
-msgstr "无法加入频道:"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2432
msgid "You are banned"
-msgstr "您已被封禁"
+msgstr ""
#. TRANSLATOR: {0}: nickname, {1}: ident at host,
#. {2}: CTCP command, {3}: own nickname, {4}: CTCP parameter
@@ -246,95 +247,93 @@ msgstr "您已被封禁"
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2508
#, csharp-format
msgid "{0} [{1}] requested CTCP {2} from {3}: {4}"
-msgstr "{0} [{1}] 请求 CTCP {2} 来自 {3}: {4}"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2533
#, csharp-format
msgid "CTCP PING reply from {0}: {1} seconds"
-msgstr "CTCP PING 回复来自 {0}: {1} 秒"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2541
#, csharp-format
msgid "CTCP {0} reply from {1}: {2}"
-msgstr "CTCP {0} 回复来自 {1}: {2}"
+msgstr ""
#. TRANSLATOR: do NOT change the position of {0}!
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2747
#, csharp-format
msgid "{0} [{1}] has joined {2}"
-msgstr "{0} [{1}] 已加入 {2}"
+msgstr ""
#. TRANSLATOR: do NOT change the position of {0}!
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2873
#, csharp-format
msgid "{0} [{1}] has left {2}"
-msgstr "{0} [{1}] 已离开 {2}"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2898
#, csharp-format
msgid "You were kicked from {0} by {1} [{2}]"
-msgstr "您被 {1} [{2}] 从 {0} 踢出"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2906
#, csharp-format
msgid "{0} was kicked from {1} by {2} [{3}]"
-msgstr "{0} 被 {2} [{3}] 从 {1} 踢出"
+msgstr ""
#. TRANSLATOR: do NOT change the position of {0}!
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2923
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2956
#, csharp-format
msgid "You're now known as {0}"
-msgstr "您现在的昵称为 {0}"
+msgstr ""
#. TRANSLATOR: do NOT change the position of {0} or {1}!
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2961
#, csharp-format
msgid "{0} is now known as {1}"
-msgstr "{0} 现在的昵称为 {1}"
+msgstr ""
#. TRANSLATOR: do NOT change the position of {0} and {2}!
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2998
#, csharp-format
msgid "{0} changed the topic of {1} to: {2}"
-msgstr "{0} 将主题 {1} 改为: {2}"
+msgstr ""
#. TRANSLATOR: do NOT change the position of {1}!
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3075
#, csharp-format
msgid "Mode change [{0}] for user {1}"
-msgstr "用户 {1} 模式更改 [{0}]"
+msgstr ""
#. TRANSLATOR: do NOT change the position of {2}!
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3085
#, csharp-format
msgid "mode/{0} [{1}] by {2}"
-msgstr "模式/{0} [{1}] by {2}"
+msgstr ""
#. TRANSLATOR: do NOT change the position of {0}!
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3122
#, csharp-format
msgid "{0} [{1}] has quit"
-msgstr "{0} [{1}] 已退出"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3199
#, csharp-format
msgid ""
"Connection to {0} port {1} has failed (attempt {2}), retrying in {3} "
"seconds..."
-msgstr "到 {0} 端口 {1} 的连接失败 (第 {2}次尝试), 将在 {3} 秒后重试..."
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3248
#, csharp-format
msgid "{0} is away: {1}"
-msgstr "{0} 离开: {1}"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3254
msgid "You are no longer marked as being away"
-msgstr "您不再被标为离开状态"
+msgstr ""
#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3260
msgid "You have been marked as being away"
-msgstr "您已被标为离开状态"
-
-
+msgstr ""
diff --git a/po-Engine-IRC/pt.po b/po-Engine-IRC/pt.po
index 5d1c58a..56ce7d0 100644
--- a/po-Engine-IRC/pt.po
+++ b/po-Engine-IRC/pt.po
@@ -2,219 +2,224 @@
# Copyright (C) 2010 the smuxi's copyright holder
# This file is distributed under the same license as the smuxi-engine-irc package.
#
-# Américo Monteiro <a_monteiro at netcabo.pt>, 2010.
+# Américo Monteiro <a_monteiro at netcabo.pt>, 2010, 2012.
msgid ""
msgstr ""
"Project-Id-Version: smuxi-engine-irc \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-11 11:54+0200\n"
-"PO-Revision-Date: 2010-09-08 01:32+0100\n"
+"POT-Creation-Date: 2012-07-25 06:24+0200\n"
+"PO-Revision-Date: 2012-07-25 23:18+0100\n"
"Last-Translator: Américo Monteiro <a_monteiro at netcabo.pt>\n"
"Language-Team: Portuguese <traduz at debianpt.org>\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 1.0\n"
+"X-Generator: Lokalize 1.5\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. TRANSLATOR: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:234
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:245
#, csharp-format
msgid "{0} invites you to {1}"
msgstr "{0} convida-o para {1}"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:255
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1468
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:276
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1538
msgid "away"
msgstr "longe"
#. TRANSLATOR: {0} is the amount of seconds
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:261
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:282
#, csharp-format
msgid "lag: {0} seconds"
msgstr "demora: {0} segundos"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:267
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:288
msgid "not connected"
msgstr "não ligado"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:337
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:354
+#, csharp-format
+msgid "Using proxy: {0}:{1}"
+msgstr "A usar o proxy: {0}:{1}"
+
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:361
#, csharp-format
msgid "Connecting to {0} port {1}..."
msgstr "A ligar ao {0} porto {1}..."
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:343
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:438
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:367
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:473
#, csharp-format
msgid "Connection to {0} established"
msgstr "Ligação a {0} estabelecida"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:346
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:370
msgid "Logging in..."
msgstr "A efectuar o login..."
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:369
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:404
msgid "Connection failed!"
msgstr "Ligação falhada!"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:370
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:405
msgid "Connection failed! Reason: "
msgstr "Ligação falhada! Razão: "
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:379
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:414
msgid "Disconnecting..."
msgstr "A desligar..."
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:382
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:417
#, csharp-format
msgid "Disconnecting from {0}..."
msgstr "A desligar de {0}..."
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:387
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:422
#, csharp-format
msgid "Disconnected from {0}"
msgstr "Desligado de {0}"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:390
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:425
msgid "Connection closed"
msgstr "Ligação fechada"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:395
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:452
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:430
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:487
msgid "Not connected"
msgstr "Não ligado"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:424
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:459
msgid "Reconnecting..."
msgstr "A voltar a ligar..."
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:432
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:467
#, csharp-format
msgid "Reconnecting to {0}..."
msgstr "A voltar a ligar a {0}..."
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:446
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:481
msgid "Reconnect Error"
msgstr "Erro ao Re-ligar"
#. TRANSLATOR: this line is used as label / category for a
#. list of commands below
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:816
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:885
msgid "IrcProtocolManager Commands"
msgstr "Comandos do IrcProtocolManager"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:887
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:960
#, csharp-format
msgid "Invalid port: {0}"
msgstr "Porto inválido: {0}"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:997
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1064
#, csharp-format
msgid "Queuing joins: {0}"
msgstr "A colocar entradas em fila de espera: {0}"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1011
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1078
#, csharp-format
msgid "Already joined to channel: {0}. Type /window {0} to switch to it."
msgstr "Já entrou no canal: {0}. Escreva /window {0} para mudar para lá."
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1046
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1113
#, csharp-format
msgid "Active joins: {0} - Queued joins: {1}"
msgstr "Entradas activas: {0} - Entradas em fila de espera: {1}"
#. TRANSLATORS: final message will look like this:
#. Joining: #chan1 - Remaining active joins: #chan2 / queued joins: #chan3
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1069
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1100
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1136
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1167
#, csharp-format
msgid "Joining: {0}"
msgstr "A entrar em: {0}"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1071
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1138
msgid "Remaining"
msgstr "Restante"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1076
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1143
#, csharp-format
msgid "active joins: {0}"
msgstr "entradas activas: {0}"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1085
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1152
#, csharp-format
msgid "queued joins: {0}"
msgstr "entradas em fila de espera: {0}"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1455
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1525
msgid "IRC Op"
msgstr "Op de IRC"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1457
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1527
msgid "Op"
msgstr "Op"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1459
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1529
msgid "Voice"
msgstr "Voz"
#. TRANSLATOR: do NOT change the position of {1}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1519
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1589
#, csharp-format
msgid "Topic for {0}: {1}"
msgstr "Tópico para {0}: {1}"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1524
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1594
#, csharp-format
msgid "No topic set for {0}"
msgstr "Nenhum tópico definido para {0}"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1604
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1674
msgid "ban"
msgstr "banir"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1614
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1684
msgid "No bans in channel"
msgstr "Ninguém banido no canal"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1726
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1796
#, csharp-format
msgid "Inviting {0} to {1}"
msgstr "A convidar {0} para {1}"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1730
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1800
#, csharp-format
msgid "{0} is already on {1}"
msgstr "{0} já está em {1}"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1755
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1825
msgid "Users"
msgstr "Utilizadores"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1797
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1867
#, csharp-format
msgid "Total of {0} users [{1} ops, {2} voices, {3} normal]"
msgstr "Total de {0} utilizadores [{1} ops, {2} vozes, {3} normal]"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1928
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1998
msgid "Connection error! Reason: "
msgstr "Erro de ligação! Razão: "
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1938
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2008
#, csharp-format
msgid "Not enough parameters for {0} command"
msgstr "Parâmetros insuficientes para o comando {0}"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:1948
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2018
msgid "Not connected to server"
msgstr "Não ligado ao servidor"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2156
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2284
#, csharp-format
msgid "{0}: No such nick/channel"
msgstr "{0}: Não existe tal alcunha/canal"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2279
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2413
#, csharp-format
msgid ""
"Increased send delay to {0}ms to avoid being flooded off the server again."
@@ -224,21 +229,21 @@ msgstr ""
#. TRANSLATOR: the final line will look like this:
#. -!- Nick {0} is already in use
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2293
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2427
msgid "Nick"
msgstr "Alcunha"
#. TRANSLATOR: the final line will look like this:
#. -!- Nick {0} is already in use
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2303
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2437
msgid "is already in use"
msgstr "já está em uso"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2329
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2447
msgid "Cannot join to channel:"
msgstr "Não pode entrar no canal:"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2337
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2455
msgid "You are banned"
msgstr "Você está banido"
@@ -246,81 +251,83 @@ msgstr "Você está banido"
#. {2}: CTCP command, {3}: own nickname, {4}: CTCP parameter
#. example:
#. meebey [meebey at example.com] requested CTCP VERSION from meebey:
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2413
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2531
#, csharp-format
msgid "{0} [{1}] requested CTCP {2} from {3}: {4}"
msgstr "{0} [{1}] pedido CTCP {2} de {3}: {4}"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2438
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2556
#, csharp-format
msgid "CTCP PING reply from {0}: {1} seconds"
msgstr "resposta CTCP PING de {0}: {1} segundos"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2446
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2564
#, csharp-format
msgid "CTCP {0} reply from {1}: {2}"
msgstr "CTCP {0} resposta de {1}: {2}"
#. TRANSLATOR: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2643
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2770
#, csharp-format
msgid "{0} [{1}] has joined {2}"
msgstr "{0} [{1}] entrou em {2}"
#. TRANSLATOR: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2769
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2896
#, csharp-format
msgid "{0} [{1}] has left {2}"
msgstr "{0} [{1}] abandonou {2}"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2794
+#. TRANSLATOR: do NOT change the position of {1}!
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2922
#, csharp-format
-msgid "You were kicked from {0} by {1} [{2}]"
-msgstr "Você foi expulso de {0} por {1} [{2}]"
+msgid "You were kicked from {0} by {1}"
+msgstr "Você foi expulso de {0} por {1}"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2802
+#. TRANSLATOR: do NOT change the position of {0} and {2}!
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2933
#, csharp-format
-msgid "{0} was kicked from {1} by {2} [{3}]"
-msgstr "{0} foi expulso de {1} por {2} [{3}]"
+msgid "{0} was kicked from {1} by {2}"
+msgstr "{0} foi expulso de {1} por {2}"
#. TRANSLATOR: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2819
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2852
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2953
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2986
#, csharp-format
msgid "You're now known as {0}"
msgstr "Você é agora conhecido como {0}"
#. TRANSLATOR: do NOT change the position of {0} or {1}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2857
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2991
#, csharp-format
msgid "{0} is now known as {1}"
msgstr "{0} é agora conhecido como {1}"
-#. TRANSLATOR: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2894
+#. TRANSLATOR: do NOT change the position of {0} and {2}!
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3028
#, csharp-format
msgid "{0} changed the topic of {1} to: {2}"
msgstr "{0} mudou o tópico de {1} para: {2}"
#. TRANSLATOR: do NOT change the position of {1}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2970
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3105
#, csharp-format
msgid "Mode change [{0}] for user {1}"
msgstr "Alteração de modo [{0}] para o utilizador {1}"
#. TRANSLATOR: do NOT change the position of {2}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:2980
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3115
#, csharp-format
msgid "mode/{0} [{1}] by {2}"
msgstr "modo/{0} [{1}] por {2}"
#. TRANSLATOR: do NOT change the position of {0}!
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3017
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3152
#, csharp-format
msgid "{0} [{1}] has quit"
msgstr "{0} [{1}] saiu"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3094
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3229
#, csharp-format
msgid ""
"Connection to {0} port {1} has failed (attempt {2}), retrying in {3} "
@@ -329,16 +336,16 @@ msgstr ""
"A ligação para {0} no porto {1} falhou (tentativa {2}), a tentar de novo em "
"{3} segundos..."
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3143
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3278
#, csharp-format
msgid "{0} is away: {1}"
msgstr "{0} está longe: {1}"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3149
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3284
msgid "You are no longer marked as being away"
msgstr "Você não está mais marcado como estando longe"
-#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3155
+#: ../src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs:3290
msgid "You have been marked as being away"
msgstr "Você foi marcado como estando longe"
diff --git a/po-Engine-Twitter/pt.po b/po-Engine-Twitter/pt.po
index eec344c..b38621c 100644
--- a/po-Engine-Twitter/pt.po
+++ b/po-Engine-Twitter/pt.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: smuxi-engine-twitter \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-12-29 09:20+0100\n"
-"PO-Revision-Date: 2012-01-07 21:44+0100\n"
+"POT-Creation-Date: 2012-07-25 06:25+0200\n"
+"PO-Revision-Date: 2012-07-25 23:28+0100\n"
"Last-Translator: Pedro Ribeiro <p.m42.ribeiro at gmail.com>\n"
"Language-Team: Portuguese <traduz at debianpt.org>\n"
"Language: pt\n"
@@ -19,27 +19,32 @@ msgstr ""
"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:124
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:127
msgid "Home Timeline"
msgstr "Timeline de Home"
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:135
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:138
msgid "Replies"
msgstr "Respostas"
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:146
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:149
msgid "Direct Messages"
msgstr "Mensagens Directas"
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:189
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:197
+#, csharp-format
+msgid "Using proxy: {0}:{1}"
+msgstr "A usar proxy: {0}:{1}"
+
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:204
msgid "Connecting to Twitter..."
msgstr "A ligar ao Twitter..."
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:228
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:242
msgid "Twitter authorization required."
msgstr "Necessária autorização do Twitter."
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:235
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:249
#, csharp-format
msgid ""
"Please open the following URL and click \"Allow\" to allow Smuxi to connect "
@@ -48,7 +53,7 @@ msgstr ""
"Por favor abra o seguinte URL e clique em \"Permitir\" (Allow) para permitir "
"que o Smuxi se ligue à sua conta do Twitter: {0}"
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:251
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:265
msgid ""
"Once you have allowed Smuxi to access your Twitter account, Twitter will "
"provide a PIN."
@@ -56,69 +61,69 @@ msgstr ""
"Após ter permitido que o Smuxi tenha acesso à sua conta do Twitter, o "
"Twitter irá fornecer um PIN."
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:258
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:272
msgid "Please type: /pin PIN_FROM_TWITTER"
msgstr "Por favor escreva: /pin PIN_DO_TWITTER"
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:265
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:305
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:279
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:319
msgid "Connection failed!"
msgstr "Ligação falhada!"
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:267
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:307
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:281
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:321
msgid "Connection failed! Reason: "
msgstr "Ligação falhada! Razão: "
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:280
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:294
msgid "Fetching user details from Twitter, please wait..."
msgstr ""
"A obter detalhes do utilizador a partir do Twitter, por favor aguarde..."
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:285
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:299
msgid "Finished fetching user details."
msgstr "Obtenção de detalhes do utilizador terminada."
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:290
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:304
msgid "Successfully connected to Twitter."
msgstr "Ligação ao Twitter efectuada com sucesso."
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:299
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:313
msgid "Failed to fetch user details from Twitter. Reason: "
msgstr "Falhou ao obter os detalhes do utilizador a partir do Twitter. Razão: "
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:320
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:334
msgid "Fetching friends from Twitter, please wait..."
msgstr "A obter amigos a partir do Twitter, por favor aguarde..."
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:325
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:339
msgid "Finished fetching friends."
msgstr "Obtenção de amigos terminada."
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:328
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:342
msgid "Failed to fetch friends from Twitter. Reason: "
msgstr "Falhou ao obter amigos a partir do Twitter. Razão: "
#. TRANSLATOR: this line is used as a label / category for a
#. list of commands below
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:605
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:619
msgid "Twitter Commands"
msgstr "Comandos do Twitter"
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:647
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:661
msgid "No pending authorization request!"
msgstr "Nenhum pedido de autorização pendente!"
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:668
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:682
#, csharp-format
msgid "Failed to authorize with Twitter: {0}"
msgstr "Falhou a autorização com o Twitter: {0}"
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:676
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:690
msgid "Twitter did not accept your PIN. Did you enter it correctly?"
msgstr "O Twitter não aceitou o seu PIN. Indicou-o correctamente?"
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:684
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:698
#, csharp-format
msgid ""
"Please retry by closing this tab and reconnecting to the Twitter \"{0}\" "
@@ -127,53 +132,52 @@ msgstr ""
"Por favor tente de novo fechando este separador e ligando de novo à conta "
"Twitter {0}."
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:725
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:739
msgid "Migrated Twitter account from basic auth to OAuth."
msgstr "Conta Twitter migrada de autenticação básica para OAuth."
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:739
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:753
#, csharp-format
msgid "Successfully authorized Twitter account \"{0}\" for Smuxi"
msgstr "Conta Twitter {0} autorizada com sucesso para o Smuxi"
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:761
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:775
#, csharp-format
msgid "Could not update status - Reason: {0}"
msgstr "Incapaz de actualizar o estado - Razão: {0}"
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:770
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:784
msgid "Cannot send message - no target specified. Use: /msg $nick message"
msgstr ""
"Incapaz de enviar mensagem - nenhum destino especificado. Use: /msg $alcunha "
"mensagem"
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:783
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:820
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:797
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:834
#, csharp-format
msgid "Could not send message - Reason: {0}"
msgstr "Incapaz de enviar mensagem - Razão: {0}"
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:807
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:821
msgid "Could not send message - the specified user does not exist."
msgstr "Incapaz de enviar mensagem - o utilizador especificado não existe."
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:896
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:910
msgid ""
"An error occurred while fetching the friends timeline from Twitter. Reason: "
msgstr ""
"Ocorreu um erro ao obter o timeline de amigos a partir do Twitter. Razão: "
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:1001
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:1017
msgid "An error occurred while fetching the replies from Twitter. Reason: "
msgstr "Ocorreu um erro ao obter as respostas a partir do Twitter. Razão: "
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:1097
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:1113
msgid "An error occurred while fetching direct messages from Twitter. Reason: "
msgstr ""
"Ocorreu um erro ao obter as mensagens directas a partir do Twitter. Razão: "
-#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:1441
+#: ../src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs:1458
msgid "Twitter didn't send a valid response, they're probably overloaded"
msgstr ""
"O Twitter não enviou uma resposta válida, provavelmente estão sobrecarregados"
-
diff --git a/po-Engine/LINGUAS b/po-Engine/LINGUAS
index e638cfa..9456ea6 100644
--- a/po-Engine/LINGUAS
+++ b/po-Engine/LINGUAS
@@ -7,6 +7,7 @@ es_AR
fr
hr
it
+nb_NO
pl
pt
ru
diff --git a/po-Engine/da.po b/po-Engine/nb_NO.po
similarity index 66%
copy from po-Engine/da.po
copy to po-Engine/nb_NO.po
index dbb7535..ea0174f 100644
--- a/po-Engine/da.po
+++ b/po-Engine/nb_NO.po
@@ -3,67 +3,65 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Joe Hansen <joedalton2 at yahoo.dk>, 2011, 2012.
+# <arianfaol at gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: Smuxi - IRC client\n"
"Report-Msgid-Bugs-To: http://www.smuxi.org/issues\n"
"POT-Creation-Date: 2012-01-01 18:47+0100\n"
-"PO-Revision-Date: 2012-01-07 10:33+0000\n"
-"Last-Translator: Joe Hansen <joedalton2 at yahoo.dk>\n"
-"Language-Team: Danish (http://www.transifex.net/projects/p/smuxi/team/da/)\n"
+"PO-Revision-Date: 2012-08-19 22:19+0000\n"
+"Last-Translator: Arianfaol <arianfaol at gmail.com>\n"
+"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/smuxi/language/nb_NO/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: da\n"
+"Language: nb_NO\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../src/Engine/FrontendManager.cs:233
msgid "No network connections"
-msgstr "Ingen netværksforbindelser"
+msgstr "Ingen nettverkstilkoblinger"
#: ../src/Engine/MessageBuffers/Db4oMessageBuffer.cs:295
#, csharp-format
msgid "Optimizing: {0}..."
-msgstr "Optimerer: {0}..."
+msgstr "Optimaliserer: {0}..."
#: ../src/Engine/MessageBuffers/Db4oMessageBuffer.cs:313
#, csharp-format
msgid "Failed to optimize: {0}. Reason: {1}"
-msgstr "Kunne ikke optimere: {0}. Årsag: {1}"
+msgstr "Optimalisering mislyktes: {0}. Årsak: {1}"
#: ../src/Engine/MessageBuffers/Db4oMessageBuffer.cs:347
msgid ""
"Your chat history is no longer available because of an error but will be "
"preserved from now on."
-msgstr ""
-"Din snakkehistorik er ikke længere tilgængelig på grund af en fejl, men den "
-"vil blive gemt fremadrettet."
+msgstr "Chatloggen din er ikke lenger tilgjengelig på grunn av en feil, men vil bil lagret fra nå av."
#: ../src/Engine/Protocols/ProtocolManagerBase.cs:170
msgid "Not connected to server"
-msgstr "Ikke forbundet til server"
+msgstr "Ikke koblet til server"
#: ../src/Engine/Protocols/ProtocolManagerBase.cs:178
#: ../src/Engine/Session.cs:778
#, csharp-format
msgid "Not enough parameters for {0} command"
-msgstr "Ikke nok parametre for kommandoen {0}"
+msgstr "Ikke nok parametere for kommando {0}"
#: ../src/Engine/Protocols/ProtocolManagerBase.cs:189
#, csharp-format
msgid "Connected to {0}"
-msgstr "Forbundet til {0}"
+msgstr "Koblet til {0}"
#: ../src/Engine/Protocols/ProtocolManagerBase.cs:207
#, csharp-format
msgid "Disconnected from {0}"
-msgstr "Ikke længere forbundet til {0}"
+msgstr "Koblet i fra {0}"
#: ../src/Engine/Session.cs:218
#, csharp-format
msgid "Automatic connect to {0} failed!"
-msgstr "Automatisk tilslutning til {0} mislykkedes!"
+msgstr "Automatisk tilkobling til {0} mislyktes!"
#. TRANSLATOR: this line is used as a label / category for a
#. list of commands below
@@ -73,38 +71,36 @@ msgstr "Motorkommandoer"
#: ../src/Engine/Session.cs:527
msgid "Connect failed!"
-msgstr "Tilslutning mislykkedes!"
+msgstr "Tilkobling mislyktes!"
#: ../src/Engine/Session.cs:550
#, csharp-format
msgid "Disconnect failed - could not find server: {0}"
-msgstr "Afbrydelse fejlede - kunne ikke finde server: {0}"
+msgstr "Frakobling mislyktes - kunne ikke finne server: {0}"
#: ../src/Engine/Session.cs:589
msgid "Reconnect failed!"
-msgstr "Gentilslutning mislykkedes!"
+msgstr "Gjentilkobling mislyktes."
#: ../src/Engine/Session.cs:608
msgid "Configuration reloaded"
-msgstr "Konfiguration genindlæst"
+msgstr "Konfigurasjon lastet på nytt"
#: ../src/Engine/Session.cs:613
msgid "Configuration saved"
-msgstr "Konfiguration gemt"
+msgstr "Konfigurasjon lagret"
#: ../src/Engine/Session.cs:617
msgid "Invalid parameter for config; use load or save"
-msgstr "Ugyldigt parameter for konfig; brug load (indlæs) eller save (gem)"
+msgstr "Ugyldig parameter for config; bruk load eller save"
#: ../src/Engine/Session.cs:676
msgid "Invalid parameter for network; use list, switch, or close"
-msgstr ""
-"Ugyldigt parameter for netværk; brug list (vis), switch (skift) eller close "
-"(luk)"
+msgstr "Ugyldig parameter for network; bruk list, switch, eller close"
#: ../src/Engine/Session.cs:687
msgid "Networks"
-msgstr "Netværk"
+msgstr "Nettverk"
#: ../src/Engine/Session.cs:691
msgid "Protocol"
@@ -112,11 +108,11 @@ msgstr "Protokol"
#: ../src/Engine/Session.cs:692
msgid "Network"
-msgstr "Netværk"
+msgstr "Nettverk"
#: ../src/Engine/Session.cs:693
msgid "Host"
-msgstr "Vært"
+msgstr "Vert"
#: ../src/Engine/Session.cs:694
msgid "Port"
@@ -125,36 +121,34 @@ msgstr "Port"
#: ../src/Engine/Session.cs:709
#, csharp-format
msgid "Network close failed - could not find network: {0}"
-msgstr "Lukning af netværk fejlede - kunne ikke finde netværk: {0}"
+msgstr "Stenging av nettverk mislyktes - kunne ikke finne nettverk: {0}"
#: ../src/Engine/Session.cs:748
#, csharp-format
msgid "Network switch failed - could not find network: {0}"
-msgstr "Netværksomskifter fejlede - kunne ikke finde netværk: {0}"
+msgstr "Bytte av nettverk mislyktes - kunne ikke finne nettverk: {0}"
#: ../src/Engine/Session.cs:767
msgid "Not connected to any network"
-msgstr "Ikke tilsluttet til noget netværk"
+msgstr "Ikke koblet til noen nettverk"
#: ../src/Engine/Session.cs:1013
#, csharp-format
msgid ""
"Failed to write to chat history. Your chat history will not be preserved. "
"Reason: {0}"
-msgstr ""
-"Kunne ikke skrive snakkehistorik. Din snakkehistorik vil ikke blive gemt. "
-"Årsag: {0}"
+msgstr "Kunne ikke skrive til Chatlogg. Chatloggen din vil ikke bli lagret. Årsak: {0}"
#. just in case the ProtocolManager is not setting the
#. protocol chat
#: ../src/Engine/Session.cs:1185
msgid "Connect failed."
-msgstr "Tilslutning mislykkedes."
+msgstr "Tilkobling mislyktes."
#: ../src/Engine/Session.cs:1216
#, csharp-format
msgid "No protocol manager found for the protocol: {0}"
-msgstr "Ingen protokolhåndtering fundet til denne protokol: {0}"
+msgstr "Ingen protokollbehandler funnet for protokollen: {0}"
#: ../src/Engine/Session.cs:1448
msgid "Welcome to Smuxi"
@@ -162,65 +156,56 @@ msgstr "Velkommen til Smuxi"
#: ../src/Engine/Session.cs:1455
msgid "Type /help to get a list of available commands."
-msgstr "Tast /help for en liste over tilgængelige kommandoer."
+msgstr "Skriv /help for å få en liste over tilgjengelige kommandoer."
#: ../src/Engine/Session.cs:1461
msgid ""
"After you have made a connection the list of available commands changes. Go "
"to the newly opened connection tab and use the /help command again to see "
"the extended command list."
-msgstr ""
-"Efter du har foretaget en forbindelsen så ændres listen over tilgængelige "
-"kommandoer. Gå til det netop åbnede forbindelsesfaneblad og brug kommandoen "
-"/help igen for at se den udvidede kommandoliste."
+msgstr "Etter du har koblet til endrer listen med tilgjengelige kommandoer seg. Gå til den nyåpnede tilkoblingsarkfanen og bruk /help kommandoen om igjen for å se den utvidede kommandolisten."
#: ../src/Engine/Config/UserListController.cs:117
msgid "Username must not be empty."
-msgstr "Brugernavn må ikke være tomt."
+msgstr "Brukernavn kan ikke være tomt."
#: ../src/Engine/Config/UserListController.cs:127
msgid "Password must not be empty."
-msgstr "Adgangskode må ikke være tom."
+msgstr "Passord kan ikke være tomt."
#: ../src/Engine/Config/UserListController.cs:136
#, csharp-format
msgid "User \"{0}\" doesn't exist."
-msgstr "Bruger »{0}« findes ikke."
+msgstr "Bruker \"{0}\" eksisterer ikke."
#: ../src/Engine/Config/UserListController.cs:145
#, csharp-format
msgid "User \"{0}\" already exists."
-msgstr "Bruger »{0}« findes allerede."
+msgstr "Bruker \"{0}\" eksisterer allerede."
#: ../src/Engine/Config/ServerListController.cs:131
msgid "Server hostname must not be empty."
-msgstr "Serverværtsnavn må ikke være tomt."
+msgstr "Serververtsnavn kan ikke være tomt."
#: ../src/Engine/Config/ServerListController.cs:134
msgid "Server hostname contains invalid characters (newline)."
-msgstr "Serverværtsnavn indeholder ugyldige tegn (nylinje)."
+msgstr "Serververtsnavn inneholder ugyldige tegn (linjeskift)."
#: ../src/Engine/Config/ServerListController.cs:140
#, csharp-format
msgid "Server '{0}' already exists."
-msgstr "Server '{0}' findes allerede."
+msgstr "Server '{0}' eksisterer allerede"
#: ../src/Engine/Chats/ChatModel.cs:105
#, csharp-format
msgid ""
"Failed to load chat history. Your chat history will not be preserved. "
"Reason: {0}"
-msgstr ""
-"Kunne ikke indlæse snakkehistorik. Din snakkehistorik vil ikke blive "
-"bevaret. Årsag: {0}"
+msgstr "Kunne ikke laste chatlogg. Chatloggen din vil ikke bli lagret. Årsak: {0}"
#: ../src/Engine/Chats/ChatModel.cs:290
#, csharp-format
msgid ""
"Failed to open chat history for writing. Your chat history will not be "
"preserved. Reason: {0}"
-msgstr ""
-"Kunne ikke åbne snakkehistorik for skrivning. Din snakkehistorik vil ikke "
-"blive bevaret. Årsag: {0}"
-
-
+msgstr "Kunne ikke åpne chatlogg for skriving. Chatloggen din vil ikke bli lagret. Årsak: {0}"
diff --git a/po-Engine/pt.po b/po-Engine/pt.po
index bf2200c..a049bf2 100644
--- a/po-Engine/pt.po
+++ b/po-Engine/pt.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: smuxi-engine \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-12-29 09:19+0100\n"
-"PO-Revision-Date: 2012-01-07 23:47+0000\n"
+"POT-Creation-Date: 2012-07-25 06:50+0200\n"
+"PO-Revision-Date: 2012-07-30 09:08+0100\n"
"Last-Translator: Pedro Ribeiro <p.m42.ribeiro at gmail.com>\n"
"Language-Team: Portuguese <traduz at debianpt.org>\n"
"Language: pt\n"
@@ -41,22 +41,22 @@ msgstr ""
"O seu histórico do chat já não está disponível devido a um erro mas será "
"preservado a partir de agora."
-#: ../src/Engine/Protocols/ProtocolManagerBase.cs:170
+#: ../src/Engine/Protocols/ProtocolManagerBase.cs:164
msgid "Not connected to server"
-msgstr "Não ligado ao servidor"
+msgstr "Não está ligado ao servidor"
-#: ../src/Engine/Protocols/ProtocolManagerBase.cs:178
-#: ../src/Engine/Session.cs:778
+#: ../src/Engine/Protocols/ProtocolManagerBase.cs:172
+#: ../src/Engine/Session.cs:841
#, csharp-format
msgid "Not enough parameters for {0} command"
msgstr "Parâmetros insuficientes para o comando {0}"
-#: ../src/Engine/Protocols/ProtocolManagerBase.cs:189
+#: ../src/Engine/Protocols/ProtocolManagerBase.cs:183
#, csharp-format
msgid "Connected to {0}"
msgstr "Ligado a {0}"
-#: ../src/Engine/Protocols/ProtocolManagerBase.cs:207
+#: ../src/Engine/Protocols/ProtocolManagerBase.cs:201
#, csharp-format
msgid "Disconnected from {0}"
msgstr "Desligado de {0}"
@@ -72,70 +72,84 @@ msgstr "Falhou a ligação automática a {0}!"
msgid "Engine Commands"
msgstr "Comandos do Motor"
-#: ../src/Engine/Session.cs:527
+#: ../src/Engine/Session.cs:539
msgid "Connect failed!"
msgstr "Ligação falhada!"
-#: ../src/Engine/Session.cs:550
+#: ../src/Engine/Session.cs:562
#, csharp-format
msgid "Disconnect failed - could not find server: {0}"
msgstr "Falha ao desligar - incapaz de encontrar o servidor: {0}"
-#: ../src/Engine/Session.cs:589
+#: ../src/Engine/Session.cs:601
msgid "Reconnect failed!"
msgstr "Re-ligação falhada!"
-#: ../src/Engine/Session.cs:608
+#: ../src/Engine/Session.cs:620
msgid "Configuration reloaded"
msgstr "Configuração recarregada"
-#: ../src/Engine/Session.cs:613
+#: ../src/Engine/Session.cs:625
msgid "Configuration saved"
msgstr "Configuração guardada"
-#: ../src/Engine/Session.cs:617
+#: ../src/Engine/Session.cs:629
msgid "Invalid parameter for config; use load or save"
msgstr "Parâmetro inválido para configuração; use load ou save"
-#: ../src/Engine/Session.cs:676
+#: ../src/Engine/Session.cs:694
msgid "Invalid parameter for network; use list, switch, or close"
msgstr "Parâmetro inválido para rede; use list, switch, ou close"
-#: ../src/Engine/Session.cs:687
-msgid "Networks"
-msgstr "Redes"
-
-#: ../src/Engine/Session.cs:691
-msgid "Protocol"
-msgstr "Protocolo"
+#. TRANSLATOR: this line is used as a label / category for a
+#. list of networks below
+#: ../src/Engine/Session.cs:722
+msgid "Connected Networks"
+msgstr "Redes Ligadas"
-#: ../src/Engine/Session.cs:692
+#: ../src/Engine/Session.cs:727 ../src/Engine/Session.cs:751
msgid "Network"
msgstr "Rede"
-#: ../src/Engine/Session.cs:693
+#: ../src/Engine/Session.cs:728
+msgid "Protocol"
+msgstr "Protocolo"
+
+#: ../src/Engine/Session.cs:729
msgid "Host"
msgstr "Máquina"
-#: ../src/Engine/Session.cs:694
+#: ../src/Engine/Session.cs:730
msgid "Port"
msgstr "Porto"
-#: ../src/Engine/Session.cs:709
+#. TRANSLATOR: no connected networks
+#. TRANSLATOR: no available networks
+#: ../src/Engine/Session.cs:736 ../src/Engine/Session.cs:757
+msgid "None"
+msgstr "Nenhuma"
+
+#. TRANSLATOR: this line is used as a label / category for a
+#. list of networks below
+#: ../src/Engine/Session.cs:743
+msgid "Available Networks"
+msgstr "Redes Disponíveis"
+
+#: ../src/Engine/Session.cs:772
#, csharp-format
msgid "Network close failed - could not find network: {0}"
msgstr "Fecho de rede falhado - incapaz de encontrar a rede: {0}"
-#: ../src/Engine/Session.cs:748
+#: ../src/Engine/Session.cs:811
#, csharp-format
msgid "Network switch failed - could not find network: {0}"
msgstr "Troca de rede falhada - incapaz de encontrar a rede: {0}"
-#: ../src/Engine/Session.cs:767
+#: ../src/Engine/Session.cs:830
msgid "Not connected to any network"
msgstr "Não ligado a nenhuma rede"
-#: ../src/Engine/Session.cs:1013
+#: ../src/Engine/Session.cs:1076
#, csharp-format
msgid ""
"Failed to write to chat history. Your chat history will not be preserved. "
@@ -146,24 +160,24 @@ msgstr ""
#. just in case the ProtocolManager is not setting the
#. protocol chat
-#: ../src/Engine/Session.cs:1185
+#: ../src/Engine/Session.cs:1248
msgid "Connect failed."
msgstr "Ligação falhada."
-#: ../src/Engine/Session.cs:1216
+#: ../src/Engine/Session.cs:1279
#, csharp-format
msgid "No protocol manager found for the protocol: {0}"
msgstr "Nenhum gestor de protocolo encontrado para o protocolo: {0}"
-#: ../src/Engine/Session.cs:1448
+#: ../src/Engine/Session.cs:1511
msgid "Welcome to Smuxi"
msgstr "Bem vindo ao Smuxi"
-#: ../src/Engine/Session.cs:1455
+#: ../src/Engine/Session.cs:1518
msgid "Type /help to get a list of available commands."
msgstr "Escreva /help para obter uma lista dos comandos disponíveis."
-#: ../src/Engine/Session.cs:1461
+#: ../src/Engine/Session.cs:1524
msgid ""
"After you have made a connection the list of available commands changes. Go "
"to the newly opened connection tab and use the /help command again to see "
@@ -192,15 +206,36 @@ msgid "User \"{0}\" already exists."
msgstr "O utilizador \"{0}\" já existe."
#: ../src/Engine/Config/ServerListController.cs:131
+msgid "Network must not be empty."
+msgstr "A rede não pode estar vazia."
+
+#: ../src/Engine/Config/ServerListController.cs:151
msgid "Server hostname must not be empty."
msgstr "O nome de máquina do servidor não pode estar vazio."
-#: ../src/Engine/Config/ServerListController.cs:134
+#: ../src/Engine/Config/ServerListController.cs:154
msgid "Server hostname contains invalid characters (newline)."
-msgstr ""
-"O nome de máquina do servidor contém caracteres inválidos (nova linha)."
+msgstr "O nome de máquina do servidor contém caracteres inválidos (nova linha)."
-#: ../src/Engine/Config/ServerListController.cs:140
+#: ../src/Engine/Config/ServerListController.cs:160
#, csharp-format
msgid "Server '{0}' already exists."
-msgstr "O servidor \"{0}\" já existe."
+msgstr "O servidor '{0}' já existe."
+
+#: ../src/Engine/Chats/ChatModel.cs:105
+#, csharp-format
+msgid ""
+"Failed to load chat history. Your chat history will not be preserved. "
+"Reason: {0}"
+msgstr ""
+"Falhou a leitura do histórico do chat. O seu histórico de chat não será "
+"preservado. Razão: {0}"
+
+#: ../src/Engine/Chats/ChatModel.cs:290
+#, csharp-format
+msgid ""
+"Failed to open chat history for writing. Your chat history will not be "
+"preserved. Reason: {0}"
+msgstr ""
+"Falhou a escrita do histórico do chat. O seu histórico de chat não será "
+"preservado. Razão: {0}"
diff --git a/po-Frontend-GNOME/pt.po b/po-Frontend-GNOME/pt.po
index 2aa7706..270bc95 100644
--- a/po-Frontend-GNOME/pt.po
+++ b/po-Frontend-GNOME/pt.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: smuxi-frontend-gnome \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-12-29 09:22+0100\n"
-"PO-Revision-Date: 2012-01-12 00:07+0000\n"
+"POT-Creation-Date: 2012-07-25 06:28+0200\n"
+"PO-Revision-Date: 2012-07-30 09:28+0100\n"
"Last-Translator: Pedro Ribeiro <p.m42.ribeiro at gmail.com>\n"
"Language-Team: Portuguese <traduz at debianpt.org>\n"
"Language: pt\n"
@@ -21,195 +21,190 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../glade/smuxi-frontend-gnome.glade.h:1
-msgid "<b> Chat </b>"
-msgstr "<b> Conversar </b>"
+msgid "Smuxi Preferences"
+msgstr "Preferências de Smuxi"
#: ../glade/smuxi-frontend-gnome.glade.h:2
-msgid "<b> Color </b>"
-msgstr "<b> Cor </b>"
+msgid ""
+"The nickname to use. You can specify extra nicknames (separated by spaces) "
+"which will be used as fallbacks when the first choice is not available. By "
+"default $nick_ and $nick__ will be used as fallbacks."
+msgstr ""
+"A alcunha a usar. Você pode especificar alcunhas extra (separadas por "
+"espaços) que serão usadas quando a primeira escolha não estiver disponível. "
+"Estão predefinidos como extras $alcunha_ e $alcunha__."
#: ../glade/smuxi-frontend-gnome.glade.h:3
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1172
-msgid "<b> Entry Field </b>"
-msgstr "<b> Campo de Entrada </b>"
+msgid "Nickname(s):"
+msgstr "Alcunha(s):"
#: ../glade/smuxi-frontend-gnome.glade.h:4
-msgid "<b> Font </b>"
-msgstr "<b> Tipo de Letra </b>"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:315
+msgid "Username:"
+msgstr "Nome de utilizador:"
#: ../glade/smuxi-frontend-gnome.glade.h:5
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1502
-msgid "<b> Highlighting </b>"
-msgstr "<b> Destaque </b>"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:338
+msgid "Realname:"
+msgstr "Nome Real:"
#: ../glade/smuxi-frontend-gnome.glade.h:6
-msgid "<b> Notification Area Icon </b>"
-msgstr "<b> Ícone da Área de Notificação </b>"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:359
+msgid "Encoding:"
+msgstr "Codificação:"
#: ../glade/smuxi-frontend-gnome.glade.h:7
-msgid "<b> Person List Position </b>"
-msgstr "<b> Posição da Lista de Pessoas </b>"
+msgid "<b>General</b>"
+msgstr "<b>Geral</b>"
#: ../glade/smuxi-frontend-gnome.glade.h:8
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1009
-msgid "<b> Tab Colors </b>"
-msgstr "<b> Cores do Separador </b>"
+msgid "Type:"
+msgstr "Tipo:"
#: ../glade/smuxi-frontend-gnome.glade.h:9
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:910
-msgid "<b> Tabs Position </b>"
-msgstr "<b> Posição dos Separadores </b>"
+msgid "Host:"
+msgstr "Máquina:"
#: ../glade/smuxi-frontend-gnome.glade.h:10
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1315
-msgid "<b> Topic Position </b>"
-msgstr "<b> Posição do Tópico </b>"
+msgid "Password:"
+msgstr "Palavra-passe:"
#: ../glade/smuxi-frontend-gnome.glade.h:11
-msgid "<b>Advanced</b>"
-msgstr "<b>Avançado</b>"
+msgid "Port:"
+msgstr "Porto:"
#: ../glade/smuxi-frontend-gnome.glade.h:12
-msgid "<b>General</b>"
-msgstr "<b>Geral</b>"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:170
+msgid "Show Password"
+msgstr "Mostrar a palavra-passe"
#: ../glade/smuxi-frontend-gnome.glade.h:13
-msgid "<b>Global Commands</b>"
-msgstr "<b>Comandos Globais</b>"
+msgid "<b>Network Proxy</b>"
+msgstr "<b>Proxy de Rede</b>"
#: ../glade/smuxi-frontend-gnome.glade.h:14
-msgid "<b>Message Buffer</b>"
-msgstr "<b>Buffers de Mensagem</b>"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:381
+msgid "On Connect Commands:"
+msgstr "Comandos Ao Ligar:"
#: ../glade/smuxi-frontend-gnome.glade.h:15
-msgid "<b>Messaging Menu</b>"
-msgstr "<b>Menu de Mensagens</b>"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:427
+msgid "On Startup Commands:"
+msgstr "Comandos Ao Arrancar:"
#: ../glade/smuxi-frontend-gnome.glade.h:16
-msgid "<b>Network Proxy</b>"
-msgstr "<b>Proxy de Rede</b>"
+msgid "<b>Global Commands</b>"
+msgstr "<b>Comandos Globais</b>"
#: ../glade/smuxi-frontend-gnome.glade.h:17
-msgid "<b>Notification Popups</b>"
-msgstr "<b>Popups de Notificação</b>"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:471
+msgid "C_onnection"
+msgstr "Ligaçã_o"
#: ../glade/smuxi-frontend-gnome.glade.h:18
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:961
-msgid "Activity"
-msgstr "Actividade"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:526
+msgid "Timestamp Format:"
+msgstr "Formato de Datas:"
#: ../glade/smuxi-frontend-gnome.glade.h:19
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:209
-msgid "Automatically connect to server at startup"
-msgstr "Ligar automaticamente ao servidor no inicio"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:20
-msgid "Background"
-msgstr "Fundo"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:21
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1160
-msgid "Bash-Style Completion"
-msgstr "Completar ao Estilo Bash"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:22
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1490
-msgid "Beep on highlight"
-msgstr "Apitar no destaque"
-
-#. Container child vbox6.Gtk.Box+BoxChild
-#. Container child vbox11.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:23
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:780
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:802
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1261
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1286
-msgid "Bottom"
-msgstr "Fundo"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:24
#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:546
msgid "Buffer Lines:"
msgstr "Linhas do Buffer:"
-#: ../glade/smuxi-frontend-gnome.glade.h:25
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:471
-msgid "C_onnection"
-msgstr "Ligaçã_o"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:26
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1112
-msgid "Command Character:"
-msgstr "Caractere de Comandos:"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:27
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1135
-msgid "Command History Size:"
-msgstr "Tamanho do Histórico de Comandos:"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:28
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1092
-msgid "Completion Character:"
-msgstr "Caractere de Acabamento:"
+#: ../glade/smuxi-frontend-gnome.glade.h:20
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:569
+msgid "Engine Buffer Lines:"
+msgstr "Linhas do Buffer do Motor:"
-#: ../glade/smuxi-frontend-gnome.glade.h:29
-msgid "Enable"
-msgstr "Activar"
+#: ../glade/smuxi-frontend-gnome.glade.h:21
+msgid ""
+"ss = seconds\n"
+"mm = minutes\n"
+"hh = hours (01 - 12)\n"
+"HH = hours (00 - 23)\n"
+"tt = AM/PM\n"
+"\n"
+"dd = day\n"
+"MM = month\n"
+"yy/yyyy = year"
+msgstr ""
+"ss = segundos\n"
+"mm = minutos\n"
+"hh = horas (01 - 12)\n"
+"HH = horas (00 - 23)\n"
+"tt = AM/PM\n"
+"\n"
+"dd = dia\n"
+"MM = mês\n"
+"yy/yyyy = ano"
#: ../glade/smuxi-frontend-gnome.glade.h:30
-msgid "Enabled"
-msgstr "Activo"
+msgid "Persistency Type:"
+msgstr "Tipo de Persistência:"
#: ../glade/smuxi-frontend-gnome.glade.h:31
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:359
-msgid "Encoding:"
-msgstr "Codificação:"
+msgid "Volatile Buffer Lines:"
+msgstr "Linhas Voláteis do Buffer:"
#: ../glade/smuxi-frontend-gnome.glade.h:32
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:569
-msgid "Engine Buffer Lines:"
-msgstr "Linhas do Buffer do Motor:"
+msgid "Persistent Buffer Lines:"
+msgstr "Linhas Persistentes do Buffer:"
#: ../glade/smuxi-frontend-gnome.glade.h:33
-msgid "Foreground"
-msgstr "Primeiro plano"
+msgid "<b>Message Buffer</b>"
+msgstr "<b>Buffers de Mensagem</b>"
#: ../glade/smuxi-frontend-gnome.glade.h:34
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:725
-msgid "General"
-msgstr "Geral"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:628
+msgid "Strip Colors"
+msgstr "Remover Cores"
#: ../glade/smuxi-frontend-gnome.glade.h:35
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:981
-msgid "Highlight"
-msgstr "Destacar"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:667
+msgid "Strip Formattings"
+msgstr "Remover Formatações"
#: ../glade/smuxi-frontend-gnome.glade.h:36
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1466
-msgid "Highlight words:"
-msgstr "Destacar palavras:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:707
+msgid "Strip UTF-8"
+msgstr "Remover UTF-8"
#: ../glade/smuxi-frontend-gnome.glade.h:37
-msgid "Host:"
-msgstr "Máquina:"
+msgid "Show Advanced Settings"
+msgstr "Mostrar Definições Avançadas"
#: ../glade/smuxi-frontend-gnome.glade.h:38
-msgid "Hostname:"
-msgstr "Nome da máquina:"
+msgid "<b>Advanced</b>"
+msgstr "<b>Avançado</b>"
#: ../glade/smuxi-frontend-gnome.glade.h:39
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1181
-msgid "Input"
-msgstr "Entrada"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:725
+msgid "General"
+msgstr "Geral"
+#. Container child vbox6.Gtk.Box+BoxChild
+#. Container child vbox11.Gtk.Box+BoxChild
#: ../glade/smuxi-frontend-gnome.glade.h:40
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:971
-msgid "Join/Part/Mode"
-msgstr "Juntar/Parte/Modo"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:743
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:767
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1220
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1246
+msgid "Top"
+msgstr "Topo"
#. Container child vbox6.Gtk.Box+BoxChild
-#. Container child vbox12.Gtk.Box+BoxChild
+#. Container child vbox11.Gtk.Box+BoxChild
#: ../glade/smuxi-frontend-gnome.glade.h:41
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:780
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:802
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1261
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1286
+msgid "Bottom"
+msgstr "Fundo"
+
+#. Container child vbox6.Gtk.Box+BoxChild
+#. Container child vbox12.Gtk.Box+BoxChild
+#: ../glade/smuxi-frontend-gnome.glade.h:42
#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:816
#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:841
#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1335
@@ -217,259 +212,274 @@ msgstr "Juntar/Parte/Modo"
msgid "Left"
msgstr "Esquerda"
-#: ../glade/smuxi-frontend-gnome.glade.h:42
-msgid "Log Filtered Messages"
-msgstr "Registar Mensagens Filtradas"
-
+#. Container child vbox6.Gtk.Box+BoxChild
+#. Container child vbox12.Gtk.Box+BoxChild
#: ../glade/smuxi-frontend-gnome.glade.h:43
-msgid "Network:"
-msgstr "Rede:"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:44
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1202
-msgid "Nick Colors"
-msgstr "Cores da Alcunha"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:45
-msgid "Nickname(s):"
-msgstr "Alcunha(s):"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:46
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:953
-msgid "No Activity"
-msgstr "Nenhuma Actividade"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:856
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:881
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1376
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1401
+msgid "Right"
+msgstr "Direita"
#. Container child vbox6.Gtk.Box+BoxChild
#. Container child vbox11.Gtk.Box+BoxChild
#. Container child vbox12.Gtk.Box+BoxChild
-#: ../glade/smuxi-frontend-gnome.glade.h:47
+#: ../glade/smuxi-frontend-gnome.glade.h:44
#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:896
#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1301
#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1416
msgid "None"
msgstr "Nenhum"
+#: ../glade/smuxi-frontend-gnome.glade.h:45
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:910
+msgid "<b> Tabs Position </b>"
+msgstr "<b> Posição dos Separadores </b>"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:46
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:981
+msgid "Highlight"
+msgstr "Destacar"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:47
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:961
+msgid "Activity"
+msgstr "Actividade"
+
#: ../glade/smuxi-frontend-gnome.glade.h:48
-msgid "Notification"
-msgstr "Notificação"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:953
+msgid "No Activity"
+msgstr "Nenhuma Actividade"
#: ../glade/smuxi-frontend-gnome.glade.h:49
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:381
-msgid "On Connect Commands:"
-msgstr "Comandos Ao Ligar:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:971
+msgid "Join/Part/Mode"
+msgstr "Juntar/Parte/Modo"
#: ../glade/smuxi-frontend-gnome.glade.h:50
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:427
-msgid "On Startup Commands:"
-msgstr "Comandos Ao Arrancar:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1009
+msgid "<b> Tab Colors </b>"
+msgstr "<b> Cores do Separador </b>"
#: ../glade/smuxi-frontend-gnome.glade.h:51
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1514
-msgid "Output"
-msgstr "Saída"
+msgid "Automatically switch to newly opened person chats"
+msgstr "Mudar automaticamente para conversas pessoais recém iniciadas"
#: ../glade/smuxi-frontend-gnome.glade.h:52
-msgid "Override"
-msgstr "Sobrepor"
+msgid "Automatically switch to newly opened group chats"
+msgstr "Mudar automaticament para conversas de grupo recém iniciadas"
#: ../glade/smuxi-frontend-gnome.glade.h:53
-msgid "Password:"
-msgstr "Palavra-passe:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1022
+msgid "Tabs"
+msgstr "Separadores"
#: ../glade/smuxi-frontend-gnome.glade.h:54
-msgid "Persistency Type:"
-msgstr "Tipo de Persistência:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1092
+msgid "Completion Character:"
+msgstr "Caractere de Acabamento:"
#: ../glade/smuxi-frontend-gnome.glade.h:55
-msgid "Persistent Buffer Lines:"
-msgstr "Linhas Persistentes do Buffer:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1112
+msgid "Command Character:"
+msgstr "Caractere de Comandos:"
#: ../glade/smuxi-frontend-gnome.glade.h:56
-msgid "Port:"
-msgstr "Porto:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1135
+msgid "Command History Size:"
+msgstr "Tamanho do Histórico de Comandos:"
#: ../glade/smuxi-frontend-gnome.glade.h:57
-msgid "Protocol:"
-msgstr "Protocolo:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1160
+msgid "Bash-Style Completion"
+msgstr "Completar ao Estilo Bash"
#: ../glade/smuxi-frontend-gnome.glade.h:58
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:338
-msgid "Realname:"
-msgstr "Nome Real:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1172
+msgid "<b> Entry Field </b>"
+msgstr "<b> Campo de Entrada </b>"
-#. Container child vbox6.Gtk.Box+BoxChild
-#. Container child vbox12.Gtk.Box+BoxChild
#: ../glade/smuxi-frontend-gnome.glade.h:59
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:856
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:881
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1376
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1401
-msgid "Right"
-msgstr "Direita"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1181
+msgid "Input"
+msgstr "Entrada"
#: ../glade/smuxi-frontend-gnome.glade.h:60
-msgid "Show Advanced Settings"
-msgstr "Mostrar Definições Avançadas"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1202
+msgid "Nick Colors"
+msgstr "Cores da Alcunha"
#: ../glade/smuxi-frontend-gnome.glade.h:61
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:170
-msgid "Show Password"
-msgstr "Mostrar a palavra-passe"
+msgid "<b> Person List Position </b>"
+msgstr "<b> Posição da Lista de Pessoas </b>"
#: ../glade/smuxi-frontend-gnome.glade.h:62
-msgid "Show Smuxi in the messaging menu"
-msgstr "Mostrar Smuxi no menu de mensagens"
+msgid "Override"
+msgstr "Sobrepor"
#: ../glade/smuxi-frontend-gnome.glade.h:63
-msgid "Show always"
-msgstr "Mostrar sempre"
+msgid "<b> Font </b>"
+msgstr "<b> Tipo de Letra </b>"
#: ../glade/smuxi-frontend-gnome.glade.h:64
-msgid "Show notification popups"
-msgstr "Mostrar popups de notificação"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1315
+msgid "<b> Topic Position </b>"
+msgstr "<b> Posição do Tópico </b>"
#: ../glade/smuxi-frontend-gnome.glade.h:65
-msgid "Show when window is closed"
-msgstr "Mostrar quando a janela é fechada"
+msgid "Foreground"
+msgstr "Primeiro plano"
#: ../glade/smuxi-frontend-gnome.glade.h:66
-msgid "Show when window is minimized"
-msgstr "Mostrar quando a janela é minimizada"
+msgid "Background"
+msgstr "Fundo"
#: ../glade/smuxi-frontend-gnome.glade.h:67
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerDialog.cs:16
-msgid "Smuxi - Server"
-msgstr "Smuxi - Servidor"
-
-#: ../glade/smuxi-frontend-gnome.glade.h:68
-msgid "Smuxi Preferences"
-msgstr "Preferências de Smuxi"
+msgid "<b> Color </b>"
+msgstr "<b> Cor </b>"
+#. This is a setting for character based line wrapping vs word based when showing messages
#: ../glade/smuxi-frontend-gnome.glade.h:69
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:628
-msgid "Strip Colors"
-msgstr "Remover Cores"
+msgid "_Wrap Mode:"
+msgstr "Modo de _Wrap:"
#: ../glade/smuxi-frontend-gnome.glade.h:70
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:667
-msgid "Strip Formattings"
-msgstr "Remover Formatações"
+msgid "<b> Chat </b>"
+msgstr "<b> Conversar </b>"
#: ../glade/smuxi-frontend-gnome.glade.h:71
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:707
-msgid "Strip UTF-8"
-msgstr "Remover UTF-8"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1466
+msgid "Highlight words:"
+msgstr "Destacar palavras:"
#: ../glade/smuxi-frontend-gnome.glade.h:72
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1022
-msgid "Tabs"
-msgstr "Separadores"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1490
+msgid "Beep on highlight"
+msgstr "Apitar no destaque"
#: ../glade/smuxi-frontend-gnome.glade.h:73
-msgid ""
-"The nickname to use. You can specify extra nicknames (separated by spaces) "
-"which will be used as fallbacks when the first choice is not available. By "
-"default $nick_ and $nick__ will be used as fallbacks."
-msgstr ""
-"A alcunha a usar. Você pode especificar alcunhas extra (separadas por "
-"espaços) que serão usadas quando a primeira escolha não estiver disponível. "
-"Estão predefinidos como extras $alcunha_ e $alcunha__."
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1502
+msgid "<b> Highlighting </b>"
+msgstr "<b> Destaque </b>"
#: ../glade/smuxi-frontend-gnome.glade.h:74
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:526
-msgid "Timestamp Format:"
-msgstr "Formato de Datas:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1514
+msgid "Output"
+msgstr "Saída"
-#. Container child vbox6.Gtk.Box+BoxChild
-#. Container child vbox11.Gtk.Box+BoxChild
#: ../glade/smuxi-frontend-gnome.glade.h:75
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:743
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:767
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1220
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1246
-msgid "Top"
-msgstr "Topo"
+msgid "Enable"
+msgstr "Activar"
#: ../glade/smuxi-frontend-gnome.glade.h:76
-msgid "Type:"
-msgstr "Tipo:"
+msgid "Show always"
+msgstr "Mostrar sempre"
#: ../glade/smuxi-frontend-gnome.glade.h:77
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:315
-msgid "Username:"
-msgstr "Nome de utilizador:"
+msgid "Show when window is minimized"
+msgstr "Mostrar quando a janela é minimizada"
#: ../glade/smuxi-frontend-gnome.glade.h:78
-msgid "Volatile Buffer Lines:"
-msgstr "Linhas Voláteis do Buffer:"
+msgid "Show when window is closed"
+msgstr "Mostrar quando a janela é fechada"
#: ../glade/smuxi-frontend-gnome.glade.h:79
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1681
-msgid "_Filters"
-msgstr "_Filtros"
+msgid "<b> Notification Area Icon </b>"
+msgstr "<b> Ícone da Área de Notificação </b>"
#: ../glade/smuxi-frontend-gnome.glade.h:80
-#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1523
-msgid "_Interface"
-msgstr "_Interface"
+msgid "Show Smuxi in the messaging menu"
+msgstr "Mostrar Smuxi no menu de mensagens"
#: ../glade/smuxi-frontend-gnome.glade.h:81
-msgid "_Logging"
-msgstr "Registo em _Log"
+msgid "<b>Messaging Menu</b>"
+msgstr "<b>Menu de Mensagens</b>"
#: ../glade/smuxi-frontend-gnome.glade.h:82
+msgid "Show notification popups"
+msgstr "Mostrar popups de notificação"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:83
+msgid "<b>Notification Popups</b>"
+msgstr "<b>Popups de Notificação</b>"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:84
+msgid "Notification"
+msgstr "Notificação"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:85
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1523
+msgid "_Interface"
+msgstr "_Interface"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:86
#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1589
msgid "_Servers"
msgstr "_Servidores"
-#. This is a setting for character based line wrapping vs word based when showing messages
-#: ../glade/smuxi-frontend-gnome.glade.h:84
-msgid "_Wrap Mode:"
-msgstr "Modo de _Wrap:"
+#: ../glade/smuxi-frontend-gnome.glade.h:87
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.SteticPreferencesDialog.cs:1681
+msgid "_Filters"
+msgstr "_Filtros"
-#: ../glade/smuxi-frontend-gnome.glade.h:85
-msgid ""
-"ss = seconds\n"
-"mm = minutes\n"
-"hh = hours (01 - 12)\n"
-"HH = hours (00 - 23)\n"
-"tt = AM/PM\n"
-"\n"
-"dd = day\n"
-"MM = month\n"
-"yy/yyyy = year"
-msgstr ""
-"ss = segundos\n"
-"mm = minutos\n"
-"hh = horas (01 - 12)\n"
-"HH = horas (00 - 23)\n"
-"tt = AM/PM\n"
-"\n"
-"dd = dia\n"
-"MM = mês\n"
-"yy/yyyy = ano"
+#: ../glade/smuxi-frontend-gnome.glade.h:88
+msgid "Enabled"
+msgstr "Activo"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:89
+msgid "Log Filtered Messages"
+msgstr "Registar Mensagens Filtradas"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:90
+msgid "_Logging"
+msgstr "Registo em _Log"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:91
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerDialog.cs:16
+msgid "Smuxi - Server"
+msgstr "Smuxi - Servidor"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:92
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.ServerWidget.cs:209
+msgid "Automatically connect to server at startup"
+msgstr "Ligar automaticamente ao servidor no inicio"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:93
+msgid "Protocol:"
+msgstr "Protocolo:"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:94
+msgid "Network:"
+msgstr "Rede:"
+
+#: ../glade/smuxi-frontend-gnome.glade.h:95
+msgid "Hostname:"
+msgstr "Nome da máquina:"
#: ../src/Frontend-GNOME/smuxi-frontend-gnome.desktop.in.h:1
-msgid "Chat with other people on IRC"
-msgstr "Conversar com outra pessoa no IRC"
+msgid "Smuxi"
+msgstr "Smuxi"
#: ../src/Frontend-GNOME/smuxi-frontend-gnome.desktop.in.h:2
msgid "IRC Chat"
msgstr "Conversação de IRC"
#: ../src/Frontend-GNOME/smuxi-frontend-gnome.desktop.in.h:3
-msgid "Smuxi"
-msgstr "Smuxi"
-
-#: ../src/Frontend-GNOME/smuxi-frontend-gnome.desktop.in.h:4
msgid "Smuxi IRC Client"
msgstr "Cliente de IRC Smuxi"
-#: ../src/Frontend-GNOME/AboutDialog.cs:60
+#: ../src/Frontend-GNOME/smuxi-frontend-gnome.desktop.in.h:4
+msgid "Chat with other people on IRC"
+msgstr "Conversar com outra pessoa no IRC"
+
+#: ../src/Frontend-GNOME/AboutDialog.cs:61
msgid "translator-credits"
-msgstr "Américo Monteiro <a_monteiro at netcabo.pt>\nPedro Ribeiro <p.m42.ribeiro at gmail.com>"
+msgstr ""
+"Américo Monteiro <a_monteiro at netcabo.pt>\n"
+"Pedro Ribeiro <p.m42.ribeiro at gmail.com>"
-#: ../src/Frontend-GNOME/AboutDialog.cs:65
+#: ../src/Frontend-GNOME/AboutDialog.cs:66
msgid "Smuxi Website"
msgstr "Site web do Smuxi"
@@ -489,88 +499,92 @@ msgstr "Aqui está informação de depuração, por favor reporte este bug!"
msgid "_Report Bug"
msgstr "_Reportar um Bug"
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:61
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:66
+msgid "Engine not found."
+msgstr "Motor não encontrado."
+
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:81
msgid "Engine Manager"
msgstr "Gestor de Motores"
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:80
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:100
msgid "Select which Smuxi engine you want to connect to"
msgstr "Seleccionar o motor Smuxi ao qual deseja ligar-se"
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:86
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:106
msgid "Engine:"
msgstr "Motor:"
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:97
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:117
msgid "Use Low Bandwidth Mode"
msgstr "Usar Modo de Largura de Banda Estreita"
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:121
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:181
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:358
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:141
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:201
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:383
msgid "Local Engine"
msgstr "Motor Local"
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:173
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:193
msgid "Please select an engine!"
msgstr "Por favor seleccione um motor!"
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:194
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:219
#, csharp-format
msgid "Your frontend version ({0}) does not match the engine version ({1})!"
msgstr "A sua versão de frontend {0} não equivale à versão do motor ({1})!"
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:221
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:246
msgid "An error occurred while connecting to the engine!"
msgstr "Ocorreu um erro ao ligar ao motor!"
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:222
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:247
#, csharp-format
msgid "Engine URL: {0}"
msgstr "URL do Motor: {0}"
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:225
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:250
#, csharp-format
msgid "Error: {0}"
msgstr "Erro: {0}"
-#: ../src/Frontend-GNOME/EngineManagerDialog.cs:295
+#: ../src/Frontend-GNOME/EngineManagerDialog.cs:320
#, csharp-format
msgid "Are you sure you want to delete the engine \"{0}\"?"
msgstr "Tem certeza que deseja apagar o motor \"{0}\"?"
-#: ../src/Frontend-GNOME/Entry.cs:443
+#: ../src/Frontend-GNOME/Entry.cs:430
#, csharp-format
msgid "You are going to paste {0} lines. Do you want to continue?"
msgstr "Você vai colar {0} linhas. Deseja continuar?"
#. TRANSLATOR: this line is used as a label / category for a
#. list of commands below
-#: ../src/Frontend-GNOME/Entry.cs:547
+#: ../src/Frontend-GNOME/Entry.cs:538
msgid "Frontend Commands"
msgstr "Comandos do Frontend"
-#: ../src/Frontend-GNOME/MainWindow.cs:252
+#: ../src/Frontend-GNOME/MainWindow.cs:253
msgid "_File"
msgstr "_Ficheiro"
-#: ../src/Frontend-GNOME/MainWindow.cs:276
+#: ../src/Frontend-GNOME/MainWindow.cs:271
msgid "_Server"
msgstr "_Servidor"
-#: ../src/Frontend-GNOME/MainWindow.cs:280
+#: ../src/Frontend-GNOME/MainWindow.cs:275
msgid "_Quick Connect"
msgstr "Ligação _Rápida"
-#: ../src/Frontend-GNOME/MainWindow.cs:291
+#: ../src/Frontend-GNOME/MainWindow.cs:286
msgid "_Manage"
msgstr "_Gerir"
-#: ../src/Frontend-GNOME/MainWindow.cs:298
+#: ../src/Frontend-GNOME/MainWindow.cs:293
msgid "_Chat"
msgstr "_Conversação"
-#: ../src/Frontend-GNOME/MainWindow.cs:302
+#: ../src/Frontend-GNOME/MainWindow.cs:297
msgid "Open / Join Chat"
msgstr "Iniciar / Juntar-se a uma Conversa"
@@ -586,62 +600,65 @@ msgstr "_Limpar Toda a Actividade"
msgid "_Next Chat"
msgstr "_Próxima Conversa"
-#: ../src/Frontend-GNOME/MainWindow.cs:335
+#: ../src/Frontend-GNOME/MainWindow.cs:332
msgid "_Previous Chat"
msgstr "Conversa An_terior"
-#: ../src/Frontend-GNOME/MainWindow.cs:389
+#: ../src/Frontend-GNOME/MainWindow.cs:383
msgid "Open Log"
-msgstr "Abrir Relatório"
+msgstr "Abrir Registo"
-#: ../src/Frontend-GNOME/MainWindow.cs:407
+#: ../src/Frontend-GNOME/MainWindow.cs:398
msgid "_Engine"
msgstr "_Motor"
-#: ../src/Frontend-GNOME/MainWindow.cs:411
+#: ../src/Frontend-GNOME/MainWindow.cs:402
msgid "_Use Local Engine"
msgstr "_Usar Motor Local"
-#: ../src/Frontend-GNOME/MainWindow.cs:417
+#: ../src/Frontend-GNOME/MainWindow.cs:408
msgid "_Add Remote Engine"
msgstr "_Adicionar Motor Remoto"
-#: ../src/Frontend-GNOME/MainWindow.cs:422
+#: ../src/Frontend-GNOME/MainWindow.cs:413
msgid "_Switch Remote Engine"
msgstr "_Trocar Motor Remoto"
-#: ../src/Frontend-GNOME/MainWindow.cs:429
+#: ../src/Frontend-GNOME/MainWindow.cs:420
msgid "_View"
msgstr "_Ver"
-#: ../src/Frontend-GNOME/MainWindow.cs:433
+#: ../src/Frontend-GNOME/MainWindow.cs:424
msgid "_Caret Mode"
msgstr "Modo _Caret"
-#: ../src/Frontend-GNOME/MainWindow.cs:445
+#: ../src/Frontend-GNOME/MainWindow.cs:433
msgid "_Browse Mode"
msgstr "Modo de _Explorador"
-#: ../src/Frontend-GNOME/MainWindow.cs:463
-#: ../src/Frontend-GNOME/Views/Chats/ChatView.cs:722
+#: ../src/Frontend-GNOME/MainWindow.cs:448
+#: ../src/Frontend-GNOME/Views/Chats/ChatView.cs:734
msgid "Show _Menubar"
msgstr "Mostrar Barra de _Menu"
-#: ../src/Frontend-GNOME/MainWindow.cs:494
+#: ../src/Frontend-GNOME/MainWindow.cs:453
+msgid "Show _Status Bar"
+msgstr "Mostrar Barra de E_stado"
+
+#: ../src/Frontend-GNOME/MainWindow.cs:463
+msgid "Show _Quick Join"
+msgstr "Mostrar Ligação _Rápida"
+
+#: ../src/Frontend-GNOME/MainWindow.cs:485
msgid "_Help"
msgstr "_Ajuda"
-#: ../src/Frontend-GNOME/MainWindow.cs:768
+#: ../src/Frontend-GNOME/MainWindow.cs:797
#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:225
msgid "Unable to add server: "
msgstr "Incapaz de adicionar servidor: "
-#: ../src/Frontend-GNOME/MainWindow.cs:828
-#, csharp-format
-msgid "Unknown ChatType: {0}"
-msgstr "Tipo de Conversação Desconhecida: {0}"
-
-#: ../src/Frontend-GNOME/MainWindow.cs:1097
+#: ../src/Frontend-GNOME/MainWindow.cs:1151
msgid ""
"Switching to local engine will disconnect you from the current engine!\n"
"Are you sure you want to do this?"
@@ -649,7 +666,7 @@ msgstr ""
"Mudar para o motor local irá desligá-lo do motor actual!\n"
"Tem certeza que deseja fazer isto?"
-#: ../src/Frontend-GNOME/MainWindow.cs:1139
+#: ../src/Frontend-GNOME/MainWindow.cs:1193
msgid ""
"Switching the remote engine will disconnect you from the current engine!\n"
"Are you sure you want to do this?"
@@ -708,11 +725,11 @@ msgstr "Filtros"
msgid "Logging"
msgstr "Registar em log"
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:642
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:655
msgid "Nicknames(s) field must not be empty."
msgstr "O campo da(s) alcunha(s) não pode estar vazio."
-#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:823
+#: ../src/Frontend-GNOME/Preferences/PreferencesDialog.cs:846
#, csharp-format
msgid "Invalid highlight regex: '{0}'. Reason: {1}"
msgstr "Destaque regex inválido: '{0}'. Razão: {1}"
@@ -741,21 +758,21 @@ msgstr ""
msgid "Error while fetching the list of group chats from the server."
msgstr "Erro ao obter a lista de grupos de conversação a partir do servidor."
-#: ../src/Frontend-GNOME/Frontend.cs:325
+#: ../src/Frontend-GNOME/Frontend.cs:356
msgid "Disconnected from engine."
msgstr "Desligado do motor."
-#: ../src/Frontend-GNOME/Frontend.cs:368
+#: ../src/Frontend-GNOME/Frontend.cs:398
#, csharp-format
msgid "Reconnecting to engine... (attempt {0})"
msgstr "A ligar novamente ao motor... (tentativa {0})"
-#: ../src/Frontend-GNOME/Frontend.cs:465
+#: ../src/Frontend-GNOME/Frontend.cs:496
#, csharp-format
msgid "Cause: {0}"
msgstr "Causa: {0}"
-#: ../src/Frontend-GNOME/Frontend.cs:583
+#: ../src/Frontend-GNOME/Frontend.cs:622
msgid ""
"The frontend has lost the connection to the server.\n"
"Do you want to reconnect now?"
@@ -763,7 +780,7 @@ msgstr ""
"O frontend perdeu a ligação ao servidor.\n"
"Deseja ligar novamente agora?"
-#: ../src/Frontend-GNOME/Frontend.cs:602
+#: ../src/Frontend-GNOME/Frontend.cs:641
msgid ""
"Reconnecting to the server has failed.\n"
"Do you want to try again?"
@@ -771,7 +788,7 @@ msgstr ""
"A re-ligação ao servidor falhou.\n"
"Deseja tentar de novo?"
-#: ../src/Frontend-GNOME/Frontend.cs:705
+#: ../src/Frontend-GNOME/Frontend.cs:860
msgid ""
"The server has lost the connection to the frontend.\n"
"Do you want to reconnect now?"
@@ -783,18 +800,18 @@ msgstr ""
msgid "Show"
msgstr "Mostrar"
-#: ../src/Frontend-GNOME/QuickConnectDialog.cs:62
+#: ../src/Frontend-GNOME/QuickConnectDialog.cs:56
#: ../src/Frontend-GNOME/Views/FilterListWidget.cs:238
#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:70
msgid "Protocol"
msgstr "Protocolo"
-#: ../src/Frontend-GNOME/QuickConnectDialog.cs:63
+#: ../src/Frontend-GNOME/QuickConnectDialog.cs:57
#: ../src/Frontend-GNOME/Preferences/ServerListView.cs:71
msgid "Hostname"
msgstr "Nome da máquina"
-#: ../src/Frontend-GNOME/QuickConnectDialog.cs:166
+#: ../src/Frontend-GNOME/QuickConnectDialog.cs:160
msgid "Unable to load server: "
msgstr "Incapaz de carregar servidor: "
@@ -835,15 +852,14 @@ msgstr "Obrigado"
#: ../src/Frontend-GNOME/Views/Assistants/Engine/EngineAssistant.cs:304
msgid ""
"An engine with this name already exists! Please specify a different one."
-msgstr ""
-"Já existe um motor com este nome! Por favor especifique um diferente."
+msgstr "Já existe um motor com este nome! Por favor especifique um diferente."
-#: ../src/Frontend-GNOME/Views/MessageTextView.cs:204
+#: ../src/Frontend-GNOME/Views/MessageTextView.cs:261
#, csharp-format
msgid "Day changed from {0} to {1}"
msgstr "Dia alterado de {0} para {1}"
-#: ../src/Frontend-GNOME/Views/MessageTextView.cs:210
+#: ../src/Frontend-GNOME/Views/MessageTextView.cs:267
#, csharp-format
msgid "Day changed to {0}"
msgstr "Dia alterado para {0}"
@@ -882,30 +898,30 @@ msgstr "Tipo"
msgid "Pattern"
msgstr "Padrão"
-#: ../src/Frontend-GNOME/Views/Chats/ChatView.cs:506
+#: ../src/Frontend-GNOME/Views/Chats/ChatView.cs:508
msgid "Low Bandwidth Mode is active: no messages synced."
-msgstr "Modo de Largura de Banda Estreita activo: mensagens não sincronizadas"
+msgstr "Modo de Largura de Banda Estreita activo: mensagens não sincronizadas."
-#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:245
+#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:260
#, csharp-format
msgid "Retrieving user list for {0}..."
msgstr "A obter lista de utilizadores para {0}..."
#. TRANSLATOR: this string will be appended to the one above
-#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:279
+#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:294
msgid "done."
msgstr "feito."
-#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:290
+#: ../src/Frontend-GNOME/Views/Chats/GroupChatView.cs:305
msgid "Person"
msgstr "Pessoa"
-#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:69
+#: ../src/Frontend-GNOME/Views/Chats/ProtocolChatView.cs:139
msgid ""
"Closing the protocol chat will also close all open chats connected to it!\n"
"Are you sure you want to do this?"
msgstr ""
-"Fechar o protocolo de conversa irá também fechar todas as conversações "
+"Fechar a conversa de protocolo irá também fechar todas as conversações "
"abertas ligadas a ele!\n"
"Tem certeza que deseja fazer isto?"
@@ -951,6 +967,10 @@ msgstr "Smuxi - Procurar Grupo de Conversação"
msgid "_Name:"
msgstr "_Nome:"
+#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.JoinWidget.cs:54
+msgid "Join Chat"
+msgstr "Juntar-se a uma Conversa"
+
#: ../src/Frontend-GNOME/gtk-gui/Smuxi.Frontend.Gnome.QuickConnectDialog.cs:19
msgid "Smuxi - Quick Connect"
msgstr "Smuxi - Ligação Rápida"
@@ -1162,3 +1182,5 @@ msgstr "C_omandos Ao Ligar:"
msgid "_Ignore Commands"
msgstr "Comandos de Ignorar:"
+#~ msgid "Unknown ChatType: {0}"
+#~ msgstr "Tipo de Conversação Desconhecida: {0}"
diff --git a/po-Server/pt.po b/po-Server/pt.po
index 6fc5e35..e08425b 100644
--- a/po-Server/pt.po
+++ b/po-Server/pt.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: smuxi-frontend \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-12-29 09:21+0100\n"
-"PO-Revision-Date: 2012-01-07 17:26+0100\n"
+"POT-Creation-Date: 2012-07-25 06:26+0200\n"
+"PO-Revision-Date: 2012-07-30 09:16+0100\n"
"Last-Translator: Pedro Ribeiro <p.m42.ribeiro at gmail.com>\n"
"Language-Team: Portuguese <traduz at debianpt.org>\n"
"Language: pt\n"
@@ -20,128 +20,222 @@ msgstr ""
"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../src/Frontend/CommandManager.cs:143
-#, csharp-format
-msgid "Unknown Command: {0}"
-msgstr "Comando Desconhecido: {0}"
+#: ../src/Server/Main.cs:71
+msgid "Add user to Server"
+msgstr "Acrescentar utilizador ao Servidor"
-#: ../src/Frontend/EngineManager.cs:122
-msgid "Engine must not be empty."
-msgstr "O valor de 'Engine' não deve estar vazio"
+#: ../src/Server/Main.cs:80
+msgid "Modify existing user of Server"
+msgstr "Modificar utilizador existente"
-#: ../src/Frontend/EngineManager.cs:133
-msgid "Engine does not exist."
-msgstr "Não existe esse 'Engine'."
+#: ../src/Server/Main.cs:89
+msgid "Delete user from Server"
+msgstr "Apagar utilizador do Servidor"
-#: ../src/Frontend/EngineManager.cs:318
-#, csharp-format
-msgid "Unknown channel ({0}) - only the following channel types are supported:"
-msgstr ""
-"Canal desconhecido ({0}) - apenas os seguintes tipos de canais são "
-"suportados:"
+#: ../src/Server/Main.cs:98
+msgid "List all existing users of Server"
+msgstr "Listar todos os utilizadores do Servidor"
-#: ../src/Frontend/EngineManager.cs:327
-msgid ""
-"Registration with engine failed! The username and/or password were wrong - "
-"please verify them."
-msgstr ""
-"O registo com o motor falhou! O nome de utilizador e/ou a palavra-passe "
-"estavam errados - por favor verifique-os."
+#: ../src/Server/Main.cs:107
+msgid "User to create, modify or delete"
+msgstr "Utilizador a criar, modificar ou apagar"
+
+#: ../src/Server/Main.cs:116
+msgid "Password of the user when creating or modifying a user"
+msgstr "Palavra-chave do utilizador ao criar ou modificar um utilizador"
-#: ../src/Frontend/SshTunnelManager.cs:145
-msgid "SSH client application was not found: "
-msgstr "A aplicação cliente SSH não foi encontrada: "
+#: ../src/Server/Main.cs:125
+msgid "Enable debug output"
+msgstr "Ativar saída de debug"
-#: ../src/Frontend/SshTunnelManager.cs:148
+#: ../src/Server/Main.cs:133
msgid ""
-"SSH client must be either OpenSSH (ssh) or Plink (plink.exe, not putty.exe)"
+"Optimize message buffers and exit (valid values: none, defrag, index, all)"
msgstr ""
-"O cliente SSH tem de ser ou OpenSSH (ssh) ou Plink (plink.exe, não putty.exe)"
+"Optimizar buffers de mensagens e sair (valores válidos: none, defrag, index, "
+"all) "
-#: ../src/Frontend/SshTunnelManager.cs:185
+#: ../src/Server/Main.cs:146
+msgid "Show this help"
+msgstr "Mostrar esta ajuda"
+
+#: ../src/Server/Main.cs:148
+msgid "Usage: smuxi-server [options]"
+msgstr "Utilização: smuxi-server [opções]"
+
+#: ../src/Server/Main.cs:150
+msgid "Options:"
+msgstr "Opções:"
+
+#: ../src/Server/Main.cs:161
#, csharp-format
-msgid ""
-"The local SSH forwarding port {0} is already in use. Is there an old SSH "
-"tunnel still active?"
-msgstr ""
-"O porto de encaminhamento de SSH local {0} já está em uso. Existe um túnel "
-"SSH antigo ainda activo?"
+msgid "Unknown option: '{0}'"
+msgstr "Opção Desconhecida: '{0}'"
-#: ../src/Frontend/SshTunnelManager.cs:209
+#: ../src/Server/Main.cs:188
#, csharp-format
+msgid "Command line error: {0}"
+msgstr "Erro na linha de comandos: {0}"
+
+#: ../src/Server/Main.cs:232
msgid ""
-"SSH tunnel setup failed (exit code: {0})\n"
-"\n"
-"SSH program: {1}\n"
-"SSH parameters: {2}\n"
-"\n"
-"Program Error:\n"
-"{3}\n"
-"Program Output:\n"
-"{4}\n"
+"At most one of --add-user, --modify-user, and --delete-user may be used at a "
+"time."
msgstr ""
-"Configuração do túnel SSH falhou (código ao terminar: {0})\n"
-"\n"
-"Programa SSH: {1}\n"
-"Parâmetros SSH: {2}\n"
-"\n"
-"Erro do Programa:\n"
-"{3}\n"
-"Saída do Programa:\n"
-"{4}\n"
-
-#: ../src/Frontend/SshTunnelManager.cs:330
-#: ../src/Frontend/SshTunnelManager.cs:476
-msgid "SSH keyfile not found."
-msgstr "Ficheiro de chaves SSH não encontrado."
-
-#: ../src/Frontend/SshTunnelManager.cs:336
-#: ../src/Frontend/SshTunnelManager.cs:482
-msgid "SSH keyfile could not be read."
-msgstr "Ficheiro de chaves SSH não pode ser lido."
-
-#: ../src/Frontend/SshTunnelManager.cs:424
+"Só pode ser usado um de --add-user, --modify-user ou --delete-user de cada "
+"vez."
+
+#: ../src/Server/Main.cs:242
+msgid "You must specify a username with the --username option."
+msgstr "Tem que indicar um nome de utilizador com a opção --username."
+
+#: ../src/Server/Main.cs:248
+msgid "Username must not be empty."
+msgstr "O nome de utilizador não deve estar vazio"
+
+#: ../src/Server/Main.cs:258
+msgid "You must specify a password with the --password option."
+msgstr "Tem que indicar uma palavra-chave com a opção --password."
+
+#: ../src/Server/Main.cs:264
+msgid "Password must not be empty."
+msgstr "A palavra-chave não deve estar vazia"
+
+#: ../src/Server/Main.cs:283
#, csharp-format
msgid ""
-"OpenSSH version number not found (exit code: {0})\n"
-"\n"
-"SSH program: {1}\n"
-"\n"
-"Program Error:\n"
-"{2}\n"
-"Program Output:\n"
-"{3}\n"
+"Invalid optimization value passed to --optimize-message-buffer, valid values "
+"are: {0}"
msgstr ""
-"Número de versão de OpenSSH não encontrado (código ao terminar: {0})\n"
-"\n"
-"Programa SSH: {1}\n"
-"\n"
-"Erro do Programa:\n"
-"{2}\n"
-"Saída do Programa:\n"
-"{3}\n"
-
-#: ../src/Frontend/SshTunnelManager.cs:467
-msgid "PuTTY / Plink requires a username to be set."
-msgstr "PuTTY / Plink requer que seja definido um nome de utilizador."
-
-#: ../src/Frontend/SshTunnelManager.cs:555
+"Valor de optimização inválido passado para --optimize-message-buffer. Os "
+"valores válidos são: {0}"
+
+#: ../src/Server/Main.cs:303
#, csharp-format
-msgid ""
-"Plink version number not found (exit code: {0})\n"
-"\n"
-"SSH program: {1}\n"
-"\n"
-"Program Error:\n"
-"{2}\n"
-"Program Output:\n"
-"{3}\n"
-msgstr ""
-"Número de versão de Plink não encontrado (código ao terminar: {0})\n"
-"\n"
-"Programa SSH: {1}\n"
-"\n"
-"Erro do Programa:\n"
-"{2}\n"
-"Saída do Programa:\n"
-"{3}\n"
+msgid "User \"{0}\" successfully added to server."
+msgstr "Utilizador \"{0}\" adicionado ao servidor com sucesso."
+
+#: ../src/Server/Main.cs:312
+#, csharp-format
+msgid "User \"{0}\" successfully modified."
+msgstr "Utilizador \"{0}\" modificado com sucesso."
+
+#: ../src/Server/Main.cs:321
+#, csharp-format
+msgid "User \"{0}\" successfully deleted from server."
+msgstr "Utilizador \"{0}\" removido do servidor com sucesso."
+
+#: ../src/Server/Main.cs:328
+msgid "Users:"
+msgstr "Utilizadores:"
+
+#: ../src/Server/Main.cs:376
+#, csharp-format
+msgid "Successfully optimized {0} message buffers."
+msgstr "{0} buffers de mensagens optimizados com sucesso."
+
+#: ../src/Server/Main.cs:389
+#, csharp-format
+msgid "Failed to optimize message buffers: {0}"
+msgstr "Falhou a optimização dos buffers de mensagens: {0}"
+
+#~ msgid "Engine does not exist."
+#~ msgstr "Não existe esse 'Engine'."
+
+#~ msgid ""
+#~ "Unknown channel ({0}) - only the following channel types are supported:"
+#~ msgstr ""
+#~ "Canal desconhecido ({0}) - apenas os seguintes tipos de canais são "
+#~ "suportados:"
+
+#~ msgid ""
+#~ "Registration with engine failed! The username and/or password were wrong "
+#~ "- please verify them."
+#~ msgstr ""
+#~ "O registo com o motor falhou! O nome de utilizador e/ou a palavra-passe "
+#~ "estavam errados - por favor verifique-os."
+
+#~ msgid "SSH client application was not found: "
+#~ msgstr "A aplicação cliente SSH não foi encontrada: "
+
+#~ msgid ""
+#~ "SSH client must be either OpenSSH (ssh) or Plink (plink.exe, not putty."
+#~ "exe)"
+#~ msgstr ""
+#~ "O cliente SSH tem de ser ou OpenSSH (ssh) ou Plink (plink.exe, não putty."
+#~ "exe)"
+
+#~ msgid ""
+#~ "The local SSH forwarding port {0} is already in use. Is there an old SSH "
+#~ "tunnel still active?"
+#~ msgstr ""
+#~ "O porto de encaminhamento de SSH local {0} já está em uso. Existe um "
+#~ "túnel SSH antigo ainda activo?"
+
+#~ msgid ""
+#~ "SSH tunnel setup failed (exit code: {0})\n"
+#~ "\n"
+#~ "SSH program: {1}\n"
+#~ "SSH parameters: {2}\n"
+#~ "\n"
+#~ "Program Error:\n"
+#~ "{3}\n"
+#~ "Program Output:\n"
+#~ "{4}\n"
+#~ msgstr ""
+#~ "Configuração do túnel SSH falhou (código ao terminar: {0})\n"
+#~ "\n"
+#~ "Programa SSH: {1}\n"
+#~ "Parâmetros SSH: {2}\n"
+#~ "\n"
+#~ "Erro do Programa:\n"
+#~ "{3}\n"
+#~ "Saída do Programa:\n"
+#~ "{4}\n"
+
+#~ msgid "SSH keyfile not found."
+#~ msgstr "Ficheiro de chaves SSH não encontrado."
+
+#~ msgid "SSH keyfile could not be read."
+#~ msgstr "Ficheiro de chaves SSH não pode ser lido."
+
+#~ msgid ""
+#~ "OpenSSH version number not found (exit code: {0})\n"
+#~ "\n"
+#~ "SSH program: {1}\n"
+#~ "\n"
+#~ "Program Error:\n"
+#~ "{2}\n"
+#~ "Program Output:\n"
+#~ "{3}\n"
+#~ msgstr ""
+#~ "Número de versão de OpenSSH não encontrado (código ao terminar: {0})\n"
+#~ "\n"
+#~ "Programa SSH: {1}\n"
+#~ "\n"
+#~ "Erro do Programa:\n"
+#~ "{2}\n"
+#~ "Saída do Programa:\n"
+#~ "{3}\n"
+
+#~ msgid "PuTTY / Plink requires a username to be set."
+#~ msgstr "PuTTY / Plink requer que seja definido um nome de utilizador."
+
+#~ msgid ""
+#~ "Plink version number not found (exit code: {0})\n"
+#~ "\n"
+#~ "SSH program: {1}\n"
+#~ "\n"
+#~ "Program Error:\n"
+#~ "{2}\n"
+#~ "Program Output:\n"
+#~ "{3}\n"
+#~ msgstr ""
+#~ "Número de versão de Plink não encontrado (código ao terminar: {0})\n"
+#~ "\n"
+#~ "Programa SSH: {1}\n"
+#~ "\n"
+#~ "Erro do Programa:\n"
+#~ "{2}\n"
+#~ "Saída do Programa:\n"
+#~ "{3}\n"
diff --git a/src/AssemblyVersion.cs b/src/AssemblyVersion.cs
index 223a661..b6ca745 100644
--- a/src/AssemblyVersion.cs
+++ b/src/AssemblyVersion.cs
@@ -36,5 +36,5 @@ using System.Runtime.CompilerServices;
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
-[assembly: AssemblyVersion("0.8.10")]
+[assembly: AssemblyVersion("0.8.10.2")]
diff --git a/src/Common/Defines.cs b/src/Common/Defines.cs
index 4fdc804..80dbfa0 100644
--- a/src/Common/Defines.cs
+++ b/src/Common/Defines.cs
@@ -26,11 +26,11 @@ namespace Smuxi.Common
{
public static class Defines
{
- public const string GitBranch = "master";
- public const string GitCommitHash = "5df4305";
+ public const string GitBranch = "stable";
+ public const string GitCommitHash = "eacbbd5";
private static readonly string f_InstallPrefix = "/usr/local";
- private static readonly string f_DistVersion = "master/5df4305";
+ private static readonly string f_DistVersion = "stable/eacbbd5";
private static readonly string f_TwitterApiKey = "60QV2qQx9cS7y1BJDbgAA|2VgD6qQKddsF5HYQ0TrRgs3tFTnCwDONBmRlTmG658";
public static string InstallPrefix {
diff --git a/src/Common/Makefile.in b/src/Common/Makefile.in
index 49d3af6..4cd9beb 100644
--- a/src/Common/Makefile.in
+++ b/src/Common/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Engine-IRC/Makefile.in b/src/Engine-IRC/Makefile.in
index 2372f5c..0039fea 100644
--- a/src/Engine-IRC/Makefile.in
+++ b/src/Engine-IRC/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Engine-IRC/Protocols/Irc/IrcMessageBuilder.cs b/src/Engine-IRC/Protocols/Irc/IrcMessageBuilder.cs
index caabb6a..fa66d64 100644
--- a/src/Engine-IRC/Protocols/Irc/IrcMessageBuilder.cs
+++ b/src/Engine-IRC/Protocols/Irc/IrcMessageBuilder.cs
@@ -27,7 +27,7 @@ namespace Smuxi.Engine
Bold = 2,
Color = 3,
Clear = 15,
- Italic = 26,
+ Italic = 29,
Underline = 31,
}
diff --git a/src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs b/src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs
index f480407..d447224 100644
--- a/src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs
+++ b/src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs
@@ -1301,11 +1301,10 @@ namespace Smuxi.Engine
private IList<string> SplitMessage(string command, string target, string message)
{
List<string> messages = new List<string>();
- int length;
int line = 0;
do {
- length = GetProtocolMessageLength(command, target, message);
- if (length <= 512) {
+ var lineByteLength = GetProtocolMessageLength(command, target, message);
+ if (lineByteLength <= 512) {
if (line > 0) {
// remove leading spaces as we are a new line
messages.Add(message.TrimStart(new char[] {' '}));
@@ -1316,9 +1315,18 @@ namespace Smuxi.Engine
}
line++;
- int maxMsgLen = message.Length - (length - 512);
- string chunk = message.Substring(0, maxMsgLen);
- string nextChar = message.Substring(maxMsgLen, 1);
+ // UTF8 can have multi-byte chars, thus we need to remove char
+ // by char and see when it fits into an IRC message
+ var chunkBuilder = new StringBuilder(message);
+ var chunkByteLength = lineByteLength;
+ while (chunkByteLength > 512) {
+ chunkBuilder.Length--;
+ chunkByteLength = GetProtocolMessageLength(
+ command, target, chunkBuilder.ToString()
+ );
+ }
+ var chunk = chunkBuilder.ToString();
+ string nextChar = message.Substring(chunk.Length, 1);
if (nextChar != " ") {
// we split in the middle of a word, split it better!
int lastWordPos = chunk.LastIndexOf(" ");
@@ -2783,7 +2791,7 @@ namespace Smuxi.Engine
//_Logger.Debug("_OnNames() e.Channel: " + e.Channel);
#endif
GroupChatModel groupChat = (GroupChatModel) GetChat(e.Data.Channel, ChatType.Group);
- if (groupChat != null && groupChat.IsSynced) {
+ if (groupChat == null || groupChat.IsSynced) {
// nothing todo for us
return;
}
@@ -2899,7 +2907,7 @@ namespace Smuxi.Engine
e.Channel);
if (!String.IsNullOrEmpty(e.PartMessage)) {
- builder.AppendText("[");
+ builder.AppendText(" [");
// colors in part messages are annoying
builder.StripColors = true;
builder.AppendMessage(e.PartMessage);
diff --git a/src/Engine-MSNP/Makefile.in b/src/Engine-MSNP/Makefile.in
index 1676375..dab0cd4 100644
--- a/src/Engine-MSNP/Makefile.in
+++ b/src/Engine-MSNP/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Engine-OSCAR/Makefile.in b/src/Engine-OSCAR/Makefile.in
index d8b9293..dc3d5a3 100644
--- a/src/Engine-OSCAR/Makefile.in
+++ b/src/Engine-OSCAR/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Engine-Twitter/Makefile.in b/src/Engine-Twitter/Makefile.in
index e68fa55..69f1d58 100644
--- a/src/Engine-Twitter/Makefile.in
+++ b/src/Engine-Twitter/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs b/src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs
index 996f80b..fb4184b 100644
--- a/src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs
+++ b/src/Engine-Twitter/Protocols/Twitter/TwitterProtocolManager.cs
@@ -951,15 +951,17 @@ namespace Smuxi.Engine
List<TwitterStatus> sortedTimeline = SortTimeline(timeline);
foreach (TwitterStatus status in sortedTimeline) {
String text;
- if ((status.IsTruncated != null && !status.IsTruncated.Value) ||
- status.RetweetedStatus == null) {
- text = status.Text;
- } else {
+ // LAME: Twitter lies in the truncated field and says it's not
+ // truncated while it is, thus always use retweet_status if
+ // available
+ if (status.RetweetedStatus != null) {
text = String.Format(
"RT @{0}: {1}",
status.RetweetedStatus.User.ScreenName,
status.RetweetedStatus.Text
);
+ } else {
+ text = status.Text;
}
MessageModel msg = CreateMessage(
status.CreatedDate,
@@ -1318,7 +1320,8 @@ namespace Smuxi.Engine
}
var builder = CreateMessageBuilder();
- builder.TimeStamp = when;
+ // MessageModel serializer expects UTC values
+ builder.TimeStamp = when.ToUniversalTime();
builder.AppendSenderPrefix(GetPerson(from), highlight);
builder.AppendMessage(message);
return builder.ToMessage();
diff --git a/src/Engine-XMPP/Makefile.in b/src/Engine-XMPP/Makefile.in
index e93b1c6..42aa3e2 100644
--- a/src/Engine-XMPP/Makefile.in
+++ b/src/Engine-XMPP/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Engine-XMPP/Protocols/Xmpp/XmppProtocolManager.cs b/src/Engine-XMPP/Protocols/Xmpp/XmppProtocolManager.cs
index 2840b2f..eea9c97 100644
--- a/src/Engine-XMPP/Protocols/Xmpp/XmppProtocolManager.cs
+++ b/src/Engine-XMPP/Protocols/Xmpp/XmppProtocolManager.cs
@@ -628,11 +628,13 @@ namespace Smuxi.Engine
Session.AddChat(groupChat);
Session.SyncChat(groupChat);
}
- person = groupChat.GetPerson(msg.From.Resource);
+ // resource can be empty for room messages
+ var sender_id = msg.From.Resource ?? msg.From.Bare;
+ person = groupChat.GetPerson(sender_id);
if (person == null) {
// happens in case of a delayed message if the participant has left meanwhile
- person = new PersonModel(msg.From.Resource,
- msg.From.Resource,
+ person = new PersonModel(sender_id,
+ sender_id,
NetworkID, Protocol, this);
}
diff --git a/src/Engine/Config/Config.cs b/src/Engine/Config/Config.cs
index 7927b44..7089987 100644
--- a/src/Engine/Config/Config.cs
+++ b/src/Engine/Config/Config.cs
@@ -114,8 +114,10 @@ namespace Smuxi.Engine
protected T Get<T>(string key, T defaultvalue)
{
+#if CONFIG_DEBUG
Trace.Call(key, defaultvalue);
-
+#endif
+
string inisection = _IniGetSection(key);
string inikey = _IniGetKey(key);
IniSection section = m_IniDocument.Sections[inisection];
@@ -146,7 +148,9 @@ namespace Smuxi.Engine
protected object Get(string key, object defaultvalue)
{
+#if CONFIG_DEBUG
Trace.Call(key, defaultvalue);
+#endif
#if CONFIG_GCONF
try {
@@ -201,8 +205,10 @@ namespace Smuxi.Engine
private void _Set(string key, object valueobj)
{
+#if CONFIG_DEBUG
Trace.Call(key, valueobj);
-
+#endif
+
#if CONFIG_GCONF
_GConf.Set(_GConfPrefix+key, valueobj);
#elif CONFIG_NINI
@@ -609,8 +615,10 @@ namespace Smuxi.Engine
public void Remove(string key)
{
+#if CONFIG_DEBUG
Trace.Call(key);
-
+#endif
+
bool isSection = false;
if (key.EndsWith("/")) {
isSection = true;
@@ -645,8 +653,10 @@ namespace Smuxi.Engine
protected void LoadUserEntry(string user, string key, object defaultvalue)
{
+#if CONFIG_DEBUG
Trace.Call(user, key, defaultvalue);
-
+#endif
+
string prefix = "Engine/Users/";
string ukey = prefix+user+"/"+key;
object obj;
@@ -662,8 +672,10 @@ namespace Smuxi.Engine
protected void LoadEntry(string key, object defaultvalue)
{
+#if CONFIG_DEBUG
Trace.Call(key, defaultvalue);
-
+#endif
+
object obj;
if (defaultvalue is string) {
obj = Get<string>(key, (string) defaultvalue);
diff --git a/src/Engine/Makefile.in b/src/Engine/Makefile.in
index c12e18b..431da86 100644
--- a/src/Engine/Makefile.in
+++ b/src/Engine/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Engine/Session.cs b/src/Engine/Session.cs
index e0301b7..1eefb78 100644
--- a/src/Engine/Session.cs
+++ b/src/Engine/Session.cs
@@ -453,15 +453,16 @@ namespace Smuxi.Engine
var network = cd.Parameter;
var serverSettings = new ServerListController(UserConfig);
server = serverSettings.GetServerByNetwork(network);
+ if (server == null) {
+ // HACK: simply assume the user meant irc if not specified
+ // as Smuxi is still primarly an IRC client
+ protocol = "irc";
+ string cmd = String.Format("{0}connect irc {1}",
+ cd.CommandCharacter, cd.Parameter);
+ cd = new CommandModel(fm, cd.Chat, cd.CommandCharacter, cmd);
+ }
} else if (cd.DataArray.Length >= 3) {
protocol = cd.DataArray[1];
- } else if (cd.DataArray.Length >= 2) {
- // HACK: simply assume the user meant irc if not specified as
- // Smuxi is still primarly an IRC client
- protocol = "irc";
- string cmd = String.Format("{0}connect irc {1}",
- cd.CommandCharacter, cd.Parameter);
- cd = new CommandModel(fm, cd.Chat, cd.CommandCharacter, cmd);
} else {
_NotEnoughParameters(cd);
return;
diff --git a/src/Frontend-Curses/Makefile.in b/src/Frontend-Curses/Makefile.in
index 4fc485d..af95a7f 100644
--- a/src/Frontend-Curses/Makefile.in
+++ b/src/Frontend-Curses/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Frontend-GNOME-IRC/IrcGroupChatView.cs b/src/Frontend-GNOME-IRC/IrcGroupChatView.cs
index 9b38778..2ee4050 100644
--- a/src/Frontend-GNOME-IRC/IrcGroupChatView.cs
+++ b/src/Frontend-GNOME-IRC/IrcGroupChatView.cs
@@ -1,7 +1,7 @@
/*
* Smuxi - Smart MUltipleXed Irc
*
- * Copyright (c) 2005-2011 Mirco Bauer <meebey at meebey.net>
+ * Copyright (c) 2005-2011, 2013 Mirco Bauer <meebey at meebey.net>
*
* Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
*
@@ -216,13 +216,14 @@ namespace Smuxi.Frontend.Gnome
}
foreach (PersonModel person in persons) {
+ var per = person;
ThreadPool.QueueUserWorkItem(delegate {
try {
_IrcProtocolManager.CommandKick(
new CommandModel(
Frontend.FrontendManager,
ChatModel,
- person.ID
+ per.ID
)
);
} catch (Exception ex) {
@@ -242,13 +243,14 @@ namespace Smuxi.Frontend.Gnome
}
foreach (PersonModel person in persons) {
+ var per = person;
ThreadPool.QueueUserWorkItem(delegate {
try {
_IrcProtocolManager.CommandKickban(
new CommandModel(
Frontend.FrontendManager,
ChatModel,
- person.ID
+ per.ID
)
);
} catch (Exception ex) {
@@ -325,13 +327,14 @@ namespace Smuxi.Frontend.Gnome
}
foreach (PersonModel person in persons) {
+ var per = person;
ThreadPool.QueueUserWorkItem(delegate {
try {
_IrcProtocolManager.CommandMessageQuery(
new CommandModel(
Frontend.FrontendManager,
ChatModel,
- person.ID
+ per.ID
)
);
} catch (Exception ex) {
@@ -351,13 +354,14 @@ namespace Smuxi.Frontend.Gnome
}
foreach (PersonModel person in persons) {
+ var per = person;
ThreadPool.QueueUserWorkItem(delegate {
try {
_IrcProtocolManager.CommandWhoIs(
new CommandModel(
Frontend.FrontendManager,
ChatModel,
- person.ID
+ per.ID
)
);
} catch (Exception ex) {
diff --git a/src/Frontend-GNOME-IRC/Makefile.in b/src/Frontend-GNOME-IRC/Makefile.in
index 804d71c..1b45aa2 100644
--- a/src/Frontend-GNOME-IRC/Makefile.in
+++ b/src/Frontend-GNOME-IRC/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Frontend-GNOME-XMPP/Makefile.in b/src/Frontend-GNOME-XMPP/Makefile.in
index 0373bc2..a0bab93 100644
--- a/src/Frontend-GNOME-XMPP/Makefile.in
+++ b/src/Frontend-GNOME-XMPP/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Frontend-GNOME/ChatViewManager.cs b/src/Frontend-GNOME/ChatViewManager.cs
index e681bde..ede6de4 100644
--- a/src/Frontend-GNOME/ChatViewManager.cs
+++ b/src/Frontend-GNOME/ChatViewManager.cs
@@ -1,7 +1,7 @@
/*
* Smuxi - Smart MUltipleXed Irc
*
- * Copyright (c) 2005-2011 Mirco Bauer <meebey at meebey.net>
+ * Copyright (c) 2005-2013 Mirco Bauer <meebey at meebey.net>
*
* Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
*
@@ -215,9 +215,14 @@ namespace Smuxi.Frontend.Gnome
{
Trace.Call();
+ var chats = new List<ChatView>(f_Chats);
+ foreach (var chat in chats) {
+ // clean up ChatView and all notify related resources like
+ // StatusIconManager, NotifyManager and IndicateManager
+ RemoveChat(chat.ChatModel);
+ }
+
f_Config = null;
- f_Chats.Clear();
- f_Notebook.RemoveAllPages();
SyncedChats.Clear();
SyncManager.Clear();
}
diff --git a/src/Frontend-GNOME/Entry.cs b/src/Frontend-GNOME/Entry.cs
index 8dc293a..b3537e5 100644
--- a/src/Frontend-GNOME/Entry.cs
+++ b/src/Frontend-GNOME/Entry.cs
@@ -243,6 +243,14 @@ namespace Smuxi.Frontend.Gnome
protected virtual void ProcessKey(Gtk.KeyPressEventArgs e)
{
+ if (Environment.OSVersion.Platform == PlatformID.Win32NT &&
+ Text.Length == 0) {
+ // HACK: workaround rendering issue on Windows where the text
+ // cursor and first typed character are not showing up until
+ // a 2nd character is typed, see #810
+ QueueDraw();
+ }
+
int keynumber = (int)e.Event.KeyValue;
Gdk.Key key = e.Event.Key;
if ((e.Event.State & Gdk.ModifierType.ControlMask) != 0) {
@@ -883,12 +891,12 @@ namespace Smuxi.Frontend.Gnome
}
#if GTKSPELL
- [DllImport("gtkspell.dll")]
+ [DllImport("gtkspell.dll", CallingConvention = CallingConvention.Cdecl)]
static extern IntPtr gtkspell_new_attach(IntPtr text_view,
string locale,
IntPtr error);
- [DllImport("gtkspell.dll")]
+ [DllImport("gtkspell.dll", CallingConvention = CallingConvention.Cdecl)]
static extern void gtkspell_detach(IntPtr obj);
#endif
}
diff --git a/src/Frontend-GNOME/Frontend.cs b/src/Frontend-GNOME/Frontend.cs
index 3ecd8eb..6cd2431 100644
--- a/src/Frontend-GNOME/Frontend.cs
+++ b/src/Frontend-GNOME/Frontend.cs
@@ -62,6 +62,8 @@ namespace Smuxi.Frontend.Gnome
public static string IconName { get; private set; }
public static bool HasSystemIconTheme { get; private set; }
public static bool HadSession { get; private set; }
+ public static bool IsGtkInitialized { get; private set; }
+ public static bool InGtkApplicationRun { get; private set; }
public static event EventHandler SessionPropertyChanged;
@@ -232,8 +234,10 @@ namespace Smuxi.Frontend.Gnome
if (_SplashScreenWindow != null) {
_SplashScreenWindow.Destroy();
}
-
+
+ InGtkApplicationRun = true;
Gtk.Application.Run();
+ InGtkApplicationRun = false;
#if LOG4NET
_Logger.Warn("Gtk.Application.Run() returned!");
#endif
@@ -759,11 +763,18 @@ namespace Smuxi.Frontend.Gnome
var host = protocolChat.Host;
var port = protocolChat.Port;
var network = protocolChat.NetworkID;
- // check first by network name with fallback to host+port
- if ((!String.IsNullOrEmpty(network) &&
- String.Compare(network, linkNetwork, true) == 0) ||
- (String.Compare(host, linkHost, true) == 0 &&
- port == linkPort)) {
+ // Check first by network name with fallback to host+port.
+ // The network name has to be checked against the NetworkID and
+ // also ChatModel.ID as the user might have entered a different
+ // network name in settings than the server does
+ if (!String.IsNullOrEmpty(network) &&
+ (String.Compare(network, linkNetwork, true) == 0 ||
+ String.Compare(chatView.ID, linkNetwork, true) == 0)) {
+ manager = protocolChat.ProtocolManager;
+ break;
+ }
+ if (String.Compare(host, linkHost, true) == 0 &&
+ port == linkPort) {
manager = protocolChat.ProtocolManager;
break;
}
@@ -898,6 +909,7 @@ namespace Smuxi.Frontend.Gnome
_Logger.Debug("InitGtk(): Using locale data from: " + localeDir);
#endif
Gtk.Application.Init(Name, ref args);
+ IsGtkInitialized = true;
#if GTK_SHARP_2_10
GLib.ExceptionManager.UnhandledException += _OnUnhandledException;
#endif
@@ -928,15 +940,23 @@ namespace Smuxi.Frontend.Gnome
{
// HACK: Force GTK# to use the right GTK+ install as the PATH
// environment variable might contain other GTK+ installs
+ // GTK# 2.12.20
var installPath = (string) Microsoft.Win32.Registry.GetValue(
- "HKEY_LOCAL_MACHINE\\SOFTWARE\\Novell\\GtkSharp\\InstallFolder",
+ "HKEY_LOCAL_MACHINE\\SOFTWARE\\Xamarin\\GtkSharp\\InstallFolder",
"", null
);
if (installPath == null) {
+ // GTK# 2.12.10
+ installPath = (string) Microsoft.Win32.Registry.GetValue(
+ "HKEY_LOCAL_MACHINE\\SOFTWARE\\Novell\\GtkSharp\\InstallFolder",
+ "", null
+ );
+ }
+ if (installPath == null) {
#if LOG4NET
_Logger.Error("InitGtkPathWin(): couldn't obtain GTK# installation folder from registry. GTK# is probably incorrectly installed!");
- return;
#endif
+ return;
}
var binPath = Path.Combine(installPath, "bin");
diff --git a/src/Frontend-GNOME/IndicateManager.cs b/src/Frontend-GNOME/IndicateManager.cs
index 56b6237..18c016d 100644
--- a/src/Frontend-GNOME/IndicateManager.cs
+++ b/src/Frontend-GNOME/IndicateManager.cs
@@ -1,6 +1,6 @@
// Smuxi - Smart MUltipleXed Irc
//
-// Copyright (c) 2010-2011 Mirco Bauer <meebey at meebey.net>
+// Copyright (c) 2010-2013 Mirco Bauer <meebey at meebey.net>
//
// Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
//
@@ -147,8 +147,6 @@ namespace Smuxi.Frontend.Gnome
Server.Show();
IsEnabled = true;
- // hide the main window instead of closing it
- MainWindow.NotificationAreaIconMode = NotificationAreaIconMode.Closed;
} else {
// non-persistent in menu using the blacklist as per
// specification:
@@ -169,9 +167,9 @@ namespace Smuxi.Frontend.Gnome
#if LOG4NET
Logger.Info("Init(): no DBus provider for messaging menu found, " +
"disabling...");
+ #endif
return;
}
- #endif
#endif
Server = Server.RefDefault();
@@ -281,6 +279,7 @@ namespace Smuxi.Frontend.Gnome
}
e.ChatView.OutputMessageTextView.MessageHighlighted -= handler;
+ HighlightEventHandlers.Remove(e.ChatView);
// close possibly active indicator
DisposeIndicator(e.ChatView);
diff --git a/src/Frontend-GNOME/Main.cs b/src/Frontend-GNOME/Main.cs
index c608517..7e079cb 100644
--- a/src/Frontend-GNOME/Main.cs
+++ b/src/Frontend-GNOME/Main.cs
@@ -78,7 +78,10 @@ namespace Smuxi.Frontend.Gnome
_Logger.Fatal(e);
#endif
// when Gtk# receives an exception it is not usable/relyable anymore!
- //new CrashDialog(e);
+ // except the exception was thrown in Frontend.Init() itself
+ if (Frontend.IsGtkInitialized && !Frontend.InGtkApplicationRun) {
+ Frontend.ShowException(e);
+ }
// rethrow the exception for console output
throw;
diff --git a/src/Frontend-GNOME/MainWindow.cs b/src/Frontend-GNOME/MainWindow.cs
index 0aab58f..8ba1bcc 100644
--- a/src/Frontend-GNOME/MainWindow.cs
+++ b/src/Frontend-GNOME/MainWindow.cs
@@ -557,7 +557,7 @@ namespace Smuxi.Frontend.Gnome
_ProgressBar.BarStyle = Gtk.ProgressBarStyle.Continuous;
MenuHBox = new Gtk.HBox();
- MenuHBox.PackStart(MenuBar, false, false, 0);
+ MenuHBox.PackStart(MenuBar, true, true, 0);
MenuHBox.PackEnd(JoinWidget, false, false, 0);
Gtk.VBox vbox = new Gtk.VBox();
@@ -1231,6 +1231,12 @@ namespace Smuxi.Frontend.Gnome
Trace.Call(sender, e);
e.ChatView.MessageHighlighted += OnChatViewMessageHighlighted;
+ e.ChatView.OutputMessageTextView.FocusInEvent += delegate {
+ if (CaretMode) {
+ return;
+ }
+ Entry.GrabFocus();
+ };
UpdateProgressBar();
}
diff --git a/src/Frontend-GNOME/Makefile.am b/src/Frontend-GNOME/Makefile.am
index 2998fa2..f2df75a 100644
--- a/src/Frontend-GNOME/Makefile.am
+++ b/src/Frontend-GNOME/Makefile.am
@@ -4,6 +4,8 @@ EXTRA_DIST = $(WIN_ICON) $(DESKTOP_FILE).in
ICON_NAME = smuxi-frontend-gnome
ICON_NAME_PNG = $(ICON_NAME).png
ICON_SVG = $(ICON_NAME).svg
+GROUP_CHAT_ICON_NAME = smuxi-group-chat
+PERSON_CHAT_ICON_NAME = smuxi-person-chat
ICON_16 = $(top_builddir)/images/16/$(ICON_NAME_PNG)
ICON_22 = $(top_builddir)/images/22/$(ICON_NAME_PNG)
ICON_24 = $(top_builddir)/images/24/$(ICON_NAME_PNG)
@@ -31,7 +33,10 @@ icon48_DATA = $(ICON_48)
icon128dir = $(THEME_DIR)/128x128/apps
icon128_DATA = $(ICON_128)
icon256dir = $(THEME_DIR)/256x256/apps
-icon256_DATA = $(ICON_256)
+icon256_DATA = \
+ $(ICON_256) \
+ $(top_builddir)/images/256/$(GROUP_CHAT_ICON_NAME).png \
+ $(top_builddir)/images/256/$(PERSON_CHAT_ICON_NAME).png
gtk_update_icon_cache = gtk-update-icon-cache -f -t $(THEME_DIR)
@@ -100,6 +105,10 @@ $(ICON_128):
$(INSTALL) -D -m644 $(top_srcdir)/images/icon_128x128.png $@
$(ICON_256):
$(INSTALL) -D -m644 $(top_srcdir)/images/icon_256x256.png $@
+$(top_builddir)/images/256/$(GROUP_CHAT_ICON_NAME).png:
+ $(INSTALL) -D -m644 $(top_srcdir)/images/group-chat_256x256.png $@
+$(top_builddir)/images/256/$(PERSON_CHAT_ICON_NAME).png:
+ $(INSTALL) -D -m644 $(top_srcdir)/images/person-chat_256x256.png $@
FILES = \
$(top_srcdir)/src/AssemblyVersion.cs \
@@ -203,7 +212,9 @@ REFERENCES = \
DLL_REFERENCES =
-CLEANFILES = $(LINUX_DESKTOPAPPLICATIONS) $(PROGRAMFILES) $(BINARIES)
+CLEANFILES = $(LINUX_DESKTOPAPPLICATIONS) $(PROGRAMFILES) $(BINARIES) \
+ $(top_builddir)/images/256/$(GROUP_CHAT_ICON_NAME).png \
+ $(top_builddir)/images/256/$(PERSON_CHAT_ICON_NAME).png
include $(top_srcdir)/Makefile.include
diff --git a/src/Frontend-GNOME/Makefile.in b/src/Frontend-GNOME/Makefile.in
index 25448b4..8f4ad24 100644
--- a/src/Frontend-GNOME/Makefile.in
+++ b/src/Frontend-GNOME/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@@ -337,6 +337,8 @@ EXTRA_DIST = $(WIN_ICON) $(DESKTOP_FILE).in $(build_sources) \
ICON_NAME = smuxi-frontend-gnome
ICON_NAME_PNG = $(ICON_NAME).png
ICON_SVG = $(ICON_NAME).svg
+GROUP_CHAT_ICON_NAME = smuxi-group-chat
+PERSON_CHAT_ICON_NAME = smuxi-person-chat
ICON_16 = $(top_builddir)/images/16/$(ICON_NAME_PNG)
ICON_22 = $(top_builddir)/images/22/$(ICON_NAME_PNG)
ICON_24 = $(top_builddir)/images/24/$(ICON_NAME_PNG)
@@ -362,7 +364,11 @@ icon48_DATA = $(ICON_48)
icon128dir = $(THEME_DIR)/128x128/apps
icon128_DATA = $(ICON_128)
icon256dir = $(THEME_DIR)/256x256/apps
-icon256_DATA = $(ICON_256)
+icon256_DATA = \
+ $(ICON_256) \
+ $(top_builddir)/images/256/$(GROUP_CHAT_ICON_NAME).png \
+ $(top_builddir)/images/256/$(PERSON_CHAT_ICON_NAME).png
+
gtk_update_icon_cache = gtk-update-icon-cache -f -t $(THEME_DIR)
desktopdir = $(datadir)/applications
desktop_in_files = $(DESKTOP_FILE).in
@@ -508,6 +514,8 @@ REFERENCES = \
DLL_REFERENCES =
CLEANFILES = $(LINUX_DESKTOPAPPLICATIONS) $(PROGRAMFILES) $(BINARIES) \
+ $(top_builddir)/images/256/$(GROUP_CHAT_ICON_NAME).png \
+ $(top_builddir)/images/256/$(PERSON_CHAT_ICON_NAME).png \
$(ASSEMBLY) $(ASSEMBLY).mdb $(BINARIES) \
$(build_resx_resources) $(build_satellite_assembly_list)
VALID_CULTURES = ar bg ca zh-CHS cs da de el en es fi fr he hu is it ja ko nl no pl pt ro ru hr sk sq sv th tr id uk be sl et lv lt fa vi hy eu mk af fo hi sw gu ta te kn mr gl kok ar-SA bg-BG ca-ES zh-TW cs-CZ da-DK de-DE el-GR en-US fi-FI fr-FR he-IL hu-HU is-IS it-IT ja-JP ko-KR nl-NL nb-NO pl-PL pt-BR ro-RO ru-RU hr-HR sk-SK sq-AL sv-SE th-TH tr-TR id-ID uk-UA be-BY sl-SI et-EE lv-LV lt-LT fa-IR vi-VN hy-AM eu-ES mk-MK af-ZA fo-FO hi-IN sw-KE gu-IN ta-IN te-IN kn-IN mr-IN gl-ES kok-IN ar-IQ zh-CN de-CH en-GB es-MX fr-BE it-CH nl-BE nn-NO pt-PT sv-FI ar-EG zh-HK de-AT en-AU es-ES fr-CA ar-LY zh-SG de-LU en-CA es-GT fr-CH ar-DZ zh-MO en-NZ es-CR fr-LU ar-MA en-IE es-PA ar-TN en-ZA es-DO ar-OM es-VE ar-YE es-CO ar-SY es-PE ar-JO es-AR ar-LB en-ZW es-EC ar-KW en-PH es-CL ar-AE es-UY ar-BH es-PY ar-QA es-BO es-SV es-HN es-NI es-PR zh-CHT
@@ -1152,6 +1160,10 @@ $(ICON_128):
$(INSTALL) -D -m644 $(top_srcdir)/images/icon_128x128.png $@
$(ICON_256):
$(INSTALL) -D -m644 $(top_srcdir)/images/icon_256x256.png $@
+$(top_builddir)/images/256/$(GROUP_CHAT_ICON_NAME).png:
+ $(INSTALL) -D -m644 $(top_srcdir)/images/group-chat_256x256.png $@
+$(top_builddir)/images/256/$(PERSON_CHAT_ICON_NAME).png:
+ $(INSTALL) -D -m644 $(top_srcdir)/images/person-chat_256x256.png $@
# macros
diff --git a/src/Frontend-GNOME/Notebook.cs b/src/Frontend-GNOME/Notebook.cs
index fff9444..319e273 100644
--- a/src/Frontend-GNOME/Notebook.cs
+++ b/src/Frontend-GNOME/Notebook.cs
@@ -1,7 +1,7 @@
/*
* Smuxi - Smart MUltipleXed Irc
*
- * Copyright (c) 2007-2011 Mirco Bauer <meebey at meebey.net>
+ * Copyright (c) 2007-2013 Mirco Bauer <meebey at meebey.net>
*
* Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
*
@@ -142,33 +142,6 @@ namespace Smuxi.Frontend.Gnome
return -1;
}
- public void RemoveAllPages()
- {
- Trace.Call();
-
- // OPT: don't trigger lots of SwitchPage events while we remove all pages
- // this also breaks the Frontend.ReconnectEngineToGUI() as that one
- // has to cleanup all chats regardless of a working network
- // connection
- SwitchPage -= OnBeforeSwitchPage;
- SwitchPage -= OnSwitchPage;
-
- int npages = NPages;
- CurrentPage = 0;
- for (int i = 0; i < npages; i++) {
- // *doh* this would be too easy, ugly Gtk.Notebook doesn't
- // like it though, index based vs array based?
- //RemovePage(i);
-
- NextPage();
- RemovePage(CurrentPage);
- }
-
- // reconnect the event handler
- SwitchPage += OnBeforeSwitchPage;
- SwitchPage += OnSwitchPage;
- }
-
public void SyncPagePositions()
{
Trace.Call();
diff --git a/src/Frontend-GNOME/NotifyManager.cs b/src/Frontend-GNOME/NotifyManager.cs
index 7c62fa3..d8680cc 100644
--- a/src/Frontend-GNOME/NotifyManager.cs
+++ b/src/Frontend-GNOME/NotifyManager.cs
@@ -1,6 +1,6 @@
// Smuxi - Smart MUltipleXed Irc
//
-// Copyright (c) 2010-2011 Mirco Bauer <meebey at meebey.net>
+// Copyright (c) 2010-2013 Mirco Bauer <meebey at meebey.net>
//
// Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
//
@@ -41,6 +41,8 @@ namespace Smuxi.Frontend.Gnome
private static List<string> Capabilites { get; set; }
private static string SoundFile { get; set; }
private static Version SpecificationVersion { get; set; }
+ private static string ServerVendor { get; set; }
+ private static string ServerName { get; set; }
Dictionary<ChatView, Notification> Notifications { get; set; }
MainWindow MainWindow { get; set; }
ChatViewManager ChatViewManager { get; set; }
@@ -136,6 +138,8 @@ namespace Smuxi.Frontend.Gnome
"'" + version + "'", ex);
#endif
}
+ ServerVendor = Global.ServerInformation.Vendor;
+ ServerName = Global.ServerInformation.Name;
#if LOG4NET
Logger.Debug(
@@ -201,6 +205,7 @@ namespace Smuxi.Frontend.Gnome
}
e.ChatView.OutputMessageTextView.MessageHighlighted -= handler;
+ HighlightEventHandlers.Remove(e.ChatView);
}
void OnChatViewMessageHighlighted(object sender,
@@ -248,20 +253,84 @@ namespace Smuxi.Frontend.Gnome
Summary = chatView.Name,
Category = "im.received"
};
+ notification.AddHint("desktop-entry", "smuxi-frontend-gnome");
if (Capabilites.Contains("body")) {
// notify-osd doesn't like unknown tags when appending
notification.Body = GLib.Markup.EscapeText(
msg.ToString()
);
}
- //notification.IconName = "notification-message-im";
if (Capabilites.Contains("icon-static")) {
+ Gdk.Pixbuf iconData = null;
+ string iconName = null;
if (chatView is PersonChatView) {
- notification.Icon = PersonChatIconPixbuf;
+ iconData = PersonChatIconPixbuf;
+ iconName = "smuxi-person-chat";
+ } else if (chatView is GroupChatView) {
+ iconData = GroupChatIconPixbuf;
+ iconName = "smuxi-group-chat";
}
- if (chatView is GroupChatView) {
- notification.Icon = GroupChatIconPixbuf;
+ var theme = Gtk.IconTheme.Default;
+#if DISABLED
+ // OPT: use icon path/name if we can, so the image (26K) is not
+ // send over D-Bus. Especially with the gnome-shell this is a
+ // serious performance issue, see:
+ // https://bugzilla.gnome.org/show_bug.cgi?id=683829
+ if (iconName != null && theme.HasIcon(iconName)) {
+ // HACK: use icon path instead of name as gnome-shell does
+ // not support icon names correctly, see:
+ // https://bugzilla.gnome.org/show_bug.cgi?id=665957
+ var iconInfo = theme.LookupIcon(iconName, 256, Gtk.IconLookupFlags.UseBuiltin);
+ if (!String.IsNullOrEmpty(iconInfo.Filename) &&
+ File.Exists(iconInfo.Filename) &&
+ ServerVendor == "GNOME" &&
+ (ServerName == "Notification Daemon" ||
+ ServerName == "gnome-shell")) {
+ // HACK: notification-daemon 0.7.5 seems to ignore
+ // the image_path hint for some reason, thus we have to
+ // rely on app_icon instead, see:
+ // https://bugzilla.gnome.org/show_bug.cgi?id=684653
+ // HACK: gnome-shell 3.4.2 shows no notification at all
+ // with image_path and stops responding to further
+ // notifications which freezes Smuxi completely!
+ notification.IconName = "file://" + iconInfo.Filename;
+ } else if (!String.IsNullOrEmpty(iconInfo.Filename) &&
+ File.Exists(iconInfo.Filename) &&
+ SpecificationVersion >= new Version("1.1")) {
+ // starting with DNS >= 1.1 we can use the image-path
+ // hint instead of icon_data or app_icon
+ var hintName = "image_path";
+ if (SpecificationVersion >= new Version("1.2")) {
+ hintName = "image-path";
+ }
+ notification.AddHint(hintName,
+ "file://" + iconInfo.Filename);
+ } else {
+ // fallback to icon_data as defined in DNS 0.9
+ notification.Icon = iconData;
+ }
+#endif
+ if (Frontend.HasSystemIconTheme &&
+ iconName != null && theme.HasIcon(iconName)) {
+ notification.IconName = iconName;
+ } else if (iconName != null && theme.HasIcon(iconName)) {
+ // icon wasn't in the system icon theme
+ var iconInfo = theme.LookupIcon(iconName, 256, Gtk.IconLookupFlags.UseBuiltin);
+ if (!String.IsNullOrEmpty(iconInfo.Filename) &&
+ File.Exists(iconInfo.Filename)) {
+ notification.IconName = "file://" + iconInfo.Filename;
+ }
+ } else if (iconData != null) {
+ // fallback to icon_data as the icon is not available in
+ // the theme
+ notification.Icon = iconData;
+ } else {
+ // fallback for non-group/person messages
+ notification.IconName = "notification-message-im";
}
+ } else {
+ // fallback to generic icon
+ notification.IconName = "notification-message-im";
}
if (Capabilites.Contains("actions")) {
notification.AddAction("show", _("Show"), delegate {
diff --git a/src/Frontend-GNOME/PangoTools.cs b/src/Frontend-GNOME/PangoTools.cs
index b9d808c..b8e101d 100644
--- a/src/Frontend-GNOME/PangoTools.cs
+++ b/src/Frontend-GNOME/PangoTools.cs
@@ -61,7 +61,7 @@ namespace Smuxi.Frontend.Gnome
if (msgPart is UrlMessagePartModel) {
UrlMessagePartModel url = (UrlMessagePartModel) msgPart;
- string str = GLib.Markup.EscapeText(url.Text);
+ string str = GLib.Markup.EscapeText(url.Url);
Gdk.Color gdkColor = Gdk.Color.Zero;
Gdk.Color.Parse("darkblue", ref gdkColor);
diff --git a/src/Frontend-GNOME/Views/Chats/ChatView.cs b/src/Frontend-GNOME/Views/Chats/ChatView.cs
index 9588125..cdbec66 100644
--- a/src/Frontend-GNOME/Views/Chats/ChatView.cs
+++ b/src/Frontend-GNOME/Views/Chats/ChatView.cs
@@ -1,7 +1,7 @@
/*
* Smuxi - Smart MUltipleXed Irc
*
- * Copyright (c) 2005-2011 Mirco Bauer <meebey at meebey.net>
+ * Copyright (c) 2005-2013 Mirco Bauer <meebey at meebey.net>
*
* Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
*
@@ -59,6 +59,7 @@ namespace Smuxi.Frontend.Gnome
bool UseLowBandwidthMode { get; set; }
protected Gtk.Image TabImage { get; set; }
bool IsAutoScrolling { get; set; }
+ Gtk.ImageMenuItem CloseItem { get; set; }
public ChatModel ChatModel {
get {
@@ -278,19 +279,17 @@ namespace Smuxi.Frontend.Gnome
sw.HscrollbarPolicy = Gtk.PolicyType.Automatic;
sw.VscrollbarPolicy = Gtk.PolicyType.Always;
sw.ShadowType = Gtk.ShadowType.In;
- sw.Vadjustment.ValueChanged += delegate {
- CheckAutoScroll();
- };
+ sw.Vadjustment.ValueChanged += OnVadjustmentValueChanged;
sw.Add(_OutputMessageTextView);
// popup menu
_TabMenu = new Gtk.Menu();
-
- Gtk.ImageMenuItem close_item = new Gtk.ImageMenuItem(Gtk.Stock.Close, null);
- close_item.Activated += new EventHandler(OnTabMenuCloseActivated);
- _TabMenu.Append(close_item);
+
+ CloseItem = new Gtk.ImageMenuItem(Gtk.Stock.Close, null);
+ CloseItem.Activated += new EventHandler(OnTabMenuCloseActivated);
+ _TabMenu.Append(CloseItem);
_TabMenu.ShowAll();
-
+
//FocusChild = _OutputTextView;
//CanFocus = false;
@@ -328,10 +327,8 @@ namespace Smuxi.Frontend.Gnome
{
Trace.Call();
- base.Dispose();
-
Dispose(true);
- GC.SuppressFinalize(this);
+ base.Dispose();
}
protected void Dispose(bool disposing)
@@ -343,6 +340,12 @@ namespace Smuxi.Frontend.Gnome
_LastSeenHighlightQueue.Dispose();
}
_LastSeenHighlightQueue = null;
+
+ // HACK: this shouldn't be needed but GTK# keeps GC handles
+ // these callbacks for some reason and thus leaks :(
+ _OutputMessageTextView.Dispose();
+ CloseItem.Activated -= OnTabMenuCloseActivated;
+ _OutputScrolledWindow.Vadjustment.ValueChanged -= OnVadjustmentValueChanged;
}
}
@@ -562,9 +565,19 @@ namespace Smuxi.Frontend.Gnome
{
Trace.Call();
+ var protocolManager = ProtocolManager;
+ if (protocolManager == null) {
+#if LOG4NET
+ _Logger.WarnFormat(
+ "{0}.Close(): ProtocolManager is null, bailing out!", this
+ );
+#endif
+ return;
+ }
+
ThreadPool.QueueUserWorkItem(delegate {
try {
- ProtocolManager.CloseChat(
+ protocolManager.CloseChat(
Frontend.FrontendManager,
ChatModel
);
@@ -754,6 +767,11 @@ namespace Smuxi.Frontend.Gnome
#endif
}
+ void OnVadjustmentValueChanged(object sender, EventArgs e)
+ {
+ CheckAutoScroll();
+ }
+
private static string _(string msg)
{
return Mono.Unix.Catalog.GetString(msg);
diff --git a/src/Frontend-GNOME/Views/Chats/GroupChatView.cs b/src/Frontend-GNOME/Views/Chats/GroupChatView.cs
index 63e9e15..521d336 100644
--- a/src/Frontend-GNOME/Views/Chats/GroupChatView.cs
+++ b/src/Frontend-GNOME/Views/Chats/GroupChatView.cs
@@ -1,7 +1,7 @@
/*
* Smuxi - Smart MUltipleXed Irc
*
- * Copyright (c) 2005-2006, 2009-2011 Mirco Bauer <meebey at meebey.net>
+ * Copyright (c) 2005-2006, 2009-2013 Mirco Bauer <meebey at meebey.net>
*
* Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
*
@@ -143,6 +143,7 @@ namespace Smuxi.Frontend.Gnome
column.Spacing = 0;
column.SortIndicator = false;
column.Sizing = Gtk.TreeViewColumnSizing.Autosize;
+ // FIXME: this callback leaks memory
column.SetCellDataFunc(cellr, new Gtk.TreeCellDataFunc(RenderPersonIdentityName));
tv.AppendColumn(column);
_IdentityNameColumn = column;
@@ -210,7 +211,23 @@ namespace Smuxi.Frontend.Gnome
ShowAll();
}
-
+
+ public override void Dispose()
+ {
+ Trace.Call();
+
+ // HACK: this shouldn't be needed but GTK# keeps GC handles
+ // these callbacks for some reason and thus leaks :(
+ // release ListStore.SetSortFunc() callback
+ // gtk_list_store_finalize() -> _gtk_tree_data_list_header_free() -> destroy(user_data);
+ _PersonListStore.Dispose();
+ // release TreeViewColumn.SetCellDataFunc() callback
+ // gtk_tree_view_column_finalize -> GtkTreeViewColumnCellInfo -> info->destroy(info->func_data)
+ _IdentityNameColumn.Dispose();
+
+ base.Dispose();
+ }
+
public override void Disable()
{
Trace.Call();
@@ -572,6 +589,17 @@ namespace Smuxi.Frontend.Gnome
return;
}
+ var protocolManager = ProtocolManager;
+ if (protocolManager == null) {
+#if LOG4NET
+ _Logger.WarnFormat(
+ "{0}.OnPersonsRowActivated(): ProtocolManager is null, " +
+ "bailing out!", this
+ );
+#endif
+ return;
+ }
+
// jump to person chat if available
foreach (var chatView in Frontend.MainWindow.ChatViewManager.Chats) {
if (!(chatView is PersonChatView)) {
@@ -597,7 +625,7 @@ namespace Smuxi.Frontend.Gnome
ThreadPool.QueueUserWorkItem(delegate {
try {
- ProtocolManager.OpenChat(
+ protocolManager.OpenChat(
Frontend.FrontendManager,
personChat
);
diff --git a/src/Frontend-GNOME/Views/MessageTextView.cs b/src/Frontend-GNOME/Views/MessageTextView.cs
index 8d95179..1f4edfb 100644
--- a/src/Frontend-GNOME/Views/MessageTextView.cs
+++ b/src/Frontend-GNOME/Views/MessageTextView.cs
@@ -1,7 +1,7 @@
/*
* Smuxi - Smart MUltipleXed Irc
*
- * Copyright (c) 2009-2011 Mirco Bauer <meebey at meebey.net>
+ * Copyright (c) 2009-2013 Mirco Bauer <meebey at meebey.net>
*
* Full GPL License: <http://www.gnu.org/licenses/gpl.txt>
*
@@ -38,6 +38,7 @@ namespace Smuxi.Frontend.Gnome
#endif
private static readonly Gdk.Cursor _NormalCursor = new Gdk.Cursor(Gdk.CursorType.Xterm);
private static readonly Gdk.Cursor _LinkCursor = new Gdk.Cursor(Gdk.CursorType.Hand2);
+ static bool IsGtk2_17 { get; set; }
private Gtk.TextTagTable _MessageTextTagTable;
private MessageModel _LastMessage;
private bool _ShowTimestamps;
@@ -132,6 +133,12 @@ namespace Smuxi.Frontend.Gnome
}
}
+ static MessageTextView()
+ {
+ IsGtk2_17 = String.IsNullOrEmpty(Gtk.Global.CheckVersion(2, 17, 0)) &&
+ !String.IsNullOrEmpty(Gtk.Global.CheckVersion(2, 18, 0));
+ }
+
public MessageTextView()
{
Trace.Call();
@@ -244,6 +251,7 @@ namespace Smuxi.Frontend.Gnome
var senderPrefixWidth = GetSenderPrefixWidth(msg);
Gtk.TextTag indentTag = null;
if (senderPrefixWidth != 0) {
+ // TODO: re-use text tags that have the same indent width
indentTag = new Gtk.TextTag(null) {
Indent = -senderPrefixWidth
};
@@ -395,11 +403,13 @@ namespace Smuxi.Frontend.Gnome
CheckBufferSize();
- // HACK: force a redraw of the widget, as for some reason
- // GTK+ 2.17.6 is not redrawing some lines we add here, especially
- // for local messages. See:
- // http://projects.qnetp.net/issues/show/185
- QueueDraw();
+ if (IsGtk2_17) {
+ // HACK: force a redraw of the widget, as for some reason
+ // GTK+ 2.17.6 is not redrawing some lines we add here, especially
+ // for local messages. See:
+ // http://projects.qnetp.net/issues/show/185
+ QueueDraw();
+ }
if (MessageAdded != null) {
MessageAdded(this, new MessageTextViewMessageAddedEventArgs(msg));
@@ -426,6 +436,19 @@ namespace Smuxi.Frontend.Gnome
QueueDraw();
}
+ public override void Dispose()
+ {
+ // HACK: this shouldn't be needed but GTK# keeps GC handles
+ // these callbacks for some reason and thus leaks :(
+ _MessageTextTagTable.Foreach(tag => {
+ if (tag is LinkTag) {
+ tag.TextEvent -= OnLinkTagTextEvent;
+ }
+ });
+ _MessageTextTagTable.Dispose();
+ base.Dispose();
+ }
+
/*
* Helper methods
*/
diff --git a/src/Frontend-STFL/Makefile.in b/src/Frontend-STFL/Makefile.in
index 9645f2c..783986c 100644
--- a/src/Frontend-STFL/Makefile.in
+++ b/src/Frontend-STFL/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Frontend-STFL/STFL/Makefile.in b/src/Frontend-STFL/STFL/Makefile.in
index 9b3e69b..04c3c09 100644
--- a/src/Frontend-STFL/STFL/Makefile.in
+++ b/src/Frontend-STFL/STFL/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Frontend-SWF/Makefile.in b/src/Frontend-SWF/Makefile.in
index 9657bbe..2b9eed1 100644
--- a/src/Frontend-SWF/Makefile.in
+++ b/src/Frontend-SWF/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Frontend-Test/Makefile.in b/src/Frontend-Test/Makefile.in
index 252d424..2434249 100644
--- a/src/Frontend-Test/Makefile.in
+++ b/src/Frontend-Test/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Frontend/Makefile.in b/src/Frontend/Makefile.in
index ae69fac..0ee7da3 100644
--- a/src/Frontend/Makefile.in
+++ b/src/Frontend/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Makefile.in b/src/Makefile.in
index 019cd48..3673d09 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/Server/Makefile.in b/src/Server/Makefile.in
index cb41b60..7572841 100644
--- a/src/Server/Makefile.in
+++ b/src/Server/Makefile.in
@@ -1,4 +1,4 @@
-# Makefile.in generated by automake 1.11.5 from Makefile.am.
+# Makefile.in generated by automake 1.11.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
diff --git a/src/smuxi-win32.nsis.in b/src/smuxi-win32.nsis.in
index c3eca9e..dc00d25 100644
--- a/src/smuxi-win32.nsis.in
+++ b/src/smuxi-win32.nsis.in
@@ -33,7 +33,7 @@ SetCompressor lzma
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\smuxi-frontend-gnome.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
-!define DOTNET_VERSION "3.5 SP1"
+!define DOTNET_VERSION "4.0"
!define GTKSHARP_PRODUCT_GUID "{3CB70B01-4BC8-4C0F-B28F-7C6E33F913CC}"
!define GTKSHARP_VERSION "2.12.10"
@@ -132,7 +132,7 @@ FunctionEnd
!macro CheckGtkSharp GTKSHARP_REQ
!define GTKSHARP_FILE "gtk-sharp-2.12.10.win32.msi"
- !define GTKSHARP_BASE_URL "http://download.mono-project.com/gtk-sharp/"
+ !define GTKSHARP_BASE_URL "http://www.smuxi.org/jaws/data/files/"
!define GTKSHARP_DOWNLOAD_URL "${GTKSHARP_BASE_URL}${GTKSHARP_FILE}"
!define GTKSHARP_TEMP_FILE "$TEMP\${GTKSHARP_FILE}"
@@ -141,6 +141,12 @@ FunctionEnd
ReadRegStr $GTKSHARP_FOUND_VERSION HKLM \
"SOFTWARE\Novell\GtkSharp\Version" ""
+ # GTK# 2.12.20 uses a Xamarin key
+ ${If} $GTKSHARP_FOUND_VERSION == ""
+ ReadRegStr $GTKSHARP_FOUND_VERSION HKLM \
+ "SOFTWARE\Xamarin\GtkSharp\Version" ""
+ ${EndIf}
+
${VersionCompare} $GTKSHARP_FOUND_VERSION ${GTKSHARP_REQ} $R0
${If} $GTKSHARP_FOUND_VERSION == ""
@@ -158,7 +164,7 @@ FunctionEnd
InstallGtkSharpConfirmation:
MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION \
- "Your GTK# version: $GTKSHARP_FOUND_VERSION $\nRequired Version: ${GTKSHARP_REQ} or greater.$\n$\nDownload GTK# from download.mono-project.com?" \
+ "Your GTK# version: $GTKSHARP_FOUND_VERSION $\nRequired Version: ${GTKSHARP_REQ} or greater.$\n$\nDownload GTK# from www.smuxi.org?" \
/SD IDYES IDYES InstallGtkSharp IDNO End
goto GiveUp ;IDCANCEL
@@ -237,10 +243,16 @@ FunctionEnd
# http://download.microsoft.com/download/7/0/3/703455ee-a747-4cc8-bd3e-98a615c3aedb/dotNetFx35setup.exe
# .NET 3.5 SP1 - 231 MB
# http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe
-# .NET 3.5 SP1 Web Installer - 3 MB .NET 2.0 -> 3.5: 52 MB
+# .NET 3.5 SP1 Web Installer - 3 MB / .NET 2.0 -> 3.5: 52 MB
# http://download.microsoft.com/download/0/6/1/061F001C-8752-4600-A198-53214C69B51F/dotnetfx35setup.exe
-
- !define DOTNET_URL "http://download.microsoft.com/download/0/6/1/061F001C-8752-4600-A198-53214C69B51F/dotnetfx35setup.exe"
+# .NET 4.0 Client Profile Web Installer - 1 MB
+# - .NET 3.5 SP1 -> 4.0: 43 MB
+# http://download.microsoft.com/download/7/B/6/7B629E05-399A-4A92-B5BC-484C74B5124B/dotNetFx40_Client_setup.exe
+# .NET 4.0 Full Web Installer - 1 MB
+# - .NET 3.5 SP1 -> 4.0: 54 MB
+# - .NET 4.0 Client Profile -> 4.0 Full: 15 MB
+# http://download.microsoft.com/download/1/B/E/1BE39E79-7E39-46A3-96FF-047F95396215/dotNetFx40_Full_setup.exe
+ !define DOTNET_URL "http://download.microsoft.com/download/7/B/6/7B629E05-399A-4A92-B5BC-484C74B5124B/dotNetFx40_Client_setup.exe"
!define MSI31_URL "http://download.microsoft.com/download/1/4/7/147ded26-931c-4daf-9095-ec7baf996f46/WindowsInstaller-KB893803-v2-x86.exe"
DetailPrint "Checking your .NET Framework version..."
@@ -251,7 +263,7 @@ FunctionEnd
Push $3
Push $4
Push $5
- Push $6 ;backup of intsalled ver
+ Push $6 ;backup of installed ver
Push $7 ;backup of DoNetReqVer
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -319,22 +331,20 @@ NewMSI:
Var /GLOBAL NET35_INSTALL
Var /GLOBAL NET35_SP
+ Var /GLOBAL NET4_INSTALL
ReadRegStr $NET35_INSTALL HKLM \
"SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5" "Install"
ReadRegStr $NET35_SP HKLM \
"SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5" "SP"
+ ReadRegStr $NET4_INSTALL HKLM \
+ "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client" "Install"
- ${If} $NET35_INSTALL == ""
- StrCpy $6 "$0"
- DetailPrint ".NET Framework Version found: $6, but is older than the required version: $7"
- goto OldDotNET
- ${ElseIf} $NET35_INSTALL == "1"
- ${AndIf} $NET35_SP == "1"
- DetailPrint ".NET Framework Version 3.5 SP1 found"
+ ${If} $NET4_INSTALL == "1"
+ DetailPrint ".NET Framework Version 4.0 found"
goto NewDotNET
${ElseIf} $NET35_INSTALL == "1"
- DetailPrint ".NET Framework Version 3.5 found but without SP1"
- StrCpy $6 "3.5"
+ StrCpy $6 "$0"
+ DetailPrint ".NET Framework Version found: 3.5, but is older than the required version: $7"
goto OldDotNET
${Else}
goto NoDotNET
@@ -342,13 +352,13 @@ NewMSI:
NoDotNET:
MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION \
- ".NET Framework not installed.$\nRequired Version: $7 or greater.$\n$\nDownload .NET Framework version from www.microsoft.com?" \
+ ".NET Framework not installed.$\nRequired Version: $7 or greater.$\n$\nDownload .NET Framework $7 from www.microsoft.com?" \
/SD IDYES IDYES DownloadDotNET IDNO NewDotNET
goto GiveUpDotNET ;IDCANCEL
OldDotNET:
MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION \
- "Your .NET Framework version: $6 $\nRequired Version: $7 or greater.$\n$\nDownload .NET Framework version from www.microsoft.com?" \
+ "Your .NET Framework version: $6 $\nRequired Version: $7 or greater.$\n$\nDownload .NET Framework $7 from www.microsoft.com?" \
/SD IDYES IDYES DownloadDotNET IDNO NewDotNET
goto GiveUpDotNET ;IDCANCEL
@@ -496,11 +506,14 @@ Section "Main" SEC01
CreateShortCut "$SMPROGRAMS\Smuxi\Smuxi.lnk" "$INSTDIR\smuxi-frontend-gnome.exe"
CreateShortCut "$DESKTOP\Smuxi.lnk" "$INSTDIR\smuxi-frontend-gnome.exe"
+ # remove obsolete libraries for upgrades from Smuxi < 0.8.10.2
+ Delete "$INSTDIR\zlib1.dll"
+ Delete "$INSTDIR\MonoPosixHelper.dll"
+
SetOverwrite try
File "../bin-win32/log4net.dll"
File "../bin-win32/Meebey.SmartIrc4net.dll"
File "../bin-win32/Mono.Posix.dll"
- File "../bin-win32/MonoPosixHelper.dll"
File "../bin-win32/Nini.dll"
File "../bin-win32/Twitterizer2.dll"
File "../bin-win32/Newtonsoft.Json.dll"
@@ -517,7 +530,6 @@ Section "Main" SEC01
File "../bin-win32/smuxi-frontend.dll"
File "../bin-win32/smuxi-server.exe"
File "../bin-win32/smuxi-server.exe.config"
- File "../bin-win32/zlib1.dll"
File "../bin-win32/plink.exe"
File "../bin-win32/Fixedsys500c.ttf"
File /nonfatal /r "../bin-win32/locale"
@@ -560,7 +572,7 @@ SectionEnd
Function un.onUninstSuccess
HideWindow
- MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully unistalled."
+ MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully uninstalled."
FunctionEnd
Function un.onInit
@@ -573,7 +585,6 @@ Section Uninstall
SetShellVarContext all
Delete "$INSTDIR\${PRODUCT_NAME}.url"
Delete "$INSTDIR\uninst.exe"
- Delete "$INSTDIR\zlib1.dll"
Delete "$INSTDIR\smuxi-server.exe.config"
Delete "$INSTDIR\smuxi-server.exe"
Delete "$INSTDIR\smuxi-server.log"
@@ -587,15 +598,18 @@ Section Uninstall
Delete "$INSTDIR\smuxi-engine-twitter.dll"
Delete "$INSTDIR\smuxi-engine-xmpp.dll"
Delete "$INSTDIR\smuxi-common.dll"
- Delete "$INSTDIR\Twitterizer.Framework.dll"
+ Delete "$INSTDIR\Twitterizer2.dll"
+ Delete "$INSTDIR\Newtonsoft.Json.dll"
+ Delete "$INSTDIR\jabber-net.dll"
+ Delete "$INSTDIR\Db4objects.Db4o.dll"
Delete "$INSTDIR\Nini.dll"
- Delete "$INSTDIR\MonoPosixHelper.dll"
Delete "$INSTDIR\Mono.Posix.dll"
Delete "$INSTDIR\Meebey.SmartIrc4net.dll"
Delete "$INSTDIR\log4net.dll"
Delete "$INSTDIR\plink.exe"
Delete "$INSTDIR\Fixedsys500c.ttf"
RMDir /r "$INSTDIR\locale"
+ RMDir /r "$INSTDIR\icons"
Delete "$DESKTOP\Smuxi.lnk"
Delete "$SMPROGRAMS\Smuxi\Uninstall.lnk"
--
smuxi
More information about the Pkg-cli-apps-commits
mailing list