]> git.0d.be Git - empathy.git/commitdiff
Merge commit 'istaz/python-empathy-fix'
authorXavier Claessens <xclaesse@gmail.com>
Thu, 21 May 2009 10:08:44 +0000 (12:08 +0200)
committerXavier Claessens <xclaesse@gmail.com>
Thu, 21 May 2009 10:08:44 +0000 (12:08 +0200)
168 files changed:
Makefile.am
NEWS
configure.ac
extensions/Connection_Interface_Location.xml [new file with mode: 0644]
extensions/Makefile.am
extensions/all.xml
extensions/misc.xml
help/C/empathy.xml
help/el/el.po
help/es/es.po
libempathy-gtk/Makefile.am
libempathy-gtk/empathy-account-chooser.c
libempathy-gtk/empathy-account-chooser.h
libempathy-gtk/empathy-account-widget-irc.c
libempathy-gtk/empathy-account-widget-sip.c
libempathy-gtk/empathy-account-widget.c
libempathy-gtk/empathy-account-widget.h
libempathy-gtk/empathy-audio-sink.h
libempathy-gtk/empathy-audio-src.h
libempathy-gtk/empathy-avatar-chooser.c
libempathy-gtk/empathy-avatar-chooser.h
libempathy-gtk/empathy-avatar-image.c
libempathy-gtk/empathy-avatar-image.h
libempathy-gtk/empathy-cell-renderer-activatable.c
libempathy-gtk/empathy-cell-renderer-expander.c
libempathy-gtk/empathy-cell-renderer-expander.h
libempathy-gtk/empathy-cell-renderer-text.c
libempathy-gtk/empathy-cell-renderer-text.h
libempathy-gtk/empathy-chat-text-view.c
libempathy-gtk/empathy-chat-text-view.h
libempathy-gtk/empathy-chat-view.c
libempathy-gtk/empathy-chat-view.h
libempathy-gtk/empathy-chat.c
libempathy-gtk/empathy-chat.h
libempathy-gtk/empathy-conf.c
libempathy-gtk/empathy-conf.h
libempathy-gtk/empathy-contact-dialogs.c
libempathy-gtk/empathy-contact-list-store.c
libempathy-gtk/empathy-contact-list-store.h
libempathy-gtk/empathy-contact-list-view.c
libempathy-gtk/empathy-contact-list-view.h
libempathy-gtk/empathy-contact-menu.c
libempathy-gtk/empathy-contact-menu.h
libempathy-gtk/empathy-contact-selector.c
libempathy-gtk/empathy-contact-widget.c
libempathy-gtk/empathy-geometry.c
libempathy-gtk/empathy-geometry.h
libempathy-gtk/empathy-images.h
libempathy-gtk/empathy-irc-network-dialog.c
libempathy-gtk/empathy-log-window.c
libempathy-gtk/empathy-log-window.h
libempathy-gtk/empathy-new-message-dialog.c
libempathy-gtk/empathy-presence-chooser.c
libempathy-gtk/empathy-presence-chooser.h
libempathy-gtk/empathy-profile-chooser.c
libempathy-gtk/empathy-smiley-manager.c
libempathy-gtk/empathy-smiley-manager.h
libempathy-gtk/empathy-spell.c
libempathy-gtk/empathy-spell.h
libempathy-gtk/empathy-status-preset-dialog.c
libempathy-gtk/empathy-status-preset-dialog.h
libempathy-gtk/empathy-theme-boxes.c
libempathy-gtk/empathy-theme-boxes.h
libempathy-gtk/empathy-theme-irc.c
libempathy-gtk/empathy-theme-irc.h
libempathy-gtk/empathy-theme-manager.c
libempathy-gtk/empathy-theme-manager.h
libempathy-gtk/empathy-ui-utils.c
libempathy-gtk/empathy-ui-utils.h
libempathy-gtk/empathy-video-src.c
libempathy-gtk/empathy-video-src.h
libempathy-gtk/empathy-video-widget.h
libempathy/Makefile.am
libempathy/empathy-account-manager.c
libempathy/empathy-account-manager.h
libempathy/empathy-call-factory.c
libempathy/empathy-call-factory.h
libempathy/empathy-call-handler.c
libempathy/empathy-call-handler.h
libempathy/empathy-chatroom-manager.c
libempathy/empathy-chatroom-manager.h
libempathy/empathy-contact-groups.c
libempathy/empathy-contact-groups.h
libempathy/empathy-contact-manager.c
libempathy/empathy-contact-monitor.c
libempathy/empathy-contact-monitor.h
libempathy/empathy-contact.c
libempathy/empathy-contact.h
libempathy/empathy-debug.c
libempathy/empathy-debug.h
libempathy/empathy-dispatch-operation.h
libempathy/empathy-dispatcher.c
libempathy/empathy-idle.c
libempathy/empathy-irc-network-manager.c
libempathy/empathy-irc-network.c
libempathy/empathy-location.h [new file with mode: 0644]
libempathy/empathy-log-manager.c
libempathy/empathy-log-manager.h
libempathy/empathy-log-store-empathy.c
libempathy/empathy-log-store-empathy.h
libempathy/empathy-log-store.c
libempathy/empathy-log-store.h
libempathy/empathy-message.c
libempathy/empathy-message.h
libempathy/empathy-status-presets.c
libempathy/empathy-status-presets.h
libempathy/empathy-time.c
libempathy/empathy-time.h
libempathy/empathy-tp-call.c
libempathy/empathy-tp-call.h
libempathy/empathy-tp-chat.c
libempathy/empathy-tp-chat.h
libempathy/empathy-tp-contact-factory.c
libempathy/empathy-tp-contact-factory.h
libempathy/empathy-tp-contact-list.c
libempathy/empathy-tp-contact-list.h
libempathy/empathy-tp-roomlist.c
libempathy/empathy-tp-tube.c
libempathy/empathy-tube-handler.c
libempathy/empathy-types.h
libempathy/empathy-utils.c
libempathy/empathy-utils.h
po/LINGUAS
po/POTFILES.in
po/es.po
po/ta.po [new file with mode: 0644]
python/pyempathy/pyempathy.defs
python/pyempathygtk/pyempathygtk.defs
release.py
src/Makefile.am
src/empathy-about-dialog.c
src/empathy-about-dialog.h
src/empathy-accounts-dialog.c
src/empathy-accounts-dialog.h
src/empathy-call-window-fullscreen.c [new file with mode: 0644]
src/empathy-call-window-fullscreen.h [new file with mode: 0644]
src/empathy-call-window-fullscreen.ui [new file with mode: 0644]
src/empathy-call-window.c
src/empathy-call-window.h
src/empathy-call-window.ui
src/empathy-chat-window.c
src/empathy-chat-window.h
src/empathy-chatrooms-window.c
src/empathy-chatrooms-window.h
src/empathy-event-manager.c
src/empathy-ft-manager.c
src/empathy-ft-manager.h
src/empathy-import-dialog.c
src/empathy-import-dialog.h
src/empathy-import-pidgin.c
src/empathy-import-pidgin.h
src/empathy-logs.c
src/empathy-main-window.c
src/empathy-main-window.h
src/empathy-misc.c
src/empathy-misc.h
src/empathy-new-chatroom-dialog.c
src/empathy-new-chatroom-dialog.h
src/empathy-preferences.c
src/empathy-preferences.h
src/empathy-sidebar.c
src/empathy-sidebar.h
src/empathy-status-icon.c
src/empathy-tube-dispatch.c
src/empathy-tube-dispatch.h
src/empathy.c
src/ephy-spinner.c
tools/check-whitespace.sh

index 3929d3931e0bc52871e9471e01a7cc2383604bcd..d8cebf0c9eecd6152bb2ce5e9bf50c53c16ef6a9 100644 (file)
@@ -45,7 +45,7 @@ distclean-local:
 ChangeLog:
        @echo Creating $@
        @if test -d "$(srcdir)/.git"; then \
-         (GIT_DIR=$(top_srcdir)/.git ./missing --run git log EMPATHY_2_24_0.. --stat) | fmt --split-only > $@.tmp \
+         (GIT_DIR=$(top_srcdir)/.git ./missing --run git log EMPATHY_2_27_1.. --stat) | fmt --split-only > $@.tmp \
          && mv -f $@.tmp $@ \
          || ($(RM) $@.tmp; \
              echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
diff --git a/NEWS b/NEWS
index 198ea0ce089010a95acd007135a1c172d8ae9f4c..089d1d32e2e4a50797aa90ec04522c1ce1f4bdb2 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,75 @@
+NEW in 2.27.1.1
+===============
+ - Fix ABI version to not conflict with 2.26 branch
+ - Fix various coding style
+
+Bugs fixed:
+ - Fixed #582589, Should allow users to initially have either audio or audio/video calls
+
+Translations:
+ - Updated es Translation (Jorge Gonzalez)
+
+Documentation translations:
+ - Updated el Documentation translation (Γιάννης Κατσαμπίρης)
+
+NEW in 2.27.1
+==============
+Bugs fixed:
+ - Fixed #582641, crash in Empathy Instant Messenger: Making a call to a googl...
+ - Fixed #501519, Empathy API need documentation
+ - Fixed #504277, Empathy won't use 2nd and further protocols a connection manager provides
+ - Fixed #530119, display remote caller in the call window
+ - Fixed #539506, First message in conversation has no timestamp
+ - Fixed #544678, Can't change account photo/avatar
+ - Fixed #548704, "Add" button requires further action but lacks an ellipsis
+ - Fixed #549366, Should use SimplePresence
+ - Fixed #549641, Should use Contacts
+ - Fixed #561033, Work on the documentation
+ - Fixed #566905, avatar button is too tiny
+ - Fixed #568403, Add header file in documentation
+ - Fixed #568562, ghelp link broken in documentation
+ - Fixed #570346, EmpathyTpChat should use the Group SelfHandle if present
+ - Fixed #570545, Huge memory leak after opening some contacts discussion windows
+ - Fixed #574626, No obvious way to display FT manager
+ - Fixed #575090, Notifications of new messages stop working after closing the chat window
+ - Fixed #575415, Should switch from libglade to GtkBuilder
+ - Fixed #575442, "Call" string needs context for translation
+ - Fixed #575817, empathy_tp_tube_new_stream_tube should allow NULL as parameters
+ - Fixed #576384, "accept incoming call" dialog brings roster to current workspace
+ - Fixed #576394, "Send Video" button and "Call -> Send video" menu entry are not synced
+ - Fixed #577026, Sending slash-prefixed messages on IRC is a security risk.
+ - Fixed #577427, Port to latest tp-glib API
+ - Fixed #578356, Asserts when reconnecting to a chat room.
+ - Fixed #578399, Change to supplying spelling suggestions in submenu
+ - Fixed #579139, memleak in log_store_empathy_get_messages_for_file
+ - Fixed #579148, Improves the Join New room UI by adding columns, changing the UI
+ - Fixed #579553, Serveral memory leaks in empathy.
+ - Fixed #579735, add empathy_tp_tube_call_when_ready ()
+ - Fixed #579780, Several functions should be _dup_foo instead of _get_foo
+ - Fixed #579800, adding or removing an IRC account causes a dialog to pop up
+ - Fixed #579971, Try to access to a NULL GtkEntry when adding a new contact
+ - Fixed #580097, Dispaly transfer speed, and make remaining time more dynamic
+ - Fixed #580203, Theoretical race connecting to Received.
+ - Fixed #580771, Video playback should have a fullscreen mode
+ - Fixed #582751, No menu icon = no smiley
+ - Fixed #563222, Wrong "time remaining" estimation when sending a file
+ - Fixed #579484, New "join chatroom" dialog doesn't get list of rooms when room list is expanded
+ - Fixed #579485, "Join Room" dialog should allow sorting the list of rooms
+ - Fixed #571664, [1/3] Empathy should support Geolocation
+
+Translations:
+Updated ar Translation (Khaled Hosny)
+Updated be Translation (Ihar Hrachyshka)
+Updated bg Translation (Alexander Shopov)
+Updated de Translation (Mario Blättermann)
+Updated es Translation (Jorge Gonzalez, Jorge Gonzalez Gonzalez)
+Updated gl Translation (Frco. Javier Rial, Ignacio Casal Quinteiro)
+Updated it Translation (Milo Casagrande)
+Updated kn Translation (Shankar Prasad)
+Updated nl Translation (Wouter Bolsterlee)
+Updated th Translation (Theppitak Karoonboonyanan)
+Updated zh_CN Translation (Aron Xu)
+
 NEW in 2.26.0
 ==============
  - Fix various VoIP bugs
index 7d2d5d2ace6c61395711e81933e214ab0672b03d..fd8fc2541326839f3741a1ba6abe6e098914cc0f 100644 (file)
@@ -1,4 +1,4 @@
-AC_INIT(Empathy, 2.27.1, http://bugzilla.gnome.org/browse.cgi?product=empathy)
+AC_INIT(Empathy, 2.27.2, http://bugzilla.gnome.org/browse.cgi?product=empathy)
 AC_PREREQ(2.59)
 AC_COPYRIGHT([
   Copyright (C) 2003-2007 Imendio AB
@@ -9,12 +9,12 @@ AC_COPYRIGHT([
 #   (Interfaces removed:    CURRENT++, AGE=0, REVISION=0)
 #   (Interfaces added:      CURRENT++, AGE++, REVISION=0)
 #   (No interfaces changed:                   REVISION++)
-LIBEMPATHY_CURRENT=22
+LIBEMPATHY_CURRENT=24
 LIBEMPATHY_AGE=0
 LIBEMPATHY_REVISION=0
 
-LIBEMPATHY_GTK_CURRENT=21
-LIBEMPATHY_GTK_AGE=2
+LIBEMPATHY_GTK_CURRENT=22
+LIBEMPATHY_GTK_AGE=0
 LIBEMPATHY_GTK_REVISION=0
 
 AC_SUBST(LIBEMPATHY_CURRENT)
@@ -105,6 +105,7 @@ PKG_CHECK_MODULES(LIBEMPATHYGTK,
    telepathy-glib >= $TELEPATHY_GLIB_REQUIRED
    libmissioncontrol >= $MISSION_CONTROL_REQUIRED
    telepathy-farsight
+   farsight2-0.10
    gstreamer-0.10
    gstreamer-interfaces-0.10
 ])
@@ -301,6 +302,15 @@ fi
 
 AM_CONDITIONAL(HAVE_PYTHON, test "x$have_python" = "xyes")
 
+# -----------------------------------------------------------
+# Coding style checks
+# -----------------------------------------------------------
+AC_ARG_ENABLE(coding-style-checks,
+  AC_HELP_STRING([--disable-coding-style-checks],
+                 [don't check coding style using grep]),
+    [ENABLE_CODING_STYLE_CHECKS=$enableval], [ENABLE_CODING_STYLE_CHECKS=yes])
+
+AC_SUBST([ENABLE_CODING_STYLE_CHECKS])
 # -----------------------------------------------------------
 
 SHAVE_INIT(.)
diff --git a/extensions/Connection_Interface_Location.xml b/extensions/Connection_Interface_Location.xml
new file mode 100644 (file)
index 0000000..1e7bee4
--- /dev/null
@@ -0,0 +1,330 @@
+<?xml version="1.0" ?>
+<node name="/Connection_Interface_Location"
+  xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
+  <tp:copyright>Copyright (C) 2008 Collabora Ltd.</tp:copyright>
+  <tp:copyright>Copyright (C) 2008 Nokia Corporation</tp:copyright>
+  <tp:license xmlns="http://www.w3.org/1999/xhtml">
+    <p>This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.</p>
+
+<p>This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.</p>
+
+<p>You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</p>
+  </tp:license>
+  <interface name="org.freedesktop.Telepathy.Connection.Interface.Location.DRAFT"
+    tp:causes-havoc='experimental'>
+    <tp:requires interface="org.freedesktop.Telepathy.Connection"/>
+
+    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+      <p>An interface on connections to support protocols which allow users to
+        publish their current geographical location, and subscribe to the
+        current location of their contacts.</p>
+
+      <p>This interface is geared strongly towards automatic propagation and
+        use of this information, so focuses on latitude, longitude and
+        altitude which can be determined by GPS, although provision is also
+        included for an optional human-readable description of locations. All
+        co-ordinate information is required to be relative to the WGS84
+        datum.</p>
+
+      <p>The information published through this interface is intended to have
+        the same scope as presence information, so will normally be made
+        available to those individuals on the user's "publish" contact list.
+        Even so, user interfaces should not automatically publish location
+        information without the consent of the user, and it is recommended
+        that an option is made available to reduce the accuracy of the
+        reported information to allow the user to maintain their privacy.</p>
+
+      <p>Location information is represented using the terminology of XMPP's
+        <a href="http://www.xmpp.org/extensions/xep-0080.html">XEP-0080</a>
+        or the XEP-0080-derived
+        <a href="http://geoclue.freedesktop.org/">Geoclue</a> API where
+        possible.</p>
+    </tp:docstring>
+
+    <tp:enum name="Location_Accuracy_Level" type="i">
+      <tp:docstring>
+        A location accuracy level. This should be kept in sync with
+        GeoclueAccuracyLevel in the Geoclue project.
+      </tp:docstring>
+
+      <tp:enumvalue suffix="None" value="0">
+        <tp:docstring>
+          The accuracy is unspecified.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="Country" value="1">
+        <tp:docstring>
+          The location indicates the contact's country.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="Region" value="2">
+        <tp:docstring>
+          The location indicates the contact's region within a country.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="Locality" value="3">
+        <tp:docstring>
+          The location indicates the contact's locality within a region
+          (e.g. the correct city).
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="Postal_Code" value="4">
+        <tp:docstring>
+          The location indicates the correct postal code.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="Street" value="5">
+        <tp:docstring>
+          The location indicates the correct street.
+        </tp:docstring>
+      </tp:enumvalue>
+      <tp:enumvalue suffix="Detailed" value="6">
+        <tp:docstring>
+          The location's accuracy is given by the error, horizontal-error-m
+          and/or vertical-error-m keys.
+        </tp:docstring>
+      </tp:enumvalue>
+    </tp:enum>
+
+    <tp:mapping name="Location">
+      <tp:docstring>
+        A user's location, represented as an extensible mapping.
+      </tp:docstring>
+
+      <tp:member name="Key" type="s">
+        <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
+
+          <p>Civic addresses are represented by the following well-known
+            keys (all of which have string values), which should be kept in
+            sync with those used in XEP-0080 and in the Geoclue project:</p>
+
+          <ul>
+            <li>countrycode - s: an ISO-3166-1 alpha-2 (two-letter) country
+              code, e.g. "us", "gb", "fr"</li>
+            <li>country - s: a country name in unspecified locale, e.g.
+              "USA"</li>
+            <li>region - s: an administrative region of the nation, such as a
+              state or province</li>
+            <li>locality - s: a locality within the administrative region, such
+              as a town or city</li>
+            <li>area - s: a named area such as a campus or neighborhood</li>
+            <li>postalcode - s: a code used for postal delivery</li>
+            <li>street - s: a thoroughfare within the locality, or a crossing of
+              two thoroughfares</li>
+          </ul>
+
+          <p>The following address keys are defined in XEP-0080 but not by
+            Geoclue, and are also allowed:</p>
+
+          <ul>
+            <li>building - s: a specific building on a street or in an area</li>
+            <li>floor - s: a particular floor in a building</li>
+            <li>room - s: a particular room in a building</li>
+            <li>text - s: any more specific information, e.g.
+              "Northwest corner of the lobby"</li>
+            <li>description - s: A natural-language name for or description of
+              the location, e.g. "Bill's house"</li>
+            <li>uri - s: a URI representing the location or pointing to more
+              information about it</li>
+          </ul>
+
+          <p>Positions are represented by the following well-known keys:</p>
+
+          <ul>
+            <li>lat - d: latitude in decimal degrees north, -90 to +90,
+              relative to the WGS-84 datum
+              <tp:rationale>
+                This is from XEP-0080; the XEP allows use of a different
+                datum, but recommends this one. We enforce sanity by requiring
+                a consistent datum: a minimal compliant implementation of this
+                specification in terms of XEP-0080 would simply ignore the
+                &lt;lat&gt; and &lt;lon&gt; elements if &lt;datum&gt; exists
+                and has a value other than WGS-84, while an advanced
+                implementation might correct for the different datum.
+              </tp:rationale>
+            </li>
+            <li>lon - d: Longitude in decimal degrees east, -180 to +180,
+              relative to the WGS-84 datum
+              <tp:rationale>
+                Same rationale as 'lat'
+              </tp:rationale>
+            </li>
+            <li>alt - d: altitude in metres above sea level (negative
+              if below sea level)
+              <tp:rationale>
+                This is from XEP-0080
+              </tp:rationale>
+            </li>
+            <li>accuracy-level - i (<tp:type>Location_Accuracy_Level</tp:type>):
+              an indication of accuracy, which SHOULD be omitted if it would be
+              Location_Accuracy_Level_None or
+              Location_Accuracy_Level_Detailed
+              <tp:rationale>
+                This is a struct field in GeoClue; the name is new in this
+                specification, and was chosen in an attempt to avoid clashing
+                with any future XEP-0080 terminology.
+              </tp:rationale>
+            </li>
+            <li>error - d: horizontal position error in arc-minutes (1/60
+              degree) if known
+              <tp:rationale>
+                This is from XEP-0080
+              </tp:rationale>
+            </li>
+            <li>vertical-error-m - d: vertical position error in metres if
+              known
+              <tp:rationale>
+                This exists as a struct field in GeoClue; the name is new
+                in this specification.
+              </tp:rationale>
+            </li>
+            <li>horizontal-error-m - d: horizontal position error in metres if
+              known
+              <tp:rationale>
+                This exists as a struct field in GeoClue; the name is new
+                in this specification.
+              </tp:rationale>
+            </li>
+          </ul>
+
+          <p>Velocities are represented by the following well-known keys:</p>
+
+          <ul>
+            <li>speed - d: speed in metres per second
+              <tp:rationale>
+                This is from XEP-0080
+              </tp:rationale>
+            </li>
+            <li>bearing - d: direction of movement in decimal degrees,
+              where North is 0 and East is 90
+              <tp:rationale>
+                This is from XEP-0080, and is equivalent to the struct field
+                called "direction" in GeoClue
+              </tp:rationale>
+            </li>
+            <li>climb - d: rate of change of 'alt' in metres per second
+              <tp:rationale>
+                This is a struct field in GeoClue; the name is new to this
+                specification, but seems uncontroversial
+              </tp:rationale>
+            </li>
+          </ul>
+
+          <p>Other well-known keys:</p>
+
+          <ul>
+            <li>timestamp - t (<tp:type>Unix_Timestamp64</tp:type>): the time
+              that the contact was at this location, in seconds since
+              1970-01-01T00:00:00Z (i.e. the beginning of 1970 in UTC)
+              <tp:rationale>
+                XEP-0080 uses an ISO 8601 string for this, but a number of
+                seconds since the epoch is probably easier to work with.
+              </tp:rationale>
+            </li>
+          </ul>
+        </tp:docstring>
+      </tp:member>
+
+      <tp:member name="Value" type="v">
+        <tp:docstring>
+          The value corresponding to the well-known key.
+        </tp:docstring>
+      </tp:member>
+    </tp:mapping>
+
+    <tp:mapping name="Contact_Locations" type="a{ua{sv}}">
+      <tp:member name="Contact" type="u" tp:type="Contact_Handle">
+      </tp:member>
+      <tp:member name="Location" type="a{sv}" tp:type="Location">
+      </tp:member>
+    </tp:mapping>
+
+    <method name="GetLocations" tp:name-for-bindings="Get_Locations">
+      <tp:docstring>
+        Return the current locations of the given contacts, if they are
+        already known. If any of the given contacts' locations are not known,
+        request their current locations, and later emit
+        <tp:member-ref>LocationUpdated</tp:member-ref> for them; the
+        <tp:member-ref>LocationUpdated</tp:member-ref> signal for contacts
+        whose location could not be determined will have an empty Location.
+      </tp:docstring>
+
+      <arg direction="in" name="Contacts" type="au" tp:type="Contact_Handle[]">
+        <tp:docstring>
+          The contacts whose locations should be returned or signalled.
+        </tp:docstring>
+      </arg>
+
+      <arg direction="out" name="Locations" type="a{ua{sv}}"
+        tp:type="Contact_Locations">
+        <tp:docstring>
+          The contacts' locations, if already known. Contacts whose locations
+          are not already known are omitted from the mapping; contacts known
+          to have no location information appear in the mapping with an empty
+          Location dictionary.
+        </tp:docstring>
+      </arg>
+    </method>
+
+    <signal name="LocationUpdated" tp:name-for-bindings="Location_Updated">
+      <tp:docstring>
+        Emitted when a contact's location changes or becomes known.
+      </tp:docstring>
+
+      <arg name="Contact" type="u" tp:type="Contact_Handle">
+        <tp:docstring>
+          The contact
+        </tp:docstring>
+      </arg>
+      <arg name="Location" type="a{sv}" tp:type="Location">
+        <tp:docstring>
+          The contact's location, or empty to indicate that nothing is known
+          about the contact's location.
+        </tp:docstring>
+      </arg>
+    </signal>
+
+    <method name="SetLocation" tp:name-for-bindings="SetLocation">
+      <tp:docstring>
+        Set the local user's own location.
+      </tp:docstring>
+
+      <arg direction="in" name="Location" type="a{sv}">
+        <tp:docstring>
+          The location to advertise. If the user wants to obscure their
+          exact location by reducing the precision or accuracy, clients
+          MUST do this themselves, rather than relying on the connection
+          manager to do so. Clients that interact with more than one
+          connection SHOULD advertise the same reduced-accuracy location
+          to all of them, so that contacts cannot obtain an undesirably
+          accurate location by assuming that random errors have been added
+          and averaging the locations advertised on multiple connections.
+        </tp:docstring>
+      </arg>
+    </method>
+
+    <property name="LocationAccessControlTypes" type="au" access="read"
+      tp:type="Rich_Presence_Access_Control_Type[]" tp:name-for-bindings="Location_Access_Control_Types">
+      <tp:docstring>The types of access control that are supported by this
+        connection.</tp:docstring>
+    </property>
+
+    <property name="LocationAccessControl" type="(uv)" access="readwrite"
+      tp:type="Rich_Presence_Access_Control" tp:name-for-bindings="Location_Access_Control">
+      <tp:docstring>The current access control mechanism and settings
+        for this connection. Before publishing location for the first time,
+        if this has not been set by a client, implementations SHOULD
+        set it to be as restrictive as possible (an empty whitelist, if
+        supported).</tp:docstring>
+    </property>
+  </interface>
+</node>
+<!-- vim:set sw=2 sts=2 et ft=xml: -->
index 7591109e8312531b01296e763cc03516f5ee6cfc..3b154cdd9789a2c203144504d78a1f6f7aea35f2 100644 (file)
@@ -15,6 +15,7 @@ EXTRA_DIST = \
     generic-types.xml \
     misc.xml \
     Channel_Handler.xml \
+    Connection_Interface_Location.xml \
     Tube_Handler.xml \
     Channel_Interface_Tube.xml \
     Channel_Type_DBus_Tube.xml \
index c9f4c0bd7b7abe31b23a527c835360c907e8dbf1..85d9dde6835fe1ddce6c0887e2f2ae85b7f5452f 100644 (file)
     from="Telepathy specification"/>
   <tp:external-type name="Tube_ID" type="u"
     from="Telepathy specification"/>
+
+  <!-- for localisation -->
+  <tp:external-type name="Rich_Presence_Access_Control_Type" type="u"
+    from="Telepathy specification"/>
+  <tp:external-type name="Rich_Presence_Access_Control" type="(uv)"
+    from="Telepathy specification"/>
+  <tp:external-type name="Unix_Timestamp64" type="t"
+    from="Telepathy specification"/>
+  <tp:external-type name="Unix_Timestamp" type="u"
+    from="Telepathy specification"/>
+  <tp:external-type name="String_String_Map" type="a{ss}"
+    from="Telepathy specification"/>
 </tp:generic-types>
 
 
index 5c89ff0d8c8010c3323b85aec55fa24871802f1b..a6ad1c648a9c9a2a7707f57b6c959c0f42be46fe 100644 (file)
@@ -9,5 +9,6 @@
 <xi:include href="Channel_Interface_Tube.xml" />
 <xi:include href="Channel_Type_DBus_Tube.xml" />
 <xi:include href="Channel_Type_Stream_Tube.xml" />
+<xi:include href="Connection_Interface_Location.xml"/>
 
 </tp:spec>
index 4a0d0ff40db039b2cfae3624a6d4304fa3459138..7eea5e9fd6e60e2eb8558def23693fe52ad93d93 100644 (file)
     not specified, the publisher/author is the same for all versions of the 
     document.  -->
     <publisher>
-      <year>2009</year>
       <publishername>GNOME Documentation Project</publishername>
     </publisher>
-    <publisher>
-      <year>2008, 2009</year>
-      <publishername>Ubuntu Documentation Project</publishername> 
-    </publisher> 
 
     <!-- licence stuff -->
     &legal;
index fb433ba40fedc670878c590666549d1303adddae..f5bd283ea59d2352f62204f56b489d1286477053 100644 (file)
@@ -3,37 +3,38 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: empathy-help.HEAD.el\n"
-"POT-Creation-Date: 2009-01-17 07:11+0000\n"
-"PO-Revision-Date: 2009-01-17 23:14+0200\n"
-"Last-Translator: Marios Zindilis <m.zindilis@dmajor.org>\n"
+"POT-Creation-Date: 2009-04-16 20:27+0000\n"
+"PO-Revision-Date: 2009-05-18 16:09+0200\n"
+"Last-Translator: Giannis Katsampirhs <juankatsampirhs@gmail.com>\n"
 "Language-Team: Greek <team@gnome.gr>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: KBabel 1.11.4\n"
+"X-Poedit-Language: Greek\n"
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/empathy.xml:215(None)
+#: C/empathy.xml:237(None)
 msgid "@@image: 'figures/empathy-main-window.png'; md5=38259a866f38ff1f754828e46d2b0e5c"
 msgstr "@@image: 'figures/empathy-main-window.png'; md5=38259a866f38ff1f754828e46d2b0e5c"
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/empathy.xml:306(None)
-msgid "@@image: 'figures/empathy-new-account.png'; md5=6c1e0d8c709125d387e975e5738b8c0f"
-msgstr "@@image: 'figures/empathy-new-account.png'; md5=6c1e0d8c709125d387e975e5738b8c0f"
-
-#: C/empathy.xml:25(title)
-msgid "<application>Empathy</application> Manual V2.0"
-msgstr "Εγχειρίδιο του <application>Empathy</application>, έκδοση 2.0"
+#: C/empathy.xml:27(title)
+#| msgid "<application>Empathy</application> Manual V2.0"
+msgid "<application>Empathy</application> Manual V2.1"
+msgstr "Εγχειρίδιο του <application>Empathy</application> V2.1"
 
-#: C/empathy.xml:28(year)
-msgid "2008"
-msgstr "2008"
+#: C/empathy.xml:30(year)
+msgid "2008, 2009"
+msgstr "2008, 2009"
 
-#: C/empathy.xml:29(holder) C/empathy.xml:35(publishername) C/empathy.xml:46(orgname) C/empathy.xml:54(orgname) C/empathy.xml:83(para)
+#: C/empathy.xml:31(holder)
+#: C/empathy.xml:37(publishername)
+#: C/empathy.xml:48(orgname)
+#: C/empathy.xml:56(orgname)
+#: C/empathy.xml:87(para)
+#: C/empathy.xml:101(para)
 msgid "Ubuntu Documentation Project"
 msgstr "Έργο τεκμηρίωσης του GNOME"
 
@@ -61,433 +62,917 @@ msgstr "ΣΕ ΚΑΜΙΑ ΠΕΡΙΠΤΩΣΗ ΚΑΙ ΥΠΟ ΚΑΜΙΑ ΝΟΜΙΚΗ
 msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: <placeholder-1/>"
 msgstr "ΤΟ ΈΓΓΡΑΦΟ ΚΑΙ ΤΡΟΠΟΠΟΙΗΜΕΝΕΣ ΕΚΔΟΣΕΙΣ ΑΥΤΟΥ ΠΑΡΕΧΟΝΤΑΙ ΥΠΟ ΤΟΥΣ ΟΡΟΥΣ ΤΗΣ ΑΔΕΙΑΣ GNU FREE DOCUMENTATION ΜΕ ΤΗΝ ΠΕΡΑΙΤΕΡΩ ΔΙΕΥΚΡΙΝΙΣΗ ΟΤΙ: <placeholder-1/>"
 
-#: C/empathy.xml:43(firstname)
+#: C/empathy.xml:45(firstname)
 msgid "Milo"
 msgstr "Milo"
 
-#: C/empathy.xml:44(surname)
+#: C/empathy.xml:46(surname)
 msgid "Casagrande"
 msgstr "Casagrande"
 
-#: C/empathy.xml:47(email)
-msgid "milo_casagrande@yahoo.it"
-msgstr "milo_casagrande@yahoo.it"
+#: C/empathy.xml:49(email)
+msgid "milo@ubuntu.com"
+msgstr "milo@ubuntu.com"
 
-#: C/empathy.xml:51(firstname)
+#: C/empathy.xml:53(firstname)
 msgid "Seth"
 msgstr "Seth"
 
-#: C/empathy.xml:52(surname)
+#: C/empathy.xml:54(surname)
 msgid "Dudenhofer"
 msgstr "Dudenhofer"
 
-#: C/empathy.xml:55(email)
+#: C/empathy.xml:57(email)
 msgid "sdudenhofer@gmail.com"
 msgstr "sdudenhofer@gmail.com"
 
-#: C/empathy.xml:74(revnumber)
+#: C/empathy.xml:81(revnumber)
+#| msgid "Empathy Manual V2.0"
+msgid "Empathy Manual V2.1"
+msgstr "Εγχειρίδιο του Empathy V2.1"
+
+#: C/empathy.xml:82(date)
+msgid "January 2009"
+msgstr "Ιανουάριος 2009"
+
+#: C/empathy.xml:84(para)
+#: C/empathy.xml:95(para)
+#| msgid "Milo Casagrande <email>milo_casagrande@yahoo.it</email>"
+msgid "Milo Casagrande <email>milo@ubuntu.com</email>"
+msgstr "Milo Casagrande <email>milo@ubuntu.com</email>"
+
+#: C/empathy.xml:92(revnumber)
 msgid "Empathy Manual V2.0"
 msgstr "Εγχειρίδιο του Empathy, εκδοση 2.0"
 
-#: C/empathy.xml:75(date)
+#: C/empathy.xml:93(date)
 msgid "April 2008"
 msgstr "Απρίλιος 2008"
 
-#: C/empathy.xml:77(para)
-msgid "Milo Casagrande <email>milo_casagrande@yahoo.it</email>"
-msgstr "Milo Casagrande <email>milo_casagrande@yahoo.it</email>"
-
-#: C/empathy.xml:80(para)
+#: C/empathy.xml:98(para)
 msgid "Seth Dudenhofer <email>sdudenhofer@gmail.com</email>"
 msgstr "Seth Dudenhofer <email>sdudenhofer@gmail.com</email>"
 
-#: C/empathy.xml:88(releaseinfo)
-msgid "This manual describes version 2.24 of Empathy."
-msgstr "Αυτό το εγχειρίδιο περιγράφει την έκδοση 2.24 του Empathy."
+#: C/empathy.xml:106(releaseinfo)
+#| msgid "This manual describes version 2.24 of Empathy."
+msgid "This manual describes version 2.26 of Empathy."
+msgstr "Το εγχειρίδιο αυτό περιγράφει την έκδοση 2.26 του Empathy."
 
-#: C/empathy.xml:92(title)
+#: C/empathy.xml:110(title)
 msgid "Feedback"
 msgstr "Ανάδραση"
 
-#: C/empathy.xml:93(para)
-msgid "To report a bug or make a suggestion regarding the <application>Empathy</application> application or this manual, follow the directions in the <ulink url=\"ghelp:gnome-feedback\" type=\"help\">GNOME Feedback Page</ulink>."
-msgstr "Για να αναφέρετε ένα σφάλμα ή να κάνετε μια πρόταση σχετικά με την εφαρμογή <application>Ιάγνος</application> ή αυτή την τεκμηρίωση, ακολουθήστε τις οδηγίες στη <ulink url=\"ghelp:gnome-feedback\" type=\"help\">Σελίδα ανάδρασης του GNOME</ulink>."
+#: C/empathy.xml:111(para)
+#| msgid ""
+#| "To report a bug or make a suggestion regarding the <application>Empathy</"
+#| "application> application or this manual, follow the directions in the "
+#| "<ulink url=\"ghelp:gnome-feedback\" type=\"help\">GNOME Feedback Page</"
+#| "ulink>."
+msgid "To report a bug or make a suggestion regarding the <application>Empathy</application> application or this manual, follow the directions in the <ulink url=\"ghelp:user-guide?feedback\" type=\"help\">GNOME Feedback Page</ulink>."
+msgstr "Για να αναφέρετε ένα σφάλμα ή να κάνετε μια πρόταση σχετικά με την εφαρμογή <application>Empathy</application> ή αυτή την τεκμηρίωση, ακολουθήστε τις οδηγίες στη <ulink url=\"ghelp:gnome-feedback\" type=\"help\">Σελίδα ανάδρασης του GNOME</ulink>."
 
-#: C/empathy.xml:101(para)
+#: C/empathy.xml:118(para)
 msgid "Empathy is an application for instant messaging."
 msgstr "Το Empathy είναι μια εφαρμογή για ανταλλαγή άμεσων μηνυμάτων."
 
-#: C/empathy.xml:109(primary) C/empathy.xml:0(application) C/empathy.xml:0(application)
+#: C/empathy.xml:126(primary)
+#: C/empathy.xml:0(application)
 msgid "Empathy"
 msgstr "Empathy"
 
-#: C/empathy.xml:112(primary)
+#: C/empathy.xml:129(primary)
 msgid "empathy"
 msgstr "empathy"
 
-#: C/empathy.xml:113(secondary)
+#: C/empathy.xml:130(secondary)
 msgid "istant messaging"
 msgstr "ανταλλαγή άμεσων μηνυμάτων"
 
-#: C/empathy.xml:117(title)
+#: C/empathy.xml:134(title)
 msgid "Introduction"
 msgstr "Εισαγωγή"
 
-#: C/empathy.xml:118(para)
+#: C/empathy.xml:135(para)
 msgid "<application>Empathy</application> is a multi-protocol instant messaging program for the GNOME Desktop. With <application>Empathy</application> you can keep in touch with all of your friends through lots of supported instant messaging services."
 msgstr "Το <application>Empathy</application> είναι μια εφαρμογή ανταλλαγής άμεσων μηνυμάτων σε πολλαπλά πρωτόκολλα, για την επιφάνεια εργασίας GNOME. Με το <application>Empathy</application> μπορείτε να είστε σε επικοινωνία με όλους τους φίλους σας μέσα από πολλές υποστηριζόμενες υπηρεσίες μηνυμάτων."
 
-#: C/empathy.xml:128(acronym)
+#: C/empathy.xml:145(acronym)
 msgid "AIM"
 msgstr "AIM"
 
-#: C/empathy.xml:132(para)
+#: C/empathy.xml:149(para)
 msgid "Google Talk"
 msgstr "Google Talk"
 
-#: C/empathy.xml:137(para)
+#: C/empathy.xml:154(para)
+#: C/empathy.xml:1089(title)
 msgid "ICQ"
 msgstr "ICQ"
 
-#: C/empathy.xml:143(acronym)
+#: C/empathy.xml:160(acronym)
 msgid "IRC"
 msgstr "IRC"
 
-#: C/empathy.xml:147(para)
-msgid "Jabber"
-msgstr "Jabber"
+#: C/empathy.xml:164(para)
+msgid "Jabber (or <acronym>XMPP</acronym>)"
+msgstr "Jabber (ή <acronym>XMPP</acronym>)"
 
-#: C/empathy.xml:153(acronym)
+#: C/empathy.xml:170(acronym)
 msgid "MSN"
 msgstr "MSN"
 
-#: C/empathy.xml:157(para) C/empathy.xml:440(para)
+#: C/empathy.xml:174(para)
+#: C/empathy.xml:441(para)
+#: C/empathy.xml:1049(title)
 msgid "Salut"
 msgstr "Salut"
 
-#: C/empathy.xml:163(acronym)
+#: C/empathy.xml:180(acronym)
 msgid "SIP"
 msgstr "SIP"
 
-#: C/empathy.xml:167(para)
+#: C/empathy.xml:184(para)
+#: C/empathy.xml:919(title)
 msgid "Yahoo"
 msgstr "Yahoo"
 
-#: C/empathy.xml:123(para)
+#: C/empathy.xml:189(para)
+msgid "And many others..."
+msgstr "Και άλλοι πολλοί..."
+
+#: C/empathy.xml:140(para)
 msgid "<application>Empathy</application> supports the following services: <placeholder-1/>"
 msgstr "Το <application>Empathy</application> υποστηρίζει τις ακόλουθες υπηρεσίες: <placeholder-1/>"
 
-#: C/empathy.xml:176(title)
+#: C/empathy.xml:198(title)
 msgid "Getting Started"
 msgstr "Ξεκίνημα"
 
-#: C/empathy.xml:179(title)
+#: C/empathy.xml:201(title)
 msgid "Starting Empathy"
 msgstr "Εκκίνηση του Empathy"
 
-#: C/empathy.xml:180(para)
+#: C/empathy.xml:202(para)
 msgid "You can start <application>Empathy</application> in the following ways:"
 msgstr "Μπορείτε να ξεκινήσετε το <application>Empathy</application> με τους εξής τρόπους:"
 
-#: C/empathy.xml:184(term)
+#: C/empathy.xml:206(term)
 msgid "<guimenu>Applications</guimenu> menu"
 msgstr "Μενού <guimenu>Εφαρμογές</guimenu>"
 
-#: C/empathy.xml:186(para)
+#: C/empathy.xml:208(para)
 msgid "Choose <menuchoice><guisubmenu>Internet</guisubmenu><guimenuitem>Empathy Instant Messenger</guimenuitem></menuchoice>."
 msgstr "Επιλέξτε <menuchoice><guisubmenu>Διαδίκτυο</guisubmenu><guimenuitem>Αποστολέας άμεσων μηνυμάτων Empathy</guimenuitem></menuchoice>."
 
-#: C/empathy.xml:195(term)
+#: C/empathy.xml:217(term)
 msgid "Command line"
 msgstr "Γραμμή εντολής"
 
-#: C/empathy.xml:197(para)
+#: C/empathy.xml:219(para)
 msgid "Type <command>empathy</command> and then press <keycap>Enter</keycap>."
 msgstr "Πληκτρολογήστε <command>empathy</command> και μετά πατήστε το <keycap>Enter</keycap>."
 
-#: C/empathy.xml:206(title)
+#: C/empathy.xml:228(title)
 msgid "When You Start Empathy"
 msgstr "Μόλις εκκινήσετε το Empathy"
 
-#: C/empathy.xml:211(title)
+#: C/empathy.xml:233(title)
 msgid "<application>Empathy</application> Main Window"
 msgstr "Βασικό παράθυρο του <application>Empathy</application>"
 
-#: C/empathy.xml:218(phrase)
+#: C/empathy.xml:240(phrase)
 msgid "Shows <placeholder-1/> main window. Contains the titlebar, the menubar, contact list, status icon and status arrow button list."
 msgstr "Εμφανίζει το βασικό παράθυρο <placeholder-1/>. Περιέχει τη μπάρα τίτλου, το μπάρα μενού, τη λίστα επαφών, το εικονίδιο κατάστασης και το βελάκι της αναδιπλούμενης λίστας καταστάσεων."
 
-#: C/empathy.xml:207(para)
+#: C/empathy.xml:229(para)
 msgid "When you start <application>Empathy</application> the following window is shown. <placeholder-1/>"
 msgstr "Όταν εκκινείτε το <application>Empathy</application> εμφανίζεται το ακόλουθο παράθυρο. <placeholder-1/>"
 
-#: C/empathy.xml:233(title)
+#: C/empathy.xml:255(title)
 msgid "<application>Empathy</application> Main Components"
 msgstr "Βασικά συστατικά του <application>Empathy</application>"
 
-#: C/empathy.xml:240(para)
+#: C/empathy.xml:262(para)
 msgid "Component"
 msgstr "Συστατικό"
 
-#: C/empathy.xml:243(para)
+#: C/empathy.xml:265(para)
 msgid "Description"
 msgstr "Περιγραφή"
 
-#: C/empathy.xml:250(para)
+#: C/empathy.xml:272(para)
 msgid "Menubar"
 msgstr "Μπάρα μενού"
 
-#: C/empathy.xml:253(para)
+#: C/empathy.xml:275(para)
 msgid "Contains menus used to perform actions in <application>Empathy</application>."
 msgstr "Περιέχει τα μενού που χρησιμοποιούνται για τις ενέργειες στο <application>Empathy</application>."
 
-#: C/empathy.xml:260(para)
+#: C/empathy.xml:282(para)
 msgid "Status Drop-Down List"
 msgstr "Αναδιπλούμενη λίστα κατάστασης"
 
-#: C/empathy.xml:263(para)
-msgid "Allows to update the user's status."
-msgstr "Επιτρέπει την ενημέρωση της κατάστασης του χρήστη."
+#: C/empathy.xml:285(para)
+#| msgid "Allows to update the user's status."
+msgid "Allows to update the status."
+msgstr "Επιτρέπει την ενημέρωση της κατάστασης."
 
-#: C/empathy.xml:270(para)
+#: C/empathy.xml:292(para)
 msgid "Account Button"
 msgstr "Κουμπί λογαριασμού"
 
-#: C/empathy.xml:273(para)
+#: C/empathy.xml:295(para)
 msgid "Opens the <guilabel>Accounts</guilabel> dialog."
 msgstr "Ανοίγει το διάλογο <guilabel>Λογαριασμοί</guilabel>."
 
-#: C/empathy.xml:280(para)
+#: C/empathy.xml:302(para)
 msgid "Contact List"
 msgstr "Λίστα επαφών"
 
-#: C/empathy.xml:283(para)
+#: C/empathy.xml:305(para)
 msgid "Shows all the available contacts and their associated status."
 msgstr "Εμφανίζει τις διαθέσιμες επαφές και την κατάστασή τους."
 
-#: C/empathy.xml:229(para)
+#: C/empathy.xml:251(para)
 msgid "<xref linkend=\"empathy-TBL-1\"/> describes the components of <application>Empathy</application>'s main window. <table frame=\"topbot\" id=\"empathy-TBL-1\"><placeholder-1/><tgroup cols=\"2\" colsep=\"0\" rowsep=\"0\"><colspec colname=\"colspec0\" colwidth=\"29.39*\"/><colspec colname=\"colspec1\" colwidth=\"70.61*\"/><placeholder-2/><placeholder-3/></tgroup></table>"
 msgstr "<xref linkend=\"empathy-TBL-1\"/> περιγράφει τα συστατικά του βασικού παραθύρου του <application>Empathy</application>. <table frame=\"topbot\" id=\"empathy-TBL-1\"><placeholder-1/><tgroup cols=\"2\" colsep=\"0\" rowsep=\"0\"><colspec colname=\"colspec0\" colwidth=\"29.39*\"/><colspec colname=\"colspec1\" colwidth=\"70.61*\"/><placeholder-2/><placeholder-3/></tgroup></table>"
 
-#: C/empathy.xml:296(title)
-msgid "When You Start Empathy for the First Time"
-msgstr "Πρώτη εκκίνηση του Empathy"
-
-#: C/empathy.xml:302(title)
-msgid "<application>Empathy</application> Accounts Dialog"
-msgstr "Διάλογος λογαριασμών του <application>Empathy</application>"
-
-#: C/empathy.xml:309(phrase)
-msgid "Shows <placeholder-1/> account creation dialog."
-msgstr "Δείχνει το διάλογο δημιουργίας λογαριασμού <placeholder-1/>."
-
-#: C/empathy.xml:297(para)
-msgid "When you start <application>Empathy</application> for the first time and you don't have configured any account yet, the following dialog is shown. <placeholder-1/>"
-msgstr "Όταν εκκινήσετε το <application>Empathy</application> για πρώτη φορά και δεν έχετε ακόμα ρυθμίσει κάποιο λογαριασμό, εμφανίζεται ο ακόλουθος διάλογος. <placeholder-1/>"
-
-#: C/empathy.xml:318(para)
-msgid "From here, you can configure and create your accounts. See <xref linkend=\"empathy-accounts\"/> for more information."
-msgstr "Από εδώ μπορείτε να δημιουργήσετε και να ρυθμίσετε τους λογαριασμούς σας. Δείτε το <xref linkend=\"empathy-accounts\"/> για περισσότερες πληροφορίες."
-
-#: C/empathy.xml:327(title)
+#: C/empathy.xml:319(title)
 msgid "Accounts"
 msgstr "Λογαριασμοί"
 
-#: C/empathy.xml:328(para)
+#: C/empathy.xml:320(para)
 msgid "To use <application>Empathy</application> you need at least one account of the supported services."
 msgstr "Για να χρησιμοποιήσετε το <application>Empathy</application> χρειάζεστε έναν τουλάχιστον λογαριασμό από τις υποστηριζόμενες υπηρεσίες."
 
-#: C/empathy.xml:331(para)
+#: C/empathy.xml:323(para)
 msgid "If you don't already have an account and you don't have your <emphasis>user name</emphasis> and <emphasis>password</emphasis>, you need to register a new account (see <xref linkend=\"empathy-register-account\"/>)."
 msgstr "Αν δεν έχετε ήδη κάποιο λογαριασμό και δεν έχετε <emphasis>όνομα χρήστη</emphasis> και <emphasis>συνθηματικό</emphasis>, πρέπει να εγγράψετε ένα νέο λογαριασμό (δείτε το <xref linkend=\"empathy-register-account\"/>)."
 
-#: C/empathy.xml:336(para)
-msgid "In order to talk with other users (called <emphasis>contatcs</emphasis>), you need to use the same service they are using. If, for example, one contact is using the <emphasis role=\"strong\">Jabber</emphasis> service, you need to have an account registerd with that service."
-msgstr "Για να συνομιλήσετε με άλλους χρήστες (που ονομάζονται <emphasis>επαφές</emphasis>), πρέπει να χρησιμοποιείτε την ίδια υπηρεσία που χρησιμοποιούν. Αν, για παράδειγμα, μια επαφή χρησιμοποιεί την υπηρεσία <emphasis>Jabber</emphasis>, τότε θα πρέπει να έχετε ένα εγγεγραμμένο λογαριασμό σε εκείνη την υπηρεσία."
-
-#: C/empathy.xml:343(para)
+#: C/empathy.xml:328(para)
+#| msgid ""
+#| "In order to talk with other users (called <emphasis>contatcs</emphasis>), "
+#| "you need to use the same service they are using. If, for example, one "
+#| "contact is using the <emphasis role=\"strong\">Jabber</emphasis> service, "
+#| "you need to have an account registerd with that service."
+msgid "In order to talk with other users, also called <emphasis>contacts</emphasis>, you need to use the same service they are using. If, for example, one contact is using the <emphasis role=\"strong\">Jabber</emphasis> service, you need to have an account registered with that service."
+msgstr "Για να συνομιλήσετε με άλλους χρήστες, δηλαδή με άλλες <emphasis>επαφές</emphasis>, πρέπει να χρησιμοποιήσετε την ίδια υπηρεσία που χρησιμοποιούν κι αυτοί. Αν, για παράδειγμα, μία επαφή χρησιμοποιεί την υπηρεσία <emphasis role=\"strong\">Jabber</emphasis>, πρέπει να έχετε ένα λογαριασμό που να έχει καταχωρηθεί με την υπηρεσία αυτή."
+
+#: C/empathy.xml:335(para)
 msgid "<application>Empathy</application> can handle as many accounts on any supported services as you want and you can have them all open at the same time."
 msgstr "Το <application>Empathy</application> μπορεί να χειριστεί όσους λογαριασμούς σε όσες υπηρεσίες θέλετε και μπορείτε να τους έχετε όλους ταυτόχρονα ανοικτούς."
 
-#: C/empathy.xml:349(title)
+#: C/empathy.xml:341(title)
 msgid "Registering an Account"
 msgstr "Δημιουργία λογαριασμού"
 
-#: C/empathy.xml:350(para)
+#: C/empathy.xml:342(para)
 msgid "You can freely register an account on any of the following services. Follow the instructions reported on each website on how to register your new account. At the end of the registration process you should have a <emphasis>user name</emphasis> (or an <emphasis>account ID</emphasis>) and a <emphasis>password</emphasis> that you will use to create the account in <application>Empathy</application>."
 msgstr "Μπορείτε να δημιουργήσετε δωρεάν ένα λογαριασμό σε οποιαδήποτε από τις ακόλουθες υπηρεσίες. Ακολουθήστε τις οδηγίες που περιγράφονται σε κάθε ιστότοπο για τον τρόπο δημιουργίας του λογαριασμού σας. Στο τέλος της διαδικασίας εγγραφής θα πρέπει να έχετε ένα <emphasis>όνομα χρήστη</emphasis> (ή μια <emphasis>ταυτότητα - ID</emphasis>) και ένα <emphasis>συνθηματικό</emphasis> που θα χρησιμοποιήσετε για να δημιουργήσετε ένα λογαριασμό στο <application>Empathy</application>."
 
 #. Translators: try to find a localized version of the
 #.         registration service website
-#: C/empathy.xml:368(para)
+#: C/empathy.xml:360(para)
 msgid "The <ulink type=\"http\" url=\"http://dashboard.aim.com/aim\">AIM</ulink> service."
 msgstr "Η υπηρεσία <ulink type=\"http\" url=\"http://dashboard.aim.com/aim\">AIM</ulink>."
 
 #. Translators: try to find a localized version of the
 #.         registration service website
-#: C/empathy.xml:375(para)
+#: C/empathy.xml:367(para)
 msgid "The <ulink type=\"http\" url=\"http://www.google.com/talk/\">Google Talk</ulink> service."
 msgstr "Η υπηρεσία <ulink type=\"http\" url=\"http://www.google.com/talk/\">Google Talk</ulink>."
 
 #. Translators: try to find a localized version of the
 #.         registration service website
-#: C/empathy.xml:383(para)
+#: C/empathy.xml:375(para)
 msgid "The <ulink type=\"http\" url=\"https://www.icq.com/register/\">ICQ</ulink> service."
 msgstr "Η υπηρεσία <ulink type=\"http\" url=\"https://www.icq.com/register/\">ICQ</ulink>."
 
 #. Translators: try to find a localized version of the
 #.         registration service website
-#: C/empathy.xml:390(para)
+#: C/empathy.xml:382(para)
 msgid "The <ulink type=\"http\" url=\"https://accountservices.passport.net\">MSN</ulink> service."
 msgstr "Η υπηρεσία <ulink type=\"http\" url=\"https://accountservices.passport.net\">MSN</ulink>."
 
 #. Translators: try to find a localized version of the
 #.         registration service website
-#: C/empathy.xml:397(para)
+#: C/empathy.xml:389(para)
 msgid "The <ulink type=\"http\" url=\"https://login.yahoo.com/config/login\">Yahoo</ulink> service."
 msgstr "Η υπηρεσία <ulink type=\"http\" url=\"https://login.yahoo.com/config/login\">Yahoo</ulink>."
 
-#: C/empathy.xml:359(para)
+#: C/empathy.xml:351(para)
 msgid "Click on the name of the service to visit its website: <placeholder-1/>"
 msgstr "Πατήστε στο όνομα της υπηρεσίας για να επισκεφθείτε τον ιστότοπό της."
 
-#: C/empathy.xml:403(para)
+#: C/empathy.xml:395(para)
 msgid "For registering a <acronym>SIP</acronym> account, you can use one of the following service:"
 msgstr "Για να δημιουργήσετε ένα λογαριασμό <acronym>SIP</acronym>, μπορείτε να χρησιμοποιήσετε μία από τις ακόλουθες υπηρεσίες:"
 
 #. Translators: try to find a localized version of the
 #.         registration service website
-#: C/empathy.xml:412(para)
-msgid "The <ulink type=\"http\" url=\"http://www.ekiga.net/user/reg/\">Ekiga</ulink> service."
-msgstr "Η υπηρεσία <ulink type=\"http\" url=\"http://www.ekiga.net/user/reg/\">Ekiga</ulink>."
+#: C/empathy.xml:404(para)
+#| msgid ""
+#| "The <ulink type=\"http\" url=\"http://www.ekiga.net/user/reg/\">Ekiga</"
+#| "ulink> service."
+msgid "The <ulink type=\"http\" url=\"https://www.ekiga.net/index.php?page=register\">Ekiga</ulink> service."
+msgstr "Η υπηρεσία <ulink type=\"http\" url=\"https://www.ekiga.net/index.php?page=register\">Ekiga</ulink>."
 
 #. Translators: try to find a localized version of the
 #.         registration service website
-#: C/empathy.xml:419(para)
+#: C/empathy.xml:411(para)
 msgid "The <ulink type=\"http\" url=\"http://account2.freeworlddialup.com/index.php?section_id=94\"><acronym>FWD</acronym></ulink> (Free World Dialup) service."
 msgstr "Η υπηρεσία <ulink type=\"http\" url=\"http://account2.freeworlddialup.com/index.php?section_id=94\"><acronym>FWD</acronym></ulink> (Free World Dialup)."
 
 #. Translators: try to find a localized version of the
 #.         registration service website
-#: C/empathy.xml:427(para)
+#: C/empathy.xml:419(para)
 msgid "The <ulink type=\"http\" url=\"https://signup.sipphone.com/new-users/app?class=NewUser;proc=start\">Sipphone</ulink> service."
 msgstr "Η υπηρεσία <ulink type=\"http\" url=\"https://signup.sipphone.com/new-users/app?class=NewUser;proc=start\">Sipphone</ulink>."
 
-#: C/empathy.xml:433(para)
-msgid "You can use one of the following services if you already have a <emphasis role=\"strong\">Jabber</emphasis> account:"
-msgstr "Μπορείτε να επιλέξετε μια από τις ακόλουθες υπηρεσίες αν έχετε ήδη έναν λογαριασμό <emphasis>Jabber</emphasis>:"
-
-#: C/empathy.xml:449(title)
-msgid "Creating an Account"
-msgstr "Δημιουργία λογαριασμού"
-
-#: C/empathy.xml:454(para) C/empathy.xml:500(para) C/empathy.xml:522(para)
-msgid "From the <link linkend=\"empathy-FIG-mainwindow\">main window </link> (<guilabel>Contact List</guilabel>) click on the account button to open the <guilabel>Accounts</guilabel> dialog."
-msgstr "Από το <link linkend=\"empathy-FIG-mainwindow\">βασικό παράθυρο</link> (<guilabel>Λίστα επαφών</guilabel>) πατήστε το κουμπίθ λογαριασμοί για να ανοίξετε το διάλογο <guilabel>Λογαριασμοί</guilabel>."
+#: C/empathy.xml:425(para)
+msgid "For registering a <emphasis role=\"strong\">Jabber</emphasis> account, you can use the automatic account creation of <application>Empathy</application>. Not all Jabber service providers support the automatic creation of accounts, one service provider known to work with <application>Empathy</application> is <ulink type=\"http\" url=\"http://www.jabber.org/web/Jabber.org\">jabber.org</ulink>."
+msgstr "Για να καταχωρήσετε ένα λογαριασμό <emphasis role=\"strong\">Jabber</emphasis>, μπορείτε να χρησιμοποιήσετε την αυτόματη δημιουργία λογαριασμού του <application>Empathy</application>. Δεν υποστηρίζουν όλες οι υπηρεσίες Jabber την αυτόματη δημιουργία λογαριασμών, ένας παροχέας της υπηρεσίας που είναι γνωστό ότι λειτουργεί με το <application>Empathy</application> είναι ο <ulink type=\"http\" url=\"http://www.jabber.org/web/Jabber.org\">jabber.org</ulink>."
 
-#: C/empathy.xml:462(para)
-msgid "Click on the <guibutton>Add</guibutton> button."
-msgstr "Πατήστε στο <guibutton>Δημιουργία</guibutton>."
+#: C/empathy.xml:433(para)
+#| msgid ""
+#| "For registering a <acronym>SIP</acronym> account, you can use one of the "
+#| "following service:"
+msgid "If you already have a <emphasis role=\"strong\">Jabber</emphasis> account, you can use one of the following services:"
+msgstr "Αν έχετε ήδη ένα λογαριασμό <emphasis role=\"strong\">Jabber</emphasis>, μπορείτε να χρησιμοποιήσετε μία από τις ακόλουθες υπηρεσίες:"
+
+#: C/empathy.xml:450(title)
+#| msgid ""
+#| "Contains menus used to perform actions in <application>Empathy</"
+#| "application>."
+msgid "Adding your Account to <application>Empathy</application>"
+msgstr "Προσθήκη του λογαριασμού σας στο <application>Empathy</application>"
+
+#: C/empathy.xml:455(para)
+#: C/empathy.xml:533(para)
+#: C/empathy.xml:585(para)
+#: C/empathy.xml:618(para)
+#: C/empathy.xml:648(para)
+#: C/empathy.xml:671(para)
+#| msgid ""
+#| "From the <link linkend=\"empathy-FIG-mainwindow\">main window </link> "
+#| "(<guilabel>Contact List</guilabel>) click on the account button to open "
+#| "the <guilabel>Accounts</guilabel> dialog."
+msgid "From the <link linkend=\"empathy-FIG-mainwindow\">main window </link> (<guilabel>Contact List</guilabel>) click on the account button or press <keycap>F4</keycap> to open the <guilabel>Accounts</guilabel> dialog."
+msgstr "Από το <link linkend=\"empathy-FIG-mainwindow\">κύριο παράθυρο </link> (<guilabel>Λίστα επαφών</guilabel>) κάντε κλικ στο κουμπί του λογαριασμού ή πιέστε το πλήκτρο <keycap>F4</keycap> για να ανοίξετε το παράθυρο διαλόγου <guilabel>Λογαριασμοί</guilabel>."
 
 #: C/empathy.xml:467(para)
-msgid "From the <guilabel>Type</guilabel> drop-down list choose the service you wish to create an account for, then click on the <guibutton>Create</guibutton> button."
-msgstr "Από την αναδιπλούμενη λίστα <guilabel>Τύπος</guilabel> επιλέξτε την υπηρεσία στην οποία θέλετε να δημιουργήσετε ένα λογαριασμό, μετά πατήστε στο <guibutton>Δημιουργία</guibutton>."
-
-#: C/empathy.xml:474(para)
-msgid "Fill the required fields with your <emphasis>user name</emphasis> and <emphasis>password</emphasis>."
-msgstr "Συμπληρώστε τα απαραίτητα πεδία με τον <emphasis>όνομα χρήστη</emphasis> και το <emphasis>συνθηματικό</emphasis> σας."
-
-#: C/empathy.xml:480(para)
-msgid "To enable the new account, select the <guilabel>Enabled</guilabel> check-box next to the name of the account."
-msgstr "Για να ενεργοποιήσετε το νέο λογαριασμό, επιλέξτε το κουτάκι  <guilabel>Ενεργοποιημένο</guilabel> πλάι στο όνομα του λογαριασμού."
+#: C/empathy.xml:484(para)
+#| msgid ""
+#| "From the <guilabel>Type</guilabel> drop-down list choose the service you "
+#| "wish to create an account for, then click on the <guibutton>Create</"
+#| "guibutton> button."
+msgid "From the <guilabel>Type</guilabel> drop-down list choose the service you wish to add an account for, then click on the <guibutton>Create</guibutton> button."
+msgstr "Από την αναδιπλούμενη λίστα <guilabel>Τύπος</guilabel> επιλέξτε την υπηρεσία για την οποία επιθυμείτε να δημιουργήσετε ένα λογαριασμό, ύστερα κάντε κλικ στο κουμπί <guibutton>Δημιουργία</guibutton>."
+
+#: C/empathy.xml:463(para)
+#| msgid ""
+#| "When you start <application>Empathy</application> the following window is "
+#| "shown. <placeholder-1/>"
+msgid "If it is the first time you launch <application>Empathy</application>: <placeholder-1/>"
+msgstr "Είναι η πρώτη φορά που εκκινείτε την εφαρμογή <application>Empathy</application>: <placeholder-1/>"
+
+#: C/empathy.xml:479(para)
+#| msgid "Click on the <guibutton>Add</guibutton> button."
+msgid "Click on the <guilabel>Add</guilabel> button."
+msgstr "Κάντε κλικ στο κουμπί <guilabel>Προσθήκη</guilabel>."
+
+#: C/empathy.xml:475(para)
+msgid "Otherwise: <placeholder-1/>"
+msgstr "Ειδάλλως: <placeholder-1/>"
 
-#: C/empathy.xml:450(para)
-msgid "To create an account, proceed as follow: <placeholder-1/>"
-msgstr "Για να δημιουργήσετε ένα λογαριασμό, προχωρήστε ως εξής: <placeholder-1/>"
+#: C/empathy.xml:494(para)
+#| msgid ""
+#| "If you don't already have an account and you don't have your "
+#| "<emphasis>user name</emphasis> and <emphasis>password</emphasis>, you "
+#| "need to register a new account (see <xref linkend=\"empathy-register-"
+#| "account\"/>)."
+msgid "Fill the required fields with your <emphasis>user name</emphasis> and <emphasis>password</emphasis>. Optionally, you can modify some advanced options. For more information, see <xref linkend=\"empathy-advanced-options\"/>."
+msgstr "Συμπληρώστε τα απαιτούμενα πεδία με το <emphasis>όνομα χρήστη</emphasis> σας και το <emphasis>συνθηματικό</emphasis>. Εναλλακτικά, μπορείτε να τροποποιήσετε κάποιες επιλογές για προχωρημένους. Για μερικές πληροφορίες, δείτε <xref linkend=\"empathy - επιλογές για προχωρημένους\"/>."
+
+#: C/empathy.xml:503(para)
+#: C/empathy.xml:566(para)
+#| msgid ""
+#| "To enable the new account, select the <guilabel>Enabled</guilabel> check-"
+#| "box next to the name of the account."
+msgid "To enable the new account, select the <guilabel>Enabled</guilabel> check-box next to the name of the account in the box on the left."
+msgstr "Για να ενεργοποιήσετε το νέο λογαριασμό, επιλέξτε το πεδίο ελέγχου  <guilabel>Ενεργοποιημένο</guilabel> δίπλα στο όνομα του λογαριασμού στο πεδίο στα αριστερά."
+
+#: C/empathy.xml:451(para)
+#| msgid ""
+#| "When you start <application>Empathy</application> the following window is "
+#| "shown. <placeholder-1/>"
+msgid "To add your account to <application>Empathy</application>, proceed as follows: <placeholder-1/>"
+msgstr "Για να προσθέσετε το λογαριασμό σας στο <application>Empathy</application>, προχωρήστε ως εξής: <placeholder-1/>"
+
+#: C/empathy.xml:513(title)
+#| msgid "Creating an Account"
+msgid "Importing Accounts"
+msgstr "Εισαγωγή λογαριασμών"
+
+#: C/empathy.xml:514(para)
+msgid "If you use another instant messaging program, you can import the accounts from that program into <application>Empathy</application>"
+msgstr "Αν χρησιμοποιείτε κάποιο άλλο πρόγραμμα άμεσων μηνυμάτων, μπορείτε να εισάγετε στο <application>Empathy</application> τους λογαριασμούς από το πρόγραμμα αυτό"
+
+#: C/empathy.xml:520(para)
+msgid "At the moment <application>Empathy</application> can import the accounts only from the instant messaging program <application>Pidgin</application>. For more information about <application>Pidgin</application>, see the <ulink type=\"http\" url=\"http://www.pidgin.im/\">Pidgin website</ulink>."
+msgstr "Προς το παρόν το <application>Empathy</application> μπορεί να εισάγει μόνο τους λογαριασμούς από το πρόγραμμα άμεσων μηνυμάτων <application>Pidgin</application>. Για περισσότερες πληροφορίες σχετικά με το <application>Pidgin</application>, δείτε την <ulink type=\"http\" url=\"http://www.pidgin.im/\">Ιστοσελίδα του Pidgin</ulink>."
 
-#: C/empathy.xml:493(title)
+#: C/empathy.xml:541(para)
+msgid "Click on the <guibutton>Import Accounts...</guibutton> button to open the <guilabel>Import Accounts</guilabel> dialog."
+msgstr "Κάντε κλικ στο κουμπί <guibutton>Εισαγωγή λογαριασμών...</guibutton>για να ανοίξει το παράθυρο διαλόγου <guilabel>Εισαγωγή λογαριασμών</guilabel>."
+
+#: C/empathy.xml:548(para)
+#| msgid ""
+#| "Select the account you wish to disable in the box on the left of the "
+#| "dialog and deselect the <guilabel>Enabled</guilabel> check-box."
+msgid "Select the accounts you would like to import by clicking on the <guilabel>Import</guilabel> check-box."
+msgstr "Επιλέξτε τους λογαριασμού που επιθυμείτε να εισάγετε κάνοντας κλικ στο πεδίο ελέγχου <guilabel>Εισαγωγή</guilabel>."
+
+#: C/empathy.xml:554(para)
+msgid "When you have selected all the desired accounts, click <guibutton>OK</guibutton> to import them. If you don't want to import the accounts, click <guibutton>Cancel</guibutton>."
+msgstr "Αφού έχετε επιλέξει όλους τους επιθυμητούς λογαριασμούς, κάντε κλικ στο κουμπί <guibutton>OK</guibutton> για να τους εισάγετε. Αν δεν επιθυμείτε να εισάγετε τους λογαριασμούς, κάντε κλικ στο κουμπί <guibutton>Ακύρωση</guibutton>."
+
+#: C/empathy.xml:562(para)
+#| msgid ""
+#| "When you start <application>Empathy</application> the following window is "
+#| "shown. <placeholder-1/>"
+msgid "When you import a new account into <application>Empathy</application>, it will not be enabled by default."
+msgstr "Όταν εισάγετε ένα νέο λογαριασμό στο <application>Empathy</application>, αυτός δεν θα ενεργοποιηθεί εξ ορισμού."
+
+#: C/empathy.xml:529(para)
+#| msgid ""
+#| "When you start <application>Empathy</application> the following window is "
+#| "shown. <placeholder-1/>"
+msgid "To import the accounts into <application>Empathy</application>, proceed as follows: <placeholder-1/>"
+msgstr "Για να εισάγετε τους λογαριασμούς στο <application>Empathy</application>, προχωρήστε ως εξής: <placeholder-1/>"
+
+#: C/empathy.xml:578(title)
+#| msgid "Creating an Account"
+msgid "Editing an Account"
+msgstr "Επεξεργασία λογαριασμού"
+
+#: C/empathy.xml:593(para)
+#| msgid ""
+#| "Select the account you wish to disable in the box on the left of the "
+#| "dialog."
+msgid "Select the account you wish to edit in the box on the left."
+msgstr "Επιλέξτε το λογαριασμό που επιθυμείτε να επεξεργαστείτε στο πεδίο στα αριστερά."
+
+#: C/empathy.xml:599(para)
+msgid "Modify the desired data."
+msgstr "Τροποποιήστε τα δεδομένα που επιθυμείτε."
+
+#: C/empathy.xml:579(para)
+msgid "To edit one of your accounts, i.e. to change the <emphasis>password</emphasis> or your <emphasis>user name</emphasis>, proceed as follows: <placeholder-1/>"
+msgstr "Για να επεξεργαστείτε κάποιον από τους λογαριασμούς σας, για παράδειγμα, για να τροποποιήσετε το <emphasis>συνθηματικό</emphasis> ή το <emphasis>όνομα χρήστη</emphasis> σας, προχωρήστε ως εξής: <placeholder-1/>"
+
+#: C/empathy.xml:607(para)
+msgid "Based on the type of the account, it is possibile to edit different settings."
+msgstr "Με βάση τον τύπο του λογαριασμού, είναι δυνατό να επεξεργαστείτε διάφορες ρυθμίσεις."
+
+#: C/empathy.xml:626(para)
+#| msgid ""
+#| "Select the account you wish to disable in the box on the left of the "
+#| "dialog."
+msgid "Select the account you wish to edit in the box on the left and double-click on its name."
+msgstr "Επιλέξτε το λογαριασμό που επιθυμείτε να επεξεργαστείτε στο πεδίο στα αριστερά και κάντε διπλό κλικ στο όνομά του."
+
+#: C/empathy.xml:632(para)
+msgid "Change the name of the account as you desire."
+msgstr "Τροποποιήστε το όνομα του λογαριασμού όπως επιθυμείτε."
+
+#: C/empathy.xml:613(para)
+#| msgid ""
+#| "When you start <application>Empathy</application> the following window is "
+#| "shown. <placeholder-1/>"
+msgid "To modify the identifier of an account, how <application>Empathy</application> identifies an account, proceed as follows: <placeholder-1/>"
+msgstr "Για να τροποποιήσετε το αναγνωριστικό ενός λογαριασμού, δηλαδή πως το <application>Empathy</application> αναγνωρίζει ένα λογαριασμό, προχωρήστε ως εξής: <placeholder-1/>"
+
+#: C/empathy.xml:641(title)
 msgid "Disabling and Removing an Account"
 msgstr "Απενεργοποίηση και αφαίρεση λογαριασμού"
 
-#: C/empathy.xml:494(para)
-msgid "To disable an account, proceed as follow:"
+#: C/empathy.xml:642(para)
+#| msgid "To disable an account, proceed as follow:"
+msgid "To disable an account, proceed as follows:"
 msgstr "Για να απενεργοποιήσετε ένα λογαριασμό, προχωρήστε ως εξής:"
 
-#: C/empathy.xml:508(para)
+#: C/empathy.xml:657(para)
 msgid "Select the account you wish to disable in the box on the left of the dialog and deselect the <guilabel>Enabled</guilabel> check-box."
-msgstr "Επιλέξτε το λογαριασμό που θέλετε να απενεργοποιήσετε στο κουτί στα δεξιά του διαλόγου και αποεπιλέξτε το κουτάκι <guilabel>Ενεργοποιημένο</guilabel>."
+msgstr "Επιλέξτε το λογαριασμό που θέλετε να απενεργοποιήσετε στο πεδίο στα δεξιά του διαλόγου και αποεπιλέξτε το πεδίο ελέγχου <guilabel>Ενεργοποιημένο</guilabel>."
 
-#: C/empathy.xml:516(para)
-msgid "To remove an account, proceed as follow:"
+#: C/empathy.xml:665(para)
+#| msgid "To remove an account, proceed as follow:"
+msgid "To remove an account, proceed as follows:"
 msgstr "Για να αφαιρέσετε ένα λογαριασμό, προχωρήστε ως εξής:"
 
-#: C/empathy.xml:530(para)
+#: C/empathy.xml:680(para)
 msgid "Select the account you wish to disable in the box on the left of the dialog."
-msgstr "Επιλέξτε το λογαριασμό που θέλετε να αφαιρέσετε από το κουτί στα αριστερά του διαλόγου."
+msgstr "Επιλέξτε το λογαριασμό που θέλετε να αφαιρέσετε από το πεδίο στα αριστερά του διαλόγου."
 
-#: C/empathy.xml:536(para)
+#: C/empathy.xml:686(para)
 msgid "Click on the <guibutton>Remove</guibutton> button."
 msgstr "Πατήστε στο <guibutton>Αφαίρεση</guibutton>."
 
-#: C/empathy.xml:541(para)
+#: C/empathy.xml:691(para)
 msgid "A dialog will be shown asking for confirmation. Click on the <guibutton>Remove</guibutton> button to remove the account."
 msgstr "Θα εμφανιστεί ένας διάλογος που θα σας ζητάει επιβεβαίωση. Πατήστε στο <guibutton>Αφαίρεση</guibutton> για να αφαιρέσετε το λογαριασμό."
 
-#: C/empathy.xml:552(title)
-msgid "Contacts"
-msgstr "Επαφές"
-
-#: C/empathy.xml:553(para)
+#: C/empathy.xml:701(title)
+msgid "Editing Personal Information"
+msgstr "Επεξεργασία προσωπικών πληροφοριών"
+
+#: C/empathy.xml:702(para)
+msgid "To change your personal information, your alias and your icon (the image that other contacts will see of you), for each of your accounts, proceed as follows:"
+msgstr "Για να τροποποιήσετε τις προσωπικές σας πληροφορίες, το ψευδώνυμο και το εικονίδιό σας (η εικόνα σας η οποία θα εμφανίζεται στις άλλες επαφές), για καθέναν από τους λογαριασμούς σας, προχωρήστε ως εξής:"
+
+#: C/empathy.xml:710(para)
+#| msgid ""
+#| "From the <link linkend=\"empathy-FIG-mainwindow\">main window</link> "
+#| "choose <menuchoice><guimenu>Chat</guimenu><guimenuitem>Add Contact...</"
+#| "guimenuitem></menuchoice>. The <guilabel>New Contact</guilabel> dialog "
+#| "will be shown."
+msgid "From the <link linkend=\"empathy-FIG-mainwindow\">main window</link>, select <menuchoice><guimenu>Edit</guimenu><guimenuitem>Personal Information</guimenuitem></menuchoice>."
+msgstr "Από το <link linkend=\"empathy-FIG-mainwindow\">κύριο παράθυρο</link>, επιλέξτε <menuchoice><guimenu>Επεξεργασία</guimenu><guimenuitem>Προσωπικές πληροφορίες</guimenuitem></menuchoice>."
+
+#: C/empathy.xml:719(para)
+#| msgid ""
+#| "From the <guilabel>Account</guilabel> drop-down list, choose the service "
+#| "used by the contact you are adding."
+msgid "From the <guilabel>Account</guilabel> drop-down list, choose the account you want to edit."
+msgstr "Από την αναδιπλούμενη λίστα <guilabel>Λογαριασμός</guilabel>, επιλέξτε το λογαριασμό που επιθυμείτε να επεξεργαστείτε."
+
+#: C/empathy.xml:725(para)
+#| msgid ""
+#| "In the <guilabel>Alias</guilabel> text-box type the name you want to give "
+#| "at the the new contact."
+msgid "In the <guilabel>Alias</guilabel> text box, write your new alias."
+msgstr "Στο πεδίο κειμένου <guilabel>Ψευδώνυμο</guilabel>, εισάγετε το νέο σας ψευδώνυμο."
+
+#: C/empathy.xml:731(para)
+msgid "To change your icon, click on the person-looking button and choose an image file."
+msgstr "Για να αντικαταστήσετε το εικονίδιό σας, κάντε κλικ στο κουμπί με το πρόσωπο και επιλέξτε ένα αρχείο εικόνας."
+
+#: C/empathy.xml:737(para)
+#: C/empathy.xml:1318(para)
+#: C/empathy.xml:1352(para)
+#| msgid "Click on the <guibutton>Remove</guibutton> button."
+msgid "When done, click <guibutton>Close</guibutton>."
+msgstr "Όταν τελειώσετε, κάντε κλικ στο κουμπί <guibutton>Κλείσιμο</guibutton>."
+
+#: C/empathy.xml:745(para)
+msgid "An <emphasis>alias</emphasis> is an alternative way you can identify yourself. You can use your real name or a nickname."
+msgstr "Το <emphasis>ψευδώνυμο</emphasis> είναι ένας εναλλακτικός τρόπος για να προσδιορίσετε τον εαυτό σας. Μπορείτε να χρησιμοποιήσετε το πραγματικό σας όνομα ή το ψευδώνυμό σας."
+
+#: C/empathy.xml:755(title)
+msgid "Advanced Options"
+msgstr "Επιλογές για προχωρημένους"
+
+#: C/empathy.xml:756(para)
+msgid "Based on the service you are using, it is possible to configure more advanced options to modify the normal behavior of <application>Empathy</application>."
+msgstr "Με βάση την υπηρεσία που χρησιμοποιείτε, είναι δυνατό να ρυθμίσετε περισσότερες επιλογές για προχωρημένους για να τροποποιήσετε την κανονική συμπεριφορά του <application>Empathy</application>."
+
+#: C/empathy.xml:761(para)
+msgid "To configure these options, when you are <link linkend=\"empathy-create-account\">adding a new account</link>, click on the drop-down section <guilabel>Advanced</guilabel>."
+msgstr "Για να ρυθμίσετε τις επιλογές αυτές, όταν <link linkend=\"empathy - δημιουργία λογαριασμού\">προσθέτετε ένα νέο λογαριασμό</link>, κάντε κλικ στην αναδιπλούμενη ενότητα <guilabel>Προχωρημένο</guilabel>."
+
+#: C/empathy.xml:769(title)
+msgid "Jabber (or <acronym>XMPP</acronym>) and Google Talk"
+msgstr "Jabber (ή <acronym>XMPP</acronym>) και Google Talk"
+
+#: C/empathy.xml:776(guilabel)
+msgid "Encryption required (TLS/SSL)"
+msgstr "Απαιτείται κρυπτογράφηση (TLS/SSL)"
+
+#: C/empathy.xml:779(para)
+msgid "Select this option in order to use some sort of encryption during your conversations."
+msgstr "Επιλέξτε την επιλογή αυτή για να χρησιμοποιήσετε κάποιο είδος κρυπτογράφησης για τις συνομιλίες σας."
+
+#: C/empathy.xml:787(guilabel)
+msgid "Ignore SSL certificate errors"
+msgstr "Παράβλεψη σφαλμάτων για πιστοποιητικά SSL"
+
+#: C/empathy.xml:790(para)
+msgid "Select this option in order to ignore the errors that can be generated by some types of security certificates. Usually these certificates are called auto-signed."
+msgstr "Επιλέξτε την επιλογή αυτή ώστε να παραβλέπονται τα σφάλματα που ενδεχομένως να παράγονται από μερικούς τύπους πιστοποιητικών ασφαλείας. Συνήθως τα πιστοποιητικά αυτά ονομάζονται αυτόματα υπογεγραμμένα."
+
+#: C/empathy.xml:798(para)
+msgid "Select this option only if you are sure the certificate is secure and you can trust it."
+msgstr "Επιλέξτε την επιλογή αυτή μόνο αν είστε βέβαιος ότι το πιστοποιητικό είναι ασφαλές και μπορείτε να το εμπιστευτείτε."
+
+#: C/empathy.xml:808(guilabel)
+msgid "Resource"
+msgstr "Πηγή"
+
+#: C/empathy.xml:811(para)
+msgid "Use this text box to set a name with which you can identify the running program based on where you are running it. With this option, and the <guilabel>Priority</guilabel> one, you can use your account simultaneously in two different devices. For example, if you set one device to <replaceable>desktop</replaceable> and the other one to <replaceable>mobile</replaceable>, you can connect with both of them and based on the <guilabel>Priority</guilabel> value you will receive messages on one of the two devices or both."
+msgstr "Χρησιμοποιήστε αυτό το πεδίο κειμένου για να καθορίσετε ένα όνομα με το οποίο θα μπορείτε να αναγνωρίσετε το πρόγραμμα που εκτελείται με βάση τη θέση από την οποία το εκτελείτε εσείς. Με την επιλογή αυτή, και με την επιλογή για την <guilabel>Προτεραιότητα</guilabel>, μπορείτε να χρησιμοποιήσετε το λογαριασμό σας ταυτόχρονα σε δύο διαφορετικές συσκευές. Για παράδειγμα, αν καθορίσετε τη μία συσκευή ως <replaceable>επιτραπέζιο υπολογιστή</replaceable> και την άλλη ως <replaceable>συσκευή κινητού</replaceable>, μπορείτε να συνδεθείτε και με τις δύο και με βάση με την τιμή που έχετε εισάγει για την <guilabel>Προτεραιότητα</guilabel> θα λαμβάνετε μηνύματα σε μία  ή και στις δύο συσκευές."
+
+#: C/empathy.xml:824(para)
+msgid "This can be useful if you have two devices, a main one and a portable one, and you move away from the main one bringing with you the other: you can still receive messages from your account with the portable device even if you do not disconnet from the main one."
+msgstr "Η επιλογή αυτή μπορεί να είναι χρήσιμη αν έχετε δύο συσκευές, μία κύρια και μία φορητή, και βρίσκεστε μακριά από την κύρια αλλά έχετε μαζί σας την φορητή συσκευή: μπορείτε ακόμη να λαμβάνετε μηνύματα από το λογαριασμό σας με την φορητή συσκευή αν δεν έχετε αποσυνδεθεί από την κύρια."
+
+#: C/empathy.xml:833(para)
+msgid "If you set the same value for this text box on both the devices, when you connect with one of them, the other one will be disconnected, even if you set a different value with the <guilabel>Priority</guilabel> spin box."
+msgstr "Αν καθορίσετε την ίδια τιμή για αυτό το πεδίο κειμένου και στις δύο συσκευές, όταν συνδέεστε με μία από αυτές, η άλλη θα αποσυνδέεται, ακόμη και αν καθορίζετε μία διαφορετική τιμή με το περιστρεφόμενο κουτί <guilabel>Προτεραιότητα</guilabel>."
+
+#: C/empathy.xml:846(guilabel)
+msgid "Priority"
+msgstr "Προτεραιότητα"
+
+#: C/empathy.xml:849(para)
+msgid "Use this spin box to indicate wich device, set in the <guilabel>Resource</guilabel> text box, will receive the new messages. The higher the number, the higher the priority: you will receive the new messages on the device with the highest number."
+msgstr "Χρησιμοποιήστε αυτό το περιστρεφόμενο πεδίο για να αναδείξετε ποια συσκευή, που καθορίστηκε στο κουτί κειμένου <guilabel>Πηγή</guilabel>, θα λαμβάνει τα νέα μηνύματα. Όσο υψηλότερος είναι ο αριθμός, τόσο υψηλή θα είναι και η προτεραιότητα: θα λαμβάνετε τα νέα μηνύματα στη συσκευή με τον υψηλότερο αριθμό."
+
+#: C/empathy.xml:856(para)
+msgid "You can set values in the range from <literal>-128</literal> to <literal>127</literal>."
+msgstr "Μπορείτε να ορίσετε τιμές με εύρος από <literal>-128</literal> μέχρι <literal>127</literal>."
+
+#: C/empathy.xml:862(para)
+msgid "If you set the same value of this spin box in both the devices, you will receive messages on both of them."
+msgstr "Αν ορίσετε την ίδια τιμή σε αυτό το περιστρεφόμενο πεδίο και για τις δύο συσκευές, θα λαμβάνετε μηνύματα και στις δύο."
+
+#: C/empathy.xml:879(guilabel)
+#: C/empathy.xml:972(guilabel)
+#: C/empathy.xml:1020(guilabel)
+#: C/empathy.xml:1114(guilabel)
+msgid "Server"
+msgstr "Εξυπηρετητής"
+
+#: C/empathy.xml:882(para)
+#: C/empathy.xml:975(para)
+#: C/empathy.xml:1023(para)
+#: C/empathy.xml:1117(para)
+msgid "Use this text box to write the name of the server you want to use for this service."
+msgstr "Χρησιμοποιήστε αυτό το πεδίο κειμένου για να εισάγετε το όνομα του εξυπηρετητή που επιθυμείτε να χρησιμοποιήσετε για την υπηρεσία αυτή."
+
+#: C/empathy.xml:890(guilabel)
+#: C/empathy.xml:983(guilabel)
+#: C/empathy.xml:1031(guilabel)
+#: C/empathy.xml:1125(guilabel)
+msgid "Port"
+msgstr "Θύρα"
+
+#: C/empathy.xml:893(para)
+#: C/empathy.xml:986(para)
+#: C/empathy.xml:1034(para)
+#: C/empathy.xml:1128(para)
+msgid "Use this spin box to set the number of the port of the server to use."
+msgstr "Χρησιμοποιήστε αυτό το περιστρεφόμενο πεδίο για να ορίσετε τον αριθμό της θύρας που θα χρησιμοποιεί ο εξυπηρετητής."
+
+#: C/empathy.xml:897(para)
+#: C/empathy.xml:990(para)
+#: C/empathy.xml:1038(para)
+#: C/empathy.xml:1132(para)
+msgid "You can set values in the range from <literal>0</literal> to <literal>65,555</literal>."
+msgstr "Μπορείτε να ορίσετε τιμές με εύρος από <literal>0</literal> μέχρι <literal>65,555</literal>."
+
+#: C/empathy.xml:905(guilabel)
+msgid "Use old SSL"
+msgstr "Χρήση παλαιού SSL"
+
+#: C/empathy.xml:908(para)
+msgid "Select this option to use the old version of the secure protocol for encrypting your connection."
+msgstr "Επιλέξτε την επιλογή αυτή για να χρησιμοποιήσετε την παλαιά έκδοση του ασφαλούς πρωτοκόλλου για την κρυπτογράφηση της σύνδεσής σας."
+
+#: C/empathy.xml:873(para)
+msgid "In the <guilabel>Override server settings</guilabel> section you can set options that take precedence over the default settings. <placeholder-1/>"
+msgstr "Στην ενότητα <guilabel>Παράκαμψη ιδιοτήτων εξυπηρετητή</guilabel> μπορείτε να καθορίσετε επιλογές με μεγαλύτερη προτεραιότητα από τις προεπιλεγμένες ρυθμίσεις. <placeholder-1/>"
+
+#: C/empathy.xml:924(guilabel)
+msgid "Ignore conference and chatrooms invitations"
+msgstr "Παράβλεψη συνδιάσκεψης και προσκλήσεων σε δωμάτια συνομιλιών"
+
+#: C/empathy.xml:928(para)
+msgid "Select this option to ignore the invitations that other people may send you."
+msgstr "Επιλέξτε την επιλογή αυτή για να παραβλέψετε τις προσκλήσεις που ενδεχομένως να σας στέλνουν άλλα άτομα."
+
+#: C/empathy.xml:936(guilabel)
+msgid "Room List locale"
+msgstr "Εντοπιότητα λίστας συνομιλιών"
+
+#: C/empathy.xml:939(para)
+msgid "The value of this text box identifies the language used to retrieve the room list when connecting to the Yahoo service."
+msgstr "Η τιμή σε αυτό το πεδίο κειμένου αναγνωρίζει τη γλώσσα που χρησιμοποιείται για την ανάκτηση της λίστα με τα δωμάτια συνομιλιών όταν γίνεται σύνδεση με την υπηρεσία Yahoo."
+
+#: C/empathy.xml:944(para)
+msgid "If you need to change this value, use the two letter code of your language."
+msgstr "Αν επιθυμείτε να τροποποιήσετε την τιμή αυτή, χρησιμοποιήστε τον κώδικα δύο γραμμάτων της γλώσσας σας."
+
+#: C/empathy.xml:952(guilabel)
+#: C/empathy.xml:1094(guilabel)
+msgid "Charset"
+msgstr "Κωδικοποίηση"
+
+#: C/empathy.xml:955(para)
+#: C/empathy.xml:1097(para)
+#| msgid ""
+#| "Contains menus used to perform actions in <application>Empathy</"
+#| "application>."
+msgid "The value of this text box identifies the set of the characters used by <application>Empathy</application>."
+msgstr "Η τιμή αυτού του πεδίου κειμένου αναγνωρίζει το σύνολο των χαρακτήρων που χρησιμοποιούνται από το <application>Empathy</application>."
+
+#: C/empathy.xml:961(para)
+#: C/empathy.xml:1103(para)
+msgid "It is advise to leave this value to <literal>UTF-8</literal>. Change it only if that charset does not cover your language."
+msgstr "Προτείνεται να αφήσετε την τιμή αυτή ως <literal>UTF-8</literal>. Τροποποιήστε της μόνο αν η κωδικοποίηση αυτή δεν καλύπτει τη γλώσσα σας."
+
+#: C/empathy.xml:998(guilabel)
+msgid "Use Yahoo Japan"
+msgstr "Χρήση του Yahoo Ιαπωνίας"
+
+#: C/empathy.xml:1001(para)
+msgid "Select this option only if you have a Yahoo! Japan account. With the Yahoo! Japan service you can only use a Yahoo! Japan account: if you have registered an account with the English version of the service, that account will not work."
+msgstr "Επιλέξτε την επιλογή αυτή μόνο αν έχετε ένα λογαριασμό του Yahoo! Ιαπωνίας. Με την υπηρεσία Yahoo! Ιαπωνίας μπορείτε να χρησιμοποιήσετε μόνο ένα λογαριασμό Yahoo! Ιαπωνίας: αν έχετε καταχωρήσει ένα λογαριασμό με την αγγλική έκδοση της υπηρεσίας, ο λογαριασμός αυτός δε μπορεί να χρησιμοποιηθεί."
+
+#: C/empathy.xml:1015(title)
+msgid "<acronym>AIM</acronym>, GroupWise and <acronym>MSN</acronym>"
+msgstr "<acronym>AIM</acronym>, GroupWise και <acronym>MSN</acronym>"
+
+#: C/empathy.xml:1054(guilabel)
+msgid "Published Name"
+msgstr "Δημοσιευμένο όνομα"
+
+#: C/empathy.xml:1057(para)
+msgid "Use this text box to write the name that will be visible to the other users of the network."
+msgstr "Χρησιμοποιήστε αυτό το πεδίο κειμένου για να εισάγετε το όνομα το οποίο θα είναι ορατό προς τους άλλους χρήστες του δικτύου."
+
+#: C/empathy.xml:1065(guilabel)
+msgid "Email"
+msgstr "Ηλεκτρονική Διεύθυνση"
+
+#: C/empathy.xml:1068(para)
+msgid "Use this text box to write your email."
+msgstr "Χρησιμοποιήστε αυτό το πεδίο κειμένου για να εισάγετε την ηλεκτρονικής σας διεύθυνση."
+
+#: C/empathy.xml:1075(guilabel)
+#| msgid "Jabber"
+msgid "Jabber ID"
+msgstr "Jabber ID"
+
+#: C/empathy.xml:1078(para)
+msgid "Use this text box to write your Jabber ID, if you have one."
+msgstr "Χρησιμοποιήστε αυτό το πεδίο κειμένου για να εισάγετε το Jabber ID σας, αν έχετε κάποιο."
+
+#: C/empathy.xml:1143(title)
+msgid "Gadu Gadu"
+msgstr "Gadu Gadu"
+
+#: C/empathy.xml:1147(guilabel)
+msgid "Nick"
+msgstr "Nick"
+
+#: C/empathy.xml:1149(para)
+msgid "Use this text box to write an alternative name to use with this service."
+msgstr "Χρησιμοποιήστε αυτό το πεδίο κειμένου για να εισάγετε ένα εναλλακτικό όνομα ώστε να το χρησιμοποιήσετε με την υπηρεσία αυτή."
+
+#: C/empathy.xml:1164(title)
+msgid "Contacts and Groups"
+msgstr "Επαφές και Ομάδες"
+
+#: C/empathy.xml:1165(para)
 msgid "All the contacts are handled within <application>Empathy</application>'s <link linkend=\"empathy-FIG-mainwindow\">main window</link>."
 msgstr "Η διαχείριση των επαφών γίνεται μέσα από το <link linkend=\"empathy-FIG-mainwindow\">βασικό παράθυρο</link> του <application>Empathy</application>."
 
-#: C/empathy.xml:558(title)
-msgid "Adding a Contact"
-msgstr "Προσθήκη μιας επαφής"
+#: C/empathy.xml:1169(para)
+msgid "You can add or remove a contact or you can edit the information of a particular contact. It is also possibile to arrange contacts in groups. You can have a group for your work contacts, one for you family contacts, and so on."
+msgstr "Μπορείτε να προσθέσετε ή να αφαιρέσετε μία επαφή ή μπορείτε να επεξεργαστεί τις πληροφορίες μίας συγκεκριμένης επαφής. Είναι επίσης δυνατό να τακτοποιήσετε επαφές σε ομάδες. Μπορείτε να έχετε μία ομάδα για τις επαφές της εργασίας σας, μία για τις οικογενειακές επαφές, και ούτω καθεξής."
+
+#: C/empathy.xml:1176(title)
+#| msgid "Removing a Contact"
+msgid "Adding and Removing a Contact"
+msgstr "Προσθήκη και αφαίρεση μιας επαφής"
 
-#: C/empathy.xml:559(para)
-msgid "To add a new contact, proceed as follow:"
-msgstr "Για να προσθέσετε μια νέα επαφή, προχωρήστε ως εξής:"
+#: C/empathy.xml:1177(para)
+#| msgid "To add a new contact, proceed as follow:"
+msgid "To add a new contact, proceed as follows:"
+msgstr "To add a new contact, proceed as follows:"
 
-#: C/empathy.xml:565(para)
+#: C/empathy.xml:1183(para)
 msgid "From the <link linkend=\"empathy-FIG-mainwindow\">main window</link> choose <menuchoice><guimenu>Chat</guimenu><guimenuitem>Add Contact...</guimenuitem></menuchoice>. The <guilabel>New Contact</guilabel> dialog will be shown."
 msgstr "Από το <link linkend=\"empathy-FIG-mainwindow\">βασικό παράθυρο</link> επιλέξτε <menuchoice><guimenu>Συζήτηση</guimenu><guimenuitem>Πρόσθεση επαφής...</guimenuitem></menuchoice>. Ο διάλογος <guilabel>Νέα επαφή</guilabel> θα εμφανιστεί."
 
-#: C/empathy.xml:575(para)
+#: C/empathy.xml:1193(para)
 msgid "From the <guilabel>Account</guilabel> drop-down list, choose the service used by the contact you are adding."
 msgstr "Από την αναδιπλούμενη λίστα <guilabel>Λογαριασμός</guilabel>, επιλέξτε την υπηρεσία που χρησιμοποιεί η επαφή που προσθέτετε."
 
-#: C/empathy.xml:581(para)
-msgid "In the <guilabel>Identifier</guilabel> text-box type the <emphasis>address</emphasis> of the contact in the form of <userinput><replaceable>user name</replaceable>@<replaceable>service\n\t      domain</replaceable></userinput>."
-msgstr "Στο πεδίο <guilabel>Αναγνωριστικό</guilabel> πληκτρολογήστε τη <emphasis>διεύθυνση</emphasis> την επαφής στη μορφή <userinput><replaceable>όνομα χρήστη</replaceable>@<replaceable>διεύθυνση υπηρεσίας\n\t</replaceable></userinput>."
+#: C/empathy.xml:1199(para)
+#| msgid ""
+#| "In the <guilabel>Identifier</guilabel> text-box type the "
+#| "<emphasis>address</emphasis> of the contact in the form of "
+#| "<userinput><replaceable>user name</replaceable>@<replaceable>service\n"
+#| "\t      domain</replaceable></userinput>."
+msgid ""
+"In the <guilabel>Identifier</guilabel> text box type the <emphasis>address</emphasis> of the contact in the form of <userinput><replaceable>user name</replaceable>@<replaceable>service\n"
+"\t      domain</replaceable></userinput>."
+msgstr ""
+"Στο πεδίο κειμένου <guilabel>Αναγνωριστικό</guilabel> πληκτρολογήστε τη <emphasis>διεύθυνση</emphasis> της επαφής στη μορφή <userinput><replaceable>όνομα χρήστη</replaceable>@<replaceable>υπηρεσία\n"
+"\t      τομέας</replaceable></userinput>."
 
-#: C/empathy.xml:590(para)
-msgid "In the <guilabel>Alias</guilabel> text-box type the name you want to give at the the new contact."
-msgstr "Στο <guilabel>Ψευδώνυμο</guilabel> πληκτρολογήστε το όνομα που θέλετε να δώσετε στη νέα επαφή."
+#: C/empathy.xml:1208(para)
+#| msgid ""
+#| "In the <guilabel>Alias</guilabel> text-box type the name you want to give "
+#| "at the the new contact."
+msgid "In the <guilabel>Alias</guilabel> text box type the name you want to give at the the new contact."
+msgstr "Στο πεδίο κειμένου <guilabel>Ψευδώνυμο</guilabel> πληκτρολογήστε το όνομα που επιθυμείτε να δώσετε στη νέα επαφή."
 
-#: C/empathy.xml:596(para)
+#: C/empathy.xml:1214(para)
 msgid "Click on <guibutton>Add</guibutton> to add the new contact."
 msgstr "Πατήστε στο <guibutton>Προσθήκη</guibutton> για να προσθέσετε τη νέα επαφή."
 
-#: C/empathy.xml:604(title)
-msgid "Removing a Contact"
-msgstr "Αφαίρεση μιας επαφής"
-
-#: C/empathy.xml:605(para)
-msgid "To remove a contact, proceed as follow:"
+#: C/empathy.xml:1220(para)
+#| msgid "To remove a contact, proceed as follow:"
+msgid "To remove a contact, proceed as follows:"
 msgstr "Για να αφαιρέσετε μια επαφή, προχωρήστε ως εξής:"
 
-#: C/empathy.xml:611(para)
+#: C/empathy.xml:1226(para)
 msgid "From the <link linkend=\"empathy-FIG-mainwindow\">main window</link>, select the contact you would like to remove and right-click on it."
 msgstr "Από το <link linkend=\"empathy-FIG-mainwindow\">βασικό παράθυρο</link> επιλέξτε την επαφή που θέλετε να αφαιρέσετε και κάντε πάνω της δεξί κλικ."
 
-#: C/empathy.xml:618(para)
+#: C/empathy.xml:1233(para)
 msgid "From the popup menu, choose <guilabel>Remove</guilabel> to remove the contact."
 msgstr "Από το αναδυόμενο μενού επιλέξτε <guilabel>Αφαίρεση</guilabel> για να αφαιρέσετε την επαφή."
 
-#: C/empathy.xml:627(title)
-msgid "Modifying a Contact"
-msgstr "Τροποποίηση επαφής."
+#: C/empathy.xml:1242(para)
+#: C/empathy.xml:1278(para)
+msgid "An <emphasis>alias</emphasis> is an alternative way you can identify that particular contact. You can use the real name or the nickname of that person."
+msgstr "Το <emphasis>ψευδώνυμο</emphasis> είναι ένας εναλλακτικός τρόπος με τον οποίο μπορείτε να προσδιορίσετε τη συγκεκριμένη επαφή. Μπορείτε να χρησιμοποιήσετε το πραγματικό όνομα ή το ψευδώνυμο του προσώπου αυτού."
+
+#: C/empathy.xml:1251(title)
+#| msgid "Adding a Contact"
+msgid "Editing a Contact"
+msgstr "Επεξεργασία επαφής"
+
+#: C/empathy.xml:1252(para)
+#| msgid "To remove a contact, proceed as follow:"
+msgid "To edit a contact, proceed as follows:"
+msgstr "Για να επεξεργαστείτε μια επαφή, προχωρήστε ως εξής:"
+
+#: C/empathy.xml:1258(para)
+#: C/empathy.xml:1300(para)
+#| msgid ""
+#| "From the <link linkend=\"empathy-FIG-mainwindow\">main window</link> "
+#| "choose <menuchoice><guimenu>Chat</guimenu><guimenuitem>Add Contact...</"
+#| "guimenuitem></menuchoice>. The <guilabel>New Contact</guilabel> dialog "
+#| "will be shown."
+msgid "From the <link linkend=\"empathy-FIG-mainwindow\">main window</link>, select the contact you would like to modify and choose <menuchoice><guimenu>Edit</guimenu><guisubmenu>Contact</guisubmenu><guimenuitem>Edit</guimenuitem></menuchoice>, or right-click on it and choose <guilabel>Edit</guilabel>."
+msgstr "Από <link linkend=\"empathy-FIG-mainwindow\">κύριο παράθυρο</link>, επιλέξτε την επαφή που επιθυμείτε να τροποποιήσετε και επιλέξτε <menuchoice><guimenu>Επεξεργασία</guimenu><guisubmenu>Επαφή</guisubmenu><guimenuitem>Επεξεργασία</guimenuitem></menuchoice>, ή κάντε δεξί κλικ πάνω του και επιλέξτε <guilabel>Επεξεργασία</guilabel>."
+
+#: C/empathy.xml:1271(para)
+msgid "From the <guilabel>Edit Contact Information</guilabel> dialog, you can modify the <emphasis>alias</emphasis> and the <emphasis>group</emphasis> of the contact."
+msgstr "Από το παράθυρο διαλόγου <guilabel>Επεξεργασία πληροφοριών επαφής</guilabel>, μπορείτε να τροποποιήσετε το <emphasis>ψευδώνυμο</emphasis> και την <emphasis>ομάδα</emphasis> της επαφής."
+
+#: C/empathy.xml:1285(para)
+msgid "For more information about groups, see <xref linkend=\"empathy-add-contact-group\"/> and <xref linkend=\"empathy-add-group\"/>."
+msgstr "Για περισσότερες πληροφορίες σχετικά με τις ομάδες, δείτε <xref linkend=\"empathy - προσθήκη επαφής σε ομάδα\"/> και <xref linkend=\"empathy - προσθήκη ομάδας\"/>."
+
+#: C/empathy.xml:1293(title)
+#| msgid "Adding a Contact"
+msgid "Adding a Contact to a Group"
+msgstr "Προσθήκη επαφής σε μία ομάδα"
+
+#: C/empathy.xml:1294(para)
+#| msgid "To add a new contact, proceed as follow:"
+msgid "To add a contact to one or more groups, proceed as follows:"
+msgstr "Για να προσθέσετε μια επαφή σε μία ή περισσότερες ομάδες, προχωρήστε ως εξής:"
+
+#: C/empathy.xml:1312(para)
+#| msgid ""
+#| "In the <guilabel>Alias</guilabel> text-box type the name you want to give "
+#| "at the the new contact."
+msgid "From the <guilabel>Groups</guilabel> section, select the group, or groups, you want to add the contact to."
+msgstr "Από την ενότητα <guilabel>Ομάδες</guilabel>, επιλέξτε την ομάδα, ή τις ομάδες, όπου επιθυμείτε να προσθέσετε την επαφή."
+
+#: C/empathy.xml:1327(title)
+msgid "Adding a New Group"
+msgstr "Προσθήκη νέας ομάδας"
+
+#: C/empathy.xml:1328(para)
+#| msgid "To add a new contact, proceed as follow:"
+msgid "To add a new group, proceed as follows:"
+msgstr "Για να προσθέσετε μια νέα ομάδα, προχωρήστε ως εξής:"
+
+#: C/empathy.xml:1334(para)
+#| msgid ""
+#| "From the <link linkend=\"empathy-FIG-mainwindow\">main window</link> "
+#| "choose <menuchoice><guimenu>Chat</guimenu><guimenuitem>Add Contact...</"
+#| "guimenuitem></menuchoice>. The <guilabel>New Contact</guilabel> dialog "
+#| "will be shown."
+msgid "From the <link linkend=\"empathy-FIG-mainwindow\">main window</link>, select one contact and choose <menuchoice><guimenu>Edit</guimenu><guisubmenu>Contact</guisubmenu><guimenuitem>Edit</guimenuitem></menuchoice>, or right-click on it and choose <guilabel>Edit</guilabel>."
+msgstr "Από το <link linkend=\"empathy-FIG-mainwindow\">κύριο παράθυρο</link>, επιλέξτε μία επαφή και επιλέξτε <menuchoice><guimenu>Επεξεργασία</guimenu><guisubmenu>Επαφή</guisubmenu><guimenuitem>Επεξεργασία</guimenuitem></menuchoice>, ή κάντε δεξί κλικ πάνω του και επιλέξτε <guilabel>Επεξεργασία</guilabel>."
+
+#: C/empathy.xml:1345(para)
+#| msgid ""
+#| "From the <guilabel>Type</guilabel> drop-down list choose the service you "
+#| "wish to create an account for, then click on the <guibutton>Create</"
+#| "guibutton> button."
+msgid "In the <guilabel>Groups</guilabel> section, write the name of the group you want to add and then click on <guibutton>Add Group</guibutton>."
+msgstr "Από την ενότητα <guilabel>Ομάδες</guilabel>, εισάγετε το όνομα της ομάδες που επιθυμείτε να προσθέσετε και ύστερα κάντε κλικ στο κουμπί <guibutton>Προσθήκη ομάδας</guibutton>."
 
 #. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
 #: C/empathy.xml:0(None)
@@ -498,3 +983,54 @@ msgstr ""
 "\n"
 "Για περισσότερα δείτε http://www.gnome.gr/"
 
+#~ msgid ""
+#~ "@@image: 'figures/empathy-new-account.png'; "
+#~ "md5=6c1e0d8c709125d387e975e5738b8c0f"
+#~ msgstr ""
+#~ "@@image: 'figures/empathy-new-account.png'; "
+#~ "md5=6c1e0d8c709125d387e975e5738b8c0f"
+#~ msgid "2008"
+#~ msgstr "2008"
+#~ msgid "milo_casagrande@yahoo.it"
+#~ msgstr "milo_casagrande@yahoo.it"
+#~ msgid "When You Start Empathy for the First Time"
+#~ msgstr "Πρώτη εκκίνηση του Empathy"
+#~ msgid "<application>Empathy</application> Accounts Dialog"
+#~ msgstr "Διάλογος λογαριασμών του <application>Empathy</application>"
+#~ msgid "Shows <placeholder-1/> account creation dialog."
+#~ msgstr "Δείχνει το διάλογο δημιουργίας λογαριασμού <placeholder-1/>."
+#~ msgid ""
+#~ "When you start <application>Empathy</application> for the first time and "
+#~ "you don't have configured any account yet, the following dialog is shown. "
+#~ "<placeholder-1/>"
+#~ msgstr ""
+#~ "Όταν εκκινήσετε το <application>Empathy</application> για πρώτη φορά και "
+#~ "δεν έχετε ακόμα ρυθμίσει κάποιο λογαριασμό, εμφανίζεται ο ακόλουθος "
+#~ "διάλογος. <placeholder-1/>"
+#~ msgid ""
+#~ "From here, you can configure and create your accounts. See <xref linkend="
+#~ "\"empathy-accounts\"/> for more information."
+#~ msgstr ""
+#~ "Από εδώ μπορείτε να δημιουργήσετε και να ρυθμίσετε τους λογαριασμούς σας. "
+#~ "Δείτε το <xref linkend=\"empathy-accounts\"/> για περισσότερες "
+#~ "πληροφορίες."
+#~ msgid ""
+#~ "You can use one of the following services if you already have a <emphasis "
+#~ "role=\"strong\">Jabber</emphasis> account:"
+#~ msgstr ""
+#~ "Μπορείτε να επιλέξετε μια από τις ακόλουθες υπηρεσίες αν έχετε ήδη έναν "
+#~ "λογαριασμό <emphasis>Jabber</emphasis>:"
+#~ msgid ""
+#~ "Fill the required fields with your <emphasis>user name</emphasis> and "
+#~ "<emphasis>password</emphasis>."
+#~ msgstr ""
+#~ "Συμπληρώστε τα απαραίτητα πεδία με τον <emphasis>όνομα χρήστη</emphasis> "
+#~ "και το <emphasis>συνθηματικό</emphasis> σας."
+#~ msgid "To create an account, proceed as follow: <placeholder-1/>"
+#~ msgstr ""
+#~ "Για να δημιουργήσετε ένα λογαριασμό, προχωρήστε ως εξής: <placeholder-1/>"
+#~ msgid "Contacts"
+#~ msgstr "Επαφές"
+#~ msgid "Modifying a Contact"
+#~ msgstr "Τροποποίηση επαφής."
+
index 8357dde94e3df46c5c421f691297810a5a0bddff..753288b038393311675df165693c73adf8d1a7e3 100644 (file)
@@ -3,8 +3,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: empathy.help.HEAD\n"
-"POT-Creation-Date: 2009-04-18 18:34+0000\n"
-"PO-Revision-Date: 2009-04-21 21:04+0200\n"
+"POT-Creation-Date: 2009-05-05 20:43+0000\n"
+"PO-Revision-Date: 2009-05-09 10:54+0200\n"
 "Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n"
 "Language-Team: Español <gnome-es-list@gnome.org>\n"
 "MIME-Version: 1.0\n"
@@ -15,7 +15,7 @@ msgstr ""
 
 #. When image changes, this message will be marked fuzzy or untranslated for you.
 #. It doesn't matter what you translate it to: it's not used at all.
-#: C/empathy.xml:237(None)
+#: C/empathy.xml:262(None)
 msgid ""
 "@@image: 'figures/empathy-main-window.png'; "
 "md5=38259a866f38ff1f754828e46d2b0e5c"
@@ -24,19 +24,31 @@ msgstr ""
 "md5=38259a866f38ff1f754828e46d2b0e5c"
 
 #: C/empathy.xml:27(title)
-msgid "<application>Empathy</application> Manual V2.1"
-msgstr "Manual de <application>Empathy</application> V2.1"
+#| msgid "<application>Empathy</application> Manual V2.1"
+msgid "<application>Empathy</application> Manual V2.2"
+msgstr "Manual de <application>Empathy</application> V2.2"
 
-#: C/empathy.xml:30(year)
+#: C/empathy.xml:30(year) C/empathy.xml:46(year)
 msgid "2008, 2009"
 msgstr "2008, 2009"
 
-#: C/empathy.xml:31(holder) C/empathy.xml:37(publishername)
-#: C/empathy.xml:48(orgname) C/empathy.xml:56(orgname) C/empathy.xml:87(para)
-#: C/empathy.xml:101(para)
+#: C/empathy.xml:31(holder) C/empathy.xml:47(publishername)
+#: C/empathy.xml:62(orgname) C/empathy.xml:70(orgname) C/empathy.xml:112(para)
+#: C/empathy.xml:126(para)
 msgid "Ubuntu Documentation Project"
 msgstr "Proyecto de documentación de Ubuntu"
 
+#: C/empathy.xml:34(year) C/empathy.xml:42(year)
+#| msgid "2008"
+msgid "2009"
+msgstr "2009"
+
+#: C/empathy.xml:35(holder) C/empathy.xml:43(publishername)
+#: C/empathy.xml:58(orgname) C/empathy.xml:101(para)
+#| msgid "Ubuntu Documentation Project"
+msgid "GNOME Documentation Project"
+msgstr "Proyecto de documentación de GNOME"
+
 #: C/empathy.xml:2(para)
 msgid ""
 "Permission is granted to copy, distribute and/or modify this document under "
@@ -142,68 +154,74 @@ msgstr ""
 "LAS CONDICIONES ESTABLECIDAS EN LA LICENCIA DE DOCUMENTACIÓN LIBRE DE GNU "
 "(GFDL) Y TENIENDO EN CUENTA QUE: <placeholder-1/>"
 
-#: C/empathy.xml:45(firstname)
+#: C/empathy.xml:55(firstname)
 msgid "Milo"
 msgstr "Milo"
 
-#: C/empathy.xml:46(surname)
+#: C/empathy.xml:56(surname)
 msgid "Casagrande"
 msgstr "Casagrande"
 
-#: C/empathy.xml:49(email)
+#: C/empathy.xml:59(email) C/empathy.xml:63(email)
 msgid "milo@ubuntu.com"
 msgstr "milo@ubuntu.com"
 
-#: C/empathy.xml:53(firstname)
+#: C/empathy.xml:67(firstname)
 msgid "Seth"
 msgstr "Seth"
 
-#: C/empathy.xml:54(surname)
+#: C/empathy.xml:68(surname)
 msgid "Dudenhofer"
 msgstr "Dudenhofer"
 
-#: C/empathy.xml:57(email)
+#: C/empathy.xml:71(email)
 msgid "sdudenhofer@gmail.com"
 msgstr "sdudenhofer@gmail.com"
 
-#: C/empathy.xml:81(revnumber)
+#: C/empathy.xml:95(revnumber)
+#| msgid "Empathy Manual V2.1"
+msgid "Empathy Manual V2.2"
+msgstr "Manual de Empathy V2.2"
+
+#: C/empathy.xml:96(date)
+#| msgid "January 2009"
+msgid "May 2009"
+msgstr "Mayo de 2009"
+
+#: C/empathy.xml:98(para) C/empathy.xml:109(para) C/empathy.xml:120(para)
+msgid "Milo Casagrande <email>milo@ubuntu.com</email>"
+msgstr "Milo Casagrande <email>milo@ubuntu.com</email>"
+
+#: C/empathy.xml:106(revnumber)
 msgid "Empathy Manual V2.1"
 msgstr "Manual de Empathy V2.1"
 
-#: C/empathy.xml:82(date)
+#: C/empathy.xml:107(date)
 msgid "January 2009"
 msgstr "Enero de 2009"
 
-#: C/empathy.xml:84(para) C/empathy.xml:95(para)
-msgid "Milo Casagrande <email>milo@ubuntu.com</email>"
-msgstr "Milo Casagrande <email>milo@ubuntu.com</email>"
-
-#: C/empathy.xml:92(revnumber)
+#: C/empathy.xml:117(revnumber)
 msgid "Empathy Manual V2.0"
 msgstr "Manual de Empathy V2.0"
 
-#: C/empathy.xml:93(date)
+#: C/empathy.xml:118(date)
 msgid "April 2008"
 msgstr "Abril de 2008"
 
-#: C/empathy.xml:98(para)
+#: C/empathy.xml:123(para)
 msgid "Seth Dudenhofer <email>sdudenhofer@gmail.com</email>"
 msgstr "Seth Dudenhofer <email>sdudenhofer@gmail.com</email>"
 
-#: C/empathy.xml:106(releaseinfo)
-msgid "This manual describes version 2.26 of Empathy."
-msgstr "Este manual describe la versión 2.26 de Empathy."
+#: C/empathy.xml:131(releaseinfo)
+#| msgid "This manual describes version 2.26 of Empathy."
+msgid "This manual describes version 2.28 of Empathy."
+msgstr "Este manual describe la versión 2.28 de Empathy."
 
-#: C/empathy.xml:110(title)
+#: C/empathy.xml:135(title)
 msgid "Feedback"
 msgstr "Comentarios"
 
-#: C/empathy.xml:111(para)
-#| msgid ""
-#| "To report a bug or make a suggestion regarding the <application>Empathy</"
-#| "application> application or this manual, follow the directions in the "
-#| "<ulink url=\"ghelp:gnome-feedback\" type=\"help\">GNOME Feedback Page</"
-#| "ulink>."
+#: C/empathy.xml:136(para)
 msgid ""
 "To report a bug or make a suggestion regarding the <application>Empathy</"
 "application> application or this manual, follow the directions in the <ulink "
@@ -214,27 +232,27 @@ msgstr ""
 "indicaciones en la <ulink url=\"ghelp:user-guide?feedback\" type=\"help"
 "\">Página de comentarios de GNOME</ulink>."
 
-#: C/empathy.xml:118(para)
+#: C/empathy.xml:143(para)
 msgid "Empathy is an application for instant messaging."
 msgstr "Empathy es una aplicación para mensajería instantánea."
 
-#: C/empathy.xml:126(primary) C/empathy.xml:0(application)
+#: C/empathy.xml:151(primary) C/empathy.xml:0(application)
 msgid "Empathy"
 msgstr "Empathy"
 
-#: C/empathy.xml:129(primary)
+#: C/empathy.xml:154(primary)
 msgid "empathy"
 msgstr "empathy"
 
-#: C/empathy.xml:130(secondary)
+#: C/empathy.xml:155(secondary)
 msgid "istant messaging"
 msgstr "mensajería instantánea"
 
-#: C/empathy.xml:134(title)
+#: C/empathy.xml:159(title)
 msgid "Introduction"
 msgstr "Introducción"
 
-#: C/empathy.xml:135(para)
+#: C/empathy.xml:160(para)
 msgid ""
 "<application>Empathy</application> is a multi-protocol instant messaging "
 "program for the GNOME Desktop. With <application>Empathy</application> you "
@@ -246,47 +264,47 @@ msgstr ""
 "application> puede mantenerse en contacto con sus amigos a través de muchos "
 "de los servicios de mensajería instantánea soportados."
 
-#: C/empathy.xml:145(acronym)
+#: C/empathy.xml:170(acronym)
 msgid "AIM"
 msgstr "AIM"
 
-#: C/empathy.xml:149(para)
+#: C/empathy.xml:174(para)
 msgid "Google Talk"
 msgstr "Google Talk"
 
-#: C/empathy.xml:154(para) C/empathy.xml:1089(title)
+#: C/empathy.xml:179(para) C/empathy.xml:1114(title)
 msgid "ICQ"
 msgstr "ICQ"
 
-#: C/empathy.xml:160(acronym)
+#: C/empathy.xml:185(acronym)
 msgid "IRC"
 msgstr "IRC"
 
-#: C/empathy.xml:164(para)
+#: C/empathy.xml:189(para)
 msgid "Jabber (or <acronym>XMPP</acronym>)"
 msgstr "Jabber (o <acronym>XMPP</acronym>)"
 
-#: C/empathy.xml:170(acronym)
+#: C/empathy.xml:195(acronym)
 msgid "MSN"
 msgstr "MSN"
 
-#: C/empathy.xml:174(para) C/empathy.xml:441(para) C/empathy.xml:1049(title)
+#: C/empathy.xml:199(para) C/empathy.xml:466(para) C/empathy.xml:1074(title)
 msgid "Salut"
 msgstr "Salut"
 
-#: C/empathy.xml:180(acronym)
+#: C/empathy.xml:205(acronym)
 msgid "SIP"
 msgstr "SIP"
 
-#: C/empathy.xml:184(para) C/empathy.xml:919(title)
+#: C/empathy.xml:209(para) C/empathy.xml:944(title)
 msgid "Yahoo"
 msgstr "Yahoo"
 
-#: C/empathy.xml:189(para)
+#: C/empathy.xml:214(para)
 msgid "And many others..."
 msgstr "Y muchos otros…"
 
-#: C/empathy.xml:140(para)
+#: C/empathy.xml:165(para)
 msgid ""
 "<application>Empathy</application> supports the following services: "
 "<placeholder-1/>"
@@ -294,24 +312,24 @@ msgstr ""
 "<application>Empathy</application> soporta los siguientes servicios: "
 "<placeholder-1/>"
 
-#: C/empathy.xml:198(title)
+#: C/empathy.xml:223(title)
 msgid "Getting Started"
 msgstr "Inicio"
 
-#: C/empathy.xml:201(title)
+#: C/empathy.xml:226(title)
 msgid "Starting Empathy"
 msgstr "Iniciar Empathy"
 
-#: C/empathy.xml:202(para)
+#: C/empathy.xml:227(para)
 msgid "You can start <application>Empathy</application> in the following ways:"
 msgstr ""
 "Puede iniciar <application>Empathy</application> de las siguientes formas:"
 
-#: C/empathy.xml:206(term)
+#: C/empathy.xml:231(term)
 msgid "<guimenu>Applications</guimenu> menu"
 msgstr "Menú <guimenu>Aplicaciones</guimenu>"
 
-#: C/empathy.xml:208(para)
+#: C/empathy.xml:233(para)
 msgid ""
 "Choose <menuchoice><guisubmenu>Internet</guisubmenu><guimenuitem>Empathy "
 "Instant Messenger</guimenuitem></menuchoice>."
@@ -319,23 +337,23 @@ msgstr ""
 "Elija <menuchoice><guisubmenu>Internet</guisubmenu><guimenuitem>Mensajería "
 "instantánea Empathy</guimenuitem></menuchoice>."
 
-#: C/empathy.xml:217(term)
+#: C/empathy.xml:242(term)
 msgid "Command line"
 msgstr "Línea de comandos"
 
-#: C/empathy.xml:219(para)
+#: C/empathy.xml:244(para)
 msgid "Type <command>empathy</command> and then press <keycap>Enter</keycap>."
 msgstr "Escriba <command>empathy</command> y pulse <keycap>intro</keycap>."
 
-#: C/empathy.xml:228(title)
+#: C/empathy.xml:253(title)
 msgid "When You Start Empathy"
 msgstr "Al iniciar Empathy"
 
-#: C/empathy.xml:233(title)
+#: C/empathy.xml:258(title)
 msgid "<application>Empathy</application> Main Window"
 msgstr "Ventana principal de <application>Empathy</application>"
 
-#: C/empathy.xml:240(phrase)
+#: C/empathy.xml:265(phrase)
 msgid ""
 "Shows <placeholder-1/> main window. Contains the titlebar, the menubar, "
 "contact list, status icon and status arrow button list."
@@ -344,7 +362,7 @@ msgstr ""
 "título, la barra de menú, la lista de contactos, el icono de estado y la "
 "lista de estados."
 
-#: C/empathy.xml:229(para)
+#: C/empathy.xml:254(para)
 msgid ""
 "When you start <application>Empathy</application> the following window is "
 "shown. <placeholder-1/>"
@@ -352,54 +370,54 @@ msgstr ""
 "Se mostrará la siguiente ventana al iniciar <application>Empathy</"
 "application>. <placeholder-1/>"
 
-#: C/empathy.xml:255(title)
+#: C/empathy.xml:280(title)
 msgid "<application>Empathy</application> Main Components"
 msgstr "Componentes principales de <application>Empathy</application>"
 
-#: C/empathy.xml:262(para)
+#: C/empathy.xml:287(para)
 msgid "Component"
 msgstr "Componente"
 
-#: C/empathy.xml:265(para)
+#: C/empathy.xml:290(para)
 msgid "Description"
 msgstr "Descripción"
 
-#: C/empathy.xml:272(para)
+#: C/empathy.xml:297(para)
 msgid "Menubar"
 msgstr "Barra de menú"
 
-#: C/empathy.xml:275(para)
+#: C/empathy.xml:300(para)
 msgid ""
 "Contains menus used to perform actions in <application>Empathy</application>."
 msgstr ""
 "Contiene los menús usados para realizar acciones en <application>Empathy</"
 "application>."
 
-#: C/empathy.xml:282(para)
+#: C/empathy.xml:307(para)
 msgid "Status Drop-Down List"
 msgstr "Lista desplegable de estados"
 
-#: C/empathy.xml:285(para)
+#: C/empathy.xml:310(para)
 msgid "Allows to update the status."
 msgstr "Permite actualizar el estado."
 
-#: C/empathy.xml:292(para)
+#: C/empathy.xml:317(para)
 msgid "Account Button"
 msgstr "Botón Cuentas"
 
-#: C/empathy.xml:295(para)
+#: C/empathy.xml:320(para)
 msgid "Opens the <guilabel>Accounts</guilabel> dialog."
 msgstr "Abre el diálogo <guilabel>Cuentas</guilabel>."
 
-#: C/empathy.xml:302(para)
+#: C/empathy.xml:327(para)
 msgid "Contact List"
 msgstr "Lista de contactos"
 
-#: C/empathy.xml:305(para)
+#: C/empathy.xml:330(para)
 msgid "Shows all the available contacts and their associated status."
 msgstr "Muestra todos los contactos disponibles y su estado asociado."
 
-#: C/empathy.xml:251(para)
+#: C/empathy.xml:276(para)
 msgid ""
 "<xref linkend=\"empathy-TBL-1\"/> describes the components of "
 "<application>Empathy</application>'s main window. <table frame=\"topbot\" id="
@@ -415,11 +433,11 @@ msgstr ""
 "\"colspec1\" colwidth=\"70.61*\"/><placeholder-2/><placeholder-3/></tgroup></"
 "table>"
 
-#: C/empathy.xml:319(title)
+#: C/empathy.xml:344(title)
 msgid "Accounts"
 msgstr "Cuentas"
 
-#: C/empathy.xml:320(para)
+#: C/empathy.xml:345(para)
 msgid ""
 "To use <application>Empathy</application> you need at least one account of "
 "the supported services."
@@ -427,7 +445,7 @@ msgstr ""
 "Para usar <application>Empathy</application> debe tener al menos una cuenta "
 "de los servicios soportados."
 
-#: C/empathy.xml:323(para)
+#: C/empathy.xml:348(para)
 msgid ""
 "If you don't already have an account and you don't have your <emphasis>user "
 "name</emphasis> and <emphasis>password</emphasis>, you need to register a "
@@ -437,7 +455,7 @@ msgstr ""
 "<emphasis>contraseña</emphasis>, debe registrar una cuenta nueva (consulte "
 "<xref linkend=\"empathy-register-account\"/>)."
 
-#: C/empathy.xml:328(para)
+#: C/empathy.xml:353(para)
 msgid ""
 "In order to talk with other users, also called <emphasis>contacts</"
 "emphasis>, you need to use the same service they are using. If, for example, "
@@ -449,7 +467,7 @@ msgstr ""
 "de sus contactos está usando el servicio <emphasis role=\"strong\">Jabber</"
 "emphasis>, necesita tener una cuenta registrada en ese servicio."
 
-#: C/empathy.xml:335(para)
+#: C/empathy.xml:360(para)
 msgid ""
 "<application>Empathy</application> can handle as many accounts on any "
 "supported services as you want and you can have them all open at the same "
@@ -459,11 +477,11 @@ msgstr ""
 "cualquiera de los servicios soportados que quiera añadir y puede tener todas "
 "ellas abiertas al mismo tiempo."
 
-#: C/empathy.xml:341(title)
+#: C/empathy.xml:366(title)
 msgid "Registering an Account"
 msgstr "Registrar una cuenta"
 
-#: C/empathy.xml:342(para)
+#: C/empathy.xml:367(para)
 msgid ""
 "You can freely register an account on any of the following services. Follow "
 "the instructions reported on each website on how to register your new "
@@ -481,7 +499,7 @@ msgstr ""
 
 #. Translators: try to find a localized version of the
 #.         registration service website
-#: C/empathy.xml:360(para)
+#: C/empathy.xml:385(para)
 msgid ""
 "The <ulink type=\"http\" url=\"http://dashboard.aim.com/aim\">AIM</ulink> "
 "service."
@@ -491,7 +509,7 @@ msgstr ""
 
 #. Translators: try to find a localized version of the
 #.         registration service website
-#: C/empathy.xml:367(para)
+#: C/empathy.xml:392(para)
 msgid ""
 "The <ulink type=\"http\" url=\"http://www.google.com/talk/\">Google Talk</"
 "ulink> service."
@@ -501,7 +519,7 @@ msgstr ""
 
 #. Translators: try to find a localized version of the
 #.         registration service website
-#: C/empathy.xml:375(para)
+#: C/empathy.xml:400(para)
 msgid ""
 "The <ulink type=\"http\" url=\"https://www.icq.com/register/\">ICQ</ulink> "
 "service."
@@ -511,7 +529,7 @@ msgstr ""
 
 #. Translators: try to find a localized version of the
 #.         registration service website
-#: C/empathy.xml:382(para)
+#: C/empathy.xml:407(para)
 msgid ""
 "The <ulink type=\"http\" url=\"https://accountservices.passport.net\">MSN</"
 "ulink> service."
@@ -521,7 +539,7 @@ msgstr ""
 
 #. Translators: try to find a localized version of the
 #.         registration service website
-#: C/empathy.xml:389(para)
+#: C/empathy.xml:414(para)
 msgid ""
 "The <ulink type=\"http\" url=\"https://login.yahoo.com/config/login\">Yahoo</"
 "ulink> service."
@@ -529,12 +547,12 @@ msgstr ""
 "El servicio <ulink type=\"http\" url=\"https://login.yahoo.com/config/login"
 "\">Yahoo</ulink>."
 
-#: C/empathy.xml:351(para)
+#: C/empathy.xml:376(para)
 msgid "Click on the name of the service to visit its website: <placeholder-1/>"
 msgstr ""
 "Pulse en el nombre del servicio para visitar su página web: <placeholder-1/>"
 
-#: C/empathy.xml:395(para)
+#: C/empathy.xml:420(para)
 msgid ""
 "For registering a <acronym>SIP</acronym> account, you can use one of the "
 "following service:"
@@ -544,7 +562,7 @@ msgstr ""
 
 #. Translators: try to find a localized version of the
 #.         registration service website
-#: C/empathy.xml:404(para)
+#: C/empathy.xml:429(para)
 msgid ""
 "The <ulink type=\"http\" url=\"https://www.ekiga.net/index.php?page=register"
 "\">Ekiga</ulink> service."
@@ -554,7 +572,7 @@ msgstr ""
 
 #. Translators: try to find a localized version of the
 #.         registration service website
-#: C/empathy.xml:411(para)
+#: C/empathy.xml:436(para)
 msgid ""
 "The <ulink type=\"http\" url=\"http://account2.freeworlddialup.com/index.php?"
 "section_id=94\"><acronym>FWD</acronym></ulink> (Free World Dialup) service."
@@ -564,7 +582,7 @@ msgstr ""
 
 #. Translators: try to find a localized version of the
 #.         registration service website
-#: C/empathy.xml:419(para)
+#: C/empathy.xml:444(para)
 msgid ""
 "The <ulink type=\"http\" url=\"https://signup.sipphone.com/new-users/app?"
 "class=NewUser;proc=start\">Sipphone</ulink> service."
@@ -572,7 +590,7 @@ msgstr ""
 "El servicio <ulink type=\"http\" url=\"https://signup.sipphone.com/new-users/"
 "app?class=NewUser;proc=start\">Sipphone</ulink>."
 
-#: C/empathy.xml:425(para)
+#: C/empathy.xml:450(para)
 msgid ""
 "For registering a <emphasis role=\"strong\">Jabber</emphasis> account, you "
 "can use the automatic account creation of <application>Empathy</"
@@ -588,7 +606,7 @@ msgstr ""
 "sabe que funcionan con <application>Empathy</application> es <ulink type="
 "\"http\" url=\"http://www.jabber.org/web/Jabber.org\">jabber.org</ulink>."
 
-#: C/empathy.xml:433(para)
+#: C/empathy.xml:458(para)
 msgid ""
 "If you already have a <emphasis role=\"strong\">Jabber</emphasis> account, "
 "you can use one of the following services:"
@@ -596,12 +614,12 @@ msgstr ""
 "Si ya tiene una cuenta <emphasis role=\"strong\">Jabber</emphasis> puede "
 "usar uno de los siguientes servicios:"
 
-#: C/empathy.xml:450(title)
+#: C/empathy.xml:475(title)
 msgid "Adding your Account to <application>Empathy</application>"
 msgstr "Añadir su cuenta a <application>Empathy</application>"
 
-#: C/empathy.xml:455(para) C/empathy.xml:533(para) C/empathy.xml:585(para)
-#: C/empathy.xml:618(para) C/empathy.xml:648(para) C/empathy.xml:671(para)
+#: C/empathy.xml:480(para) C/empathy.xml:558(para) C/empathy.xml:610(para)
+#: C/empathy.xml:643(para) C/empathy.xml:673(para) C/empathy.xml:696(para)
 msgid ""
 "From the <link linkend=\"empathy-FIG-mainwindow\">main window </link> "
 "(<guilabel>Contact List</guilabel>) click on the account button or press "
@@ -611,7 +629,7 @@ msgstr ""
 "(<guilabel>Lista de contactos</guilabel>) pulse en el botón de cuentas o "
 "<keycap>F4</keycap> para abrir el diálogo <guilabel>Cuentas</guilabel>."
 
-#: C/empathy.xml:467(para) C/empathy.xml:484(para)
+#: C/empathy.xml:492(para) C/empathy.xml:509(para)
 msgid ""
 "From the <guilabel>Type</guilabel> drop-down list choose the service you "
 "wish to add an account for, then click on the <guibutton>Create</guibutton> "
@@ -621,7 +639,7 @@ msgstr ""
 "el que quiere crear la cuenta, después pulse en el botón <guibutton>Crear</"
 "guibutton>."
 
-#: C/empathy.xml:463(para)
+#: C/empathy.xml:488(para)
 msgid ""
 "If it is the first time you launch <application>Empathy</application>: "
 "<placeholder-1/>"
@@ -629,15 +647,15 @@ msgstr ""
 "Si ésta es la primera vez que lanza <application>Empathy</application>: "
 "<placeholder-1/>"
 
-#: C/empathy.xml:479(para)
+#: C/empathy.xml:504(para)
 msgid "Click on the <guilabel>Add</guilabel> button."
 msgstr "Pulse el botón <guibutton>Añadir</guibutton>."
 
-#: C/empathy.xml:475(para)
+#: C/empathy.xml:500(para)
 msgid "Otherwise: <placeholder-1/>"
 msgstr "De otra forma: <placeholder-1/>"
 
-#: C/empathy.xml:494(para)
+#: C/empathy.xml:519(para)
 msgid ""
 "Fill the required fields with your <emphasis>user name</emphasis> and "
 "<emphasis>password</emphasis>. Optionally, you can modify some advanced "
@@ -649,7 +667,7 @@ msgstr ""
 "opciones avanzadas. Para obtener más información consulte <xref linkend="
 "\"empathy-advanced-options\"/>."
 
-#: C/empathy.xml:503(para) C/empathy.xml:566(para)
+#: C/empathy.xml:528(para) C/empathy.xml:591(para)
 msgid ""
 "To enable the new account, select the <guilabel>Enabled</guilabel> check-box "
 "next to the name of the account in the box on the left."
@@ -658,7 +676,7 @@ msgstr ""
 "<guilabel>Activada</guilabel> junto al nombre de la cuenta, en la caja de la "
 "izquierda."
 
-#: C/empathy.xml:451(para)
+#: C/empathy.xml:476(para)
 msgid ""
 "To add your account to <application>Empathy</application>, proceed as "
 "follows: <placeholder-1/>"
@@ -666,11 +684,11 @@ msgstr ""
 "Para añadir su cuenta a <application>Empathy</application>, proceda como "
 "sigue: <placeholder-1/>"
 
-#: C/empathy.xml:513(title)
+#: C/empathy.xml:538(title)
 msgid "Importing Accounts"
 msgstr "Importar cuentas"
 
-#: C/empathy.xml:514(para)
+#: C/empathy.xml:539(para)
 msgid ""
 "If you use another instant messaging program, you can import the accounts "
 "from that program into <application>Empathy</application>"
@@ -678,7 +696,7 @@ msgstr ""
 "Si usa otro programa de mensajería instantánea puede importar las cuentas de "
 "ese programa en <application>Empathy</application>"
 
-#: C/empathy.xml:520(para)
+#: C/empathy.xml:545(para)
 msgid ""
 "At the moment <application>Empathy</application> can import the accounts "
 "only from the instant messaging program <application>Pidgin</application>. "
@@ -690,7 +708,7 @@ msgstr ""
 "información acerca de <application>Pidgin</application> consulte la <ulink "
 "type=\"http\" url=\"http://www.pidgin.im/\">página web de Pidgin</ulink>."
 
-#: C/empathy.xml:541(para)
+#: C/empathy.xml:566(para)
 msgid ""
 "Click on the <guibutton>Import Accounts...</guibutton> button to open the "
 "<guilabel>Import Accounts</guilabel> dialog."
@@ -698,7 +716,7 @@ msgstr ""
 "Pulse en el botón <guibutton>Importar cuentas...</guibutton> para abrir el "
 "diálogo <guilabel>Importar cuentas</guilabel>."
 
-#: C/empathy.xml:548(para)
+#: C/empathy.xml:573(para)
 msgid ""
 "Select the accounts you would like to import by clicking on the "
 "<guilabel>Import</guilabel> check-box."
@@ -706,7 +724,7 @@ msgstr ""
 "Seleccione la cuenta que quiere importar pulsando en la casilla de selección "
 "<guilabel>Importar</guilabel>."
 
-#: C/empathy.xml:554(para)
+#: C/empathy.xml:579(para)
 msgid ""
 "When you have selected all the desired accounts, click <guibutton>OK</"
 "guibutton> to import them. If you don't want to import the accounts, click "
@@ -716,7 +734,7 @@ msgstr ""
 "<guibutton>Aceptar</guibutton> para importarlas. Si no quiere importar las "
 "cuentas, pulse el botón <guibutton>Cancelar</guibutton>."
 
-#: C/empathy.xml:562(para)
+#: C/empathy.xml:587(para)
 msgid ""
 "When you import a new account into <application>Empathy</application>, it "
 "will not be enabled by default."
@@ -724,7 +742,7 @@ msgstr ""
 "Al importar una cuenta nueva en <application>Empathy</application> no se "
 "activará de forma predeterminada."
 
-#: C/empathy.xml:529(para)
+#: C/empathy.xml:554(para)
 msgid ""
 "To import the accounts into <application>Empathy</application>, proceed as "
 "follows: <placeholder-1/>"
@@ -732,19 +750,19 @@ msgstr ""
 "Para importar cuentas en <application>Empathy</application> proceda como "
 "sigue: <placeholder-1/>"
 
-#: C/empathy.xml:578(title)
+#: C/empathy.xml:603(title)
 msgid "Editing an Account"
 msgstr "Editar una cuenta"
 
-#: C/empathy.xml:593(para)
+#: C/empathy.xml:618(para)
 msgid "Select the account you wish to edit in the box on the left."
 msgstr "Seleccione la cuenta que quiere editar en la caja a la izquierda."
 
-#: C/empathy.xml:599(para)
+#: C/empathy.xml:624(para)
 msgid "Modify the desired data."
 msgstr "Modifique los datos deseados."
 
-#: C/empathy.xml:579(para)
+#: C/empathy.xml:604(para)
 msgid ""
 "To edit one of your accounts, i.e. to change the <emphasis>password</"
 "emphasis> or your <emphasis>user name</emphasis>, proceed as follows: "
@@ -754,12 +772,12 @@ msgstr ""
 "<emphasis>contraseña</emphasis> o su <emphasis>usuario</emphasis>, proceda "
 "como sigue: <placeholder-1/>"
 
-#: C/empathy.xml:607(para)
+#: C/empathy.xml:632(para)
 msgid ""
 "Based on the type of the account, it is possibile to edit different settings."
 msgstr "Basado en el tipo de cuenta, es posible editar diferentes ajustes."
 
-#: C/empathy.xml:626(para)
+#: C/empathy.xml:651(para)
 msgid ""
 "Select the account you wish to edit in the box on the left and double-click "
 "on its name."
@@ -767,11 +785,11 @@ msgstr ""
 "Seleccione la cuenta que quiere editar en la caja de la izquierda y pulse "
 "dos veces en su nombre."
 
-#: C/empathy.xml:632(para)
+#: C/empathy.xml:657(para)
 msgid "Change the name of the account as you desire."
 msgstr "Cambie el nombre de la cuenta como desee."
 
-#: C/empathy.xml:613(para)
+#: C/empathy.xml:638(para)
 msgid ""
 "To modify the identifier of an account, how <application>Empathy</"
 "application> identifies an account, proceed as follows: <placeholder-1/>"
@@ -780,15 +798,15 @@ msgstr ""
 "<application>Empathy</application> identifica a la cuente, proceda como "
 "sigue: <placeholder-1/>"
 
-#: C/empathy.xml:641(title)
+#: C/empathy.xml:666(title)
 msgid "Disabling and Removing an Account"
 msgstr "Desactivar y quitaruna cuenta"
 
-#: C/empathy.xml:642(para)
+#: C/empathy.xml:667(para)
 msgid "To disable an account, proceed as follows:"
 msgstr "Para desactivar una cuenta, proceda como sigue:"
 
-#: C/empathy.xml:657(para)
+#: C/empathy.xml:682(para)
 msgid ""
 "Select the account you wish to disable in the box on the left of the dialog "
 "and deselect the <guilabel>Enabled</guilabel> check-box."
@@ -797,22 +815,22 @@ msgstr ""
 "diálogo y deselecicone la casilla de verificación <guilabel>Activada</"
 "guilabel>."
 
-#: C/empathy.xml:665(para)
+#: C/empathy.xml:690(para)
 msgid "To remove an account, proceed as follows:"
 msgstr "Para quitar una cuenta, proceda como sigue:"
 
-#: C/empathy.xml:680(para)
+#: C/empathy.xml:705(para)
 msgid ""
 "Select the account you wish to disable in the box on the left of the dialog."
 msgstr ""
 "Seleccione la cuenta que desea desactivar en la caja a la izquierda del "
 "diálogo."
 
-#: C/empathy.xml:686(para)
+#: C/empathy.xml:711(para)
 msgid "Click on the <guibutton>Remove</guibutton> button."
 msgstr "Pulse en el botón <guibutton>Quitar</guibutton>."
 
-#: C/empathy.xml:691(para)
+#: C/empathy.xml:716(para)
 msgid ""
 "A dialog will be shown asking for confirmation. Click on the "
 "<guibutton>Remove</guibutton> button to remove the account."
@@ -820,11 +838,11 @@ msgstr ""
 "Se mostrará un diálogo preguntando por una confirmación. Pulse en el botón "
 "<guibutton>Quitar</guibutton> para quitar la cuenta."
 
-#: C/empathy.xml:701(title)
+#: C/empathy.xml:726(title)
 msgid "Editing Personal Information"
 msgstr "Editar información personal"
 
-#: C/empathy.xml:702(para)
+#: C/empathy.xml:727(para)
 msgid ""
 "To change your personal information, your alias and your icon (the image "
 "that other contacts will see of you), for each of your accounts, proceed as "
@@ -834,7 +852,7 @@ msgstr ""
 "que otros contactos le ven), para cada una de las cuentas, proceda como "
 "sigue:"
 
-#: C/empathy.xml:710(para)
+#: C/empathy.xml:735(para)
 msgid ""
 "From the <link linkend=\"empathy-FIG-mainwindow\">main window</link>, select "
 "<menuchoice><guimenu>Edit</guimenu><guimenuitem>Personal Information</"
@@ -844,7 +862,7 @@ msgstr ""
 "seleccione <menuchoice><guimenu>Editar</guimenu><guimenuitem>Información "
 "personal</guimenuitem></menuchoice>."
 
-#: C/empathy.xml:719(para)
+#: C/empathy.xml:744(para)
 msgid ""
 "From the <guilabel>Account</guilabel> drop-down list, choose the account you "
 "want to edit."
@@ -852,11 +870,11 @@ msgstr ""
 "Desde la lista desplegable <guilabel>Cuenta</guilabel>, elija la cuenta que "
 "quiere editar."
 
-#: C/empathy.xml:725(para)
+#: C/empathy.xml:750(para)
 msgid "In the <guilabel>Alias</guilabel> text box, write your new alias."
 msgstr "En la caja de texto <guilabel>Apodo</guilabel> escriba su nuevo apodo."
 
-#: C/empathy.xml:731(para)
+#: C/empathy.xml:756(para)
 msgid ""
 "To change your icon, click on the person-looking button and choose an image "
 "file."
@@ -864,11 +882,11 @@ msgstr ""
 "Para cambiar su icono pulse en el botón de apariencia personal y elija un "
 "archivo de imagen."
 
-#: C/empathy.xml:737(para) C/empathy.xml:1318(para) C/empathy.xml:1352(para)
+#: C/empathy.xml:762(para) C/empathy.xml:1343(para) C/empathy.xml:1377(para)
 msgid "When done, click <guibutton>Close</guibutton>."
 msgstr "Cuando termine pulse <guibutton>Cerrar</guibutton>."
 
-#: C/empathy.xml:745(para)
+#: C/empathy.xml:770(para)
 msgid ""
 "An <emphasis>alias</emphasis> is an alternative way you can identify "
 "yourself. You can use your real name or a nickname."
@@ -876,11 +894,11 @@ msgstr ""
 "Un <emphasis>apodo</emphasis> es una forma alternativa por la que se puede "
 "identificar. Puede usar su nombre real o un apodo."
 
-#: C/empathy.xml:755(title)
+#: C/empathy.xml:780(title)
 msgid "Advanced Options"
 msgstr "Opciones avanzadas"
 
-#: C/empathy.xml:756(para)
+#: C/empathy.xml:781(para)
 msgid ""
 "Based on the service you are using, it is possible to configure more "
 "advanced options to modify the normal behavior of <application>Empathy</"
@@ -890,7 +908,7 @@ msgstr ""
 "avanzadas para modificar el comportamiento normal de <application>Empathy</"
 "application>."
 
-#: C/empathy.xml:761(para)
+#: C/empathy.xml:786(para)
 msgid ""
 "To configure these options, when you are <link linkend=\"empathy-create-"
 "account\">adding a new account</link>, click on the drop-down section "
@@ -900,15 +918,15 @@ msgstr ""
 "account\">añadiendo una cuenta nueva</link>, pulse la sección desplegable "
 "<guilabel>Avanzadas</guilabel>."
 
-#: C/empathy.xml:769(title)
+#: C/empathy.xml:794(title)
 msgid "Jabber (or <acronym>XMPP</acronym>) and Google Talk"
 msgstr "Jabber (o <acronym>XMPP</acronym>) y Google Talk"
 
-#: C/empathy.xml:776(guilabel)
+#: C/empathy.xml:801(guilabel)
 msgid "Encryption required (TLS/SSL)"
 msgstr "Se requiere cifrado (TLS/SSL)"
 
-#: C/empathy.xml:779(para)
+#: C/empathy.xml:804(para)
 msgid ""
 "Select this option in order to use some sort of encryption during your "
 "conversations."
@@ -916,11 +934,11 @@ msgstr ""
 "Seleccione esta opción para usar algún tipo de cifrado durante sus "
 "conversaciones."
 
-#: C/empathy.xml:787(guilabel)
+#: C/empathy.xml:812(guilabel)
 msgid "Ignore SSL certificate errors"
 msgstr "Ignorar los errores de certificados SSL"
 
-#: C/empathy.xml:790(para)
+#: C/empathy.xml:815(para)
 msgid ""
 "Select this option in order to ignore the errors that can be generated by "
 "some types of security certificates. Usually these certificates are called "
@@ -930,7 +948,7 @@ msgstr ""
 "tipos de certificados de seguridad. Generalmente esos certificados se llaman "
 "autofirmados."
 
-#: C/empathy.xml:798(para)
+#: C/empathy.xml:823(para)
 msgid ""
 "Select this option only if you are sure the certificate is secure and you "
 "can trust it."
@@ -938,11 +956,11 @@ msgstr ""
 "Seleccione esta opción sólo si está seguro de que su certificado es seguro y "
 "puede confiar en él."
 
-#: C/empathy.xml:808(guilabel)
+#: C/empathy.xml:833(guilabel)
 msgid "Resource"
 msgstr "Recurso"
 
-#: C/empathy.xml:811(para)
+#: C/empathy.xml:836(para)
 msgid ""
 "Use this text box to set a name with which you can identify the running "
 "program based on where you are running it. With this option, and the "
@@ -962,7 +980,7 @@ msgstr ""
 "dispositivos y basándose en el valor <guilabel>Prioridad</guilabel> recibirá "
 "los mensajes en uno de los dispositivos o en ambos."
 
-#: C/empathy.xml:824(para)
+#: C/empathy.xml:849(para)
 msgid ""
 "This can be useful if you have two devices, a main one and a portable one, "
 "and you move away from the main one bringing with you the other: you can "
@@ -974,7 +992,7 @@ msgstr ""
 "mensajes desde su cuenta con el dispositivo portable incluso si no "
 "desconecta el principal."
 
-#: C/empathy.xml:833(para)
+#: C/empathy.xml:858(para)
 msgid ""
 "If you set the same value for this text box on both the devices, when you "
 "connect with one of them, the other one will be disconnected, even if you "
@@ -985,11 +1003,11 @@ msgstr ""
 "establece un valor diferente en la caja incrementable <guilabel>Prioridad</"
 "guilabel>."
 
-#: C/empathy.xml:846(guilabel)
+#: C/empathy.xml:871(guilabel)
 msgid "Priority"
 msgstr "Prioridad"
 
-#: C/empathy.xml:849(para)
+#: C/empathy.xml:874(para)
 msgid ""
 "Use this spin box to indicate wich device, set in the <guilabel>Resource</"
 "guilabel> text box, will receive the new messages. The higher the number, "
@@ -1001,7 +1019,7 @@ msgstr ""
 "Cuanto mayor sea el número, mayor será la prioridad: recibirá los mensajes "
 "nuevos en el dispositivo con el número más alto."
 
-#: C/empathy.xml:856(para)
+#: C/empathy.xml:881(para)
 msgid ""
 "You can set values in the range from <literal>-128</literal> to "
 "<literal>127</literal>."
@@ -1009,7 +1027,7 @@ msgstr ""
 "Puede establecer valores en el rango de <literal>-128</literal> a "
 "<literal>127</literal>."
 
-#: C/empathy.xml:862(para)
+#: C/empathy.xml:887(para)
 msgid ""
 "If you set the same value of this spin box in both the devices, you will "
 "receive messages on both of them."
@@ -1017,13 +1035,13 @@ msgstr ""
 "Si establece el mismo valor de esta caja incrementable en ambos "
 "dispositivos, recibirá mensajes en ambos dos."
 
-#: C/empathy.xml:879(guilabel) C/empathy.xml:972(guilabel)
-#: C/empathy.xml:1020(guilabel) C/empathy.xml:1114(guilabel)
+#: C/empathy.xml:904(guilabel) C/empathy.xml:997(guilabel)
+#: C/empathy.xml:1045(guilabel) C/empathy.xml:1139(guilabel)
 msgid "Server"
 msgstr "Servidor"
 
-#: C/empathy.xml:882(para) C/empathy.xml:975(para) C/empathy.xml:1023(para)
-#: C/empathy.xml:1117(para)
+#: C/empathy.xml:907(para) C/empathy.xml:1000(para) C/empathy.xml:1048(para)
+#: C/empathy.xml:1142(para)
 msgid ""
 "Use this text box to write the name of the server you want to use for this "
 "service."
@@ -1031,20 +1049,20 @@ msgstr ""
 "Use esta caja de texto para escribir el nombre del servidor que quiere usar "
 "para este servicio."
 
-#: C/empathy.xml:890(guilabel) C/empathy.xml:983(guilabel)
-#: C/empathy.xml:1031(guilabel) C/empathy.xml:1125(guilabel)
+#: C/empathy.xml:915(guilabel) C/empathy.xml:1008(guilabel)
+#: C/empathy.xml:1056(guilabel) C/empathy.xml:1150(guilabel)
 msgid "Port"
 msgstr "Puerto"
 
-#: C/empathy.xml:893(para) C/empathy.xml:986(para) C/empathy.xml:1034(para)
-#: C/empathy.xml:1128(para)
+#: C/empathy.xml:918(para) C/empathy.xml:1011(para) C/empathy.xml:1059(para)
+#: C/empathy.xml:1153(para)
 msgid "Use this spin box to set the number of the port of the server to use."
 msgstr ""
 "Use esta caja incrementable para establecer el número del puerto del "
 "servidor que usar."
 
-#: C/empathy.xml:897(para) C/empathy.xml:990(para) C/empathy.xml:1038(para)
-#: C/empathy.xml:1132(para)
+#: C/empathy.xml:922(para) C/empathy.xml:1015(para) C/empathy.xml:1063(para)
+#: C/empathy.xml:1157(para)
 msgid ""
 "You can set values in the range from <literal>0</literal> to "
 "<literal>65,555</literal>."
@@ -1052,11 +1070,11 @@ msgstr ""
 "Puede establecer valores en el rango de <literal>0</literal> a "
 "<literal>65.555</literal>."
 
-#: C/empathy.xml:905(guilabel)
+#: C/empathy.xml:930(guilabel)
 msgid "Use old SSL"
 msgstr "Usar SSL antiguo"
 
-#: C/empathy.xml:908(para)
+#: C/empathy.xml:933(para)
 msgid ""
 "Select this option to use the old version of the secure protocol for "
 "encrypting your connection."
@@ -1064,7 +1082,7 @@ msgstr ""
 "Seleccione esta opción para usar la versión antigua del protocolo seguro "
 "para cifrar su conexión."
 
-#: C/empathy.xml:873(para)
+#: C/empathy.xml:898(para)
 msgid ""
 "In the <guilabel>Override server settings</guilabel> section you can set "
 "options that take precedence over the default settings. <placeholder-1/>"
@@ -1073,22 +1091,22 @@ msgstr ""
 "puede establecer opciones que tienen preferencia sobre los ajustes "
 "predeterminados. <placeholder-1/>"
 
-#: C/empathy.xml:924(guilabel)
+#: C/empathy.xml:949(guilabel)
 msgid "Ignore conference and chatrooms invitations"
 msgstr "Ignorar invitaciones a conferencias y salas de chat"
 
-#: C/empathy.xml:928(para)
+#: C/empathy.xml:953(para)
 msgid ""
 "Select this option to ignore the invitations that other people may send you."
 msgstr ""
 "Seleccione esta opción para ignorar las invitaciones que otras personas "
 "pueden enviarle."
 
-#: C/empathy.xml:936(guilabel)
+#: C/empathy.xml:961(guilabel)
 msgid "Room List locale"
 msgstr "Configuración de la lista de salas"
 
-#: C/empathy.xml:939(para)
+#: C/empathy.xml:964(para)
 msgid ""
 "The value of this text box identifies the language used to retrieve the room "
 "list when connecting to the Yahoo service."
@@ -1096,17 +1114,17 @@ msgstr ""
 "El valor de esta caja de texto identifica el idioma que usar al obtener la "
 "lista de salas al conectar con el servicio de Yahoo!"
 
-#: C/empathy.xml:944(para)
+#: C/empathy.xml:969(para)
 msgid ""
 "If you need to change this value, use the two letter code of your language."
 msgstr ""
 "Si necesita cambiar ese valor use el código de dos letras para su idioma."
 
-#: C/empathy.xml:952(guilabel) C/empathy.xml:1094(guilabel)
+#: C/empathy.xml:977(guilabel) C/empathy.xml:1119(guilabel)
 msgid "Charset"
 msgstr "Conjunto de caracteres"
 
-#: C/empathy.xml:955(para) C/empathy.xml:1097(para)
+#: C/empathy.xml:980(para) C/empathy.xml:1122(para)
 msgid ""
 "The value of this text box identifies the set of the characters used by "
 "<application>Empathy</application>."
@@ -1114,7 +1132,7 @@ msgstr ""
 "El valor de esta caja de texto identifica el conjunto de caracteres que usa "
 "<application>Empathy</application>."
 
-#: C/empathy.xml:961(para) C/empathy.xml:1103(para)
+#: C/empathy.xml:986(para) C/empathy.xml:1128(para)
 msgid ""
 "It is advise to leave this value to <literal>UTF-8</literal>. Change it only "
 "if that charset does not cover your language."
@@ -1122,11 +1140,11 @@ msgstr ""
 "Se recomienda dejar este valor en <literal>UTF-8</literal>. Cámbielo sólo si "
 "ese conjunto de caracteres no cubre su idioma."
 
-#: C/empathy.xml:998(guilabel)
+#: C/empathy.xml:1023(guilabel)
 msgid "Use Yahoo Japan"
 msgstr "Usar Yahoo Japón"
 
-#: C/empathy.xml:1001(para)
+#: C/empathy.xml:1026(para)
 msgid ""
 "Select this option only if you have a Yahoo! Japan account. With the Yahoo! "
 "Japan service you can only use a Yahoo! Japan account: if you have "
@@ -1138,15 +1156,15 @@ msgstr ""
 "registrado una cuenta con la versión inglesa del servicio, esa cuenta no "
 "funcionará."
 
-#: C/empathy.xml:1015(title)
+#: C/empathy.xml:1040(title)
 msgid "<acronym>AIM</acronym>, GroupWise and <acronym>MSN</acronym>"
 msgstr "<acronym>AIM</acronym>, GroupWise y <acronym>MSN</acronym>"
 
-#: C/empathy.xml:1054(guilabel)
+#: C/empathy.xml:1079(guilabel)
 msgid "Published Name"
 msgstr "Nombre publicado"
 
-#: C/empathy.xml:1057(para)
+#: C/empathy.xml:1082(para)
 msgid ""
 "Use this text box to write the name that will be visible to the other users "
 "of the network."
@@ -1154,42 +1172,42 @@ msgstr ""
 "Use esta caja de texto para escribir el nombre que será visible al resto de "
 "usuarios de la red."
 
-#: C/empathy.xml:1065(guilabel)
+#: C/empathy.xml:1090(guilabel)
 msgid "Email"
 msgstr "Correo-e"
 
-#: C/empathy.xml:1068(para)
+#: C/empathy.xml:1093(para)
 msgid "Use this text box to write your email."
 msgstr "Use esta caja de texto para escribir su correo-e."
 
-#: C/empathy.xml:1075(guilabel)
+#: C/empathy.xml:1100(guilabel)
 msgid "Jabber ID"
 msgstr "ID Jabber"
 
-#: C/empathy.xml:1078(para)
+#: C/empathy.xml:1103(para)
 msgid "Use this text box to write your Jabber ID, if you have one."
 msgstr "Use esta caja de texto para escribir su ID Jabber, si tiene uno."
 
-#: C/empathy.xml:1143(title)
+#: C/empathy.xml:1168(title)
 msgid "Gadu Gadu"
 msgstr "Gadu Gadu"
 
-#: C/empathy.xml:1147(guilabel)
+#: C/empathy.xml:1172(guilabel)
 msgid "Nick"
 msgstr "Apodo"
 
-#: C/empathy.xml:1149(para)
+#: C/empathy.xml:1174(para)
 msgid ""
 "Use this text box to write an alternative name to use with this service."
 msgstr ""
 "Use esta caja de texto para escribir un nombre alternativo que usar con este "
 "servicio."
 
-#: C/empathy.xml:1164(title)
+#: C/empathy.xml:1189(title)
 msgid "Contacts and Groups"
 msgstr "Contactos y grupos"
 
-#: C/empathy.xml:1165(para)
+#: C/empathy.xml:1190(para)
 msgid ""
 "All the contacts are handled within <application>Empathy</application>'s "
 "<link linkend=\"empathy-FIG-mainwindow\">main window</link>."
@@ -1197,7 +1215,7 @@ msgstr ""
 "Todos los contactos se gestionan en la <link linkend=\"empathy-FIG-mainwindow"
 "\">ventana principal</link> de <application>Empathy</application>."
 
-#: C/empathy.xml:1169(para)
+#: C/empathy.xml:1194(para)
 msgid ""
 "You can add or remove a contact or you can edit the information of a "
 "particular contact. It is also possibile to arrange contacts in groups. You "
@@ -1209,15 +1227,15 @@ msgstr ""
 "Puede tener un grupo para sus contactos del trabajo, uno para los contactos "
 "de su familia, y demás."
 
-#: C/empathy.xml:1176(title)
+#: C/empathy.xml:1201(title)
 msgid "Adding and Removing a Contact"
 msgstr "Añadir y quitar un contacto"
 
-#: C/empathy.xml:1177(para)
+#: C/empathy.xml:1202(para)
 msgid "To add a new contact, proceed as follows:"
 msgstr "Para añadir un contacto nuevo, proceda como sigue:"
 
-#: C/empathy.xml:1183(para)
+#: C/empathy.xml:1208(para)
 msgid ""
 "From the <link linkend=\"empathy-FIG-mainwindow\">main window</link> choose "
 "<menuchoice><guimenu>Chat</guimenu><guimenuitem>Add Contact...</"
@@ -1229,7 +1247,7 @@ msgstr ""
 "guimenuitem></menuchoice>. Se mostrará el diálogo <guilabel>Contacto nuevo</"
 "guilabel>."
 
-#: C/empathy.xml:1193(para)
+#: C/empathy.xml:1218(para)
 msgid ""
 "From the <guilabel>Account</guilabel> drop-down list, choose the service "
 "used by the contact you are adding."
@@ -1237,7 +1255,7 @@ msgstr ""
 "Desde la lista desplegable <guilabel>Cuenta</guilabel>, elija el servicio "
 "que usa el contacto que está añadiendo."
 
-#: C/empathy.xml:1199(para)
+#: C/empathy.xml:1224(para)
 msgid ""
 "In the <guilabel>Identifier</guilabel> text box type the <emphasis>address</"
 "emphasis> of the contact in the form of <userinput><replaceable>user name</"
@@ -1250,7 +1268,7 @@ msgstr ""
 "replaceable>@<replaceable>servicio\n"
 "\t     dominio</replaceable></userinput>."
 
-#: C/empathy.xml:1208(para)
+#: C/empathy.xml:1233(para)
 msgid ""
 "In the <guilabel>Alias</guilabel> text box type the name you want to give at "
 "the the new contact."
@@ -1258,15 +1276,15 @@ msgstr ""
 "En la caja de texto <guilabel>Apodo</guilabel> escriba el nombre que quiere "
 "darle a su nuevo contacto."
 
-#: C/empathy.xml:1214(para)
+#: C/empathy.xml:1239(para)
 msgid "Click on <guibutton>Add</guibutton> to add the new contact."
 msgstr "Pulse en <guibutton>Añadir</guibutton> para añadir el contacto nuevo."
 
-#: C/empathy.xml:1220(para)
+#: C/empathy.xml:1245(para)
 msgid "To remove a contact, proceed as follows:"
 msgstr "Para quitar un contacto, proceda como sigue:"
 
-#: C/empathy.xml:1226(para)
+#: C/empathy.xml:1251(para)
 msgid ""
 "From the <link linkend=\"empathy-FIG-mainwindow\">main window</link>, select "
 "the contact you would like to remove and right-click on it."
@@ -1275,7 +1293,7 @@ msgstr ""
 "seleccione el contacto que quiere quitar y pulse con el botón derecho sobre "
 "él."
 
-#: C/empathy.xml:1233(para)
+#: C/empathy.xml:1258(para)
 msgid ""
 "From the popup menu, choose <guilabel>Remove</guilabel> to remove the "
 "contact."
@@ -1283,7 +1301,7 @@ msgstr ""
 "Desde el menú emergente, elija <guilabel>Quitar</guilabel> para quitar el "
 "contacto."
 
-#: C/empathy.xml:1242(para) C/empathy.xml:1278(para)
+#: C/empathy.xml:1267(para) C/empathy.xml:1303(para)
 msgid ""
 "An <emphasis>alias</emphasis> is an alternative way you can identify that "
 "particular contact. You can use the real name or the nickname of that person."
@@ -1291,15 +1309,15 @@ msgstr ""
 "Un <emphasis>apodo</emphasis> es una forma alternativa de identificar un "
 "contacto en particular. Puede usar el nombre real o el apodo de esa persona."
 
-#: C/empathy.xml:1251(title)
+#: C/empathy.xml:1276(title)
 msgid "Editing a Contact"
 msgstr "Editar un contacto"
 
-#: C/empathy.xml:1252(para)
+#: C/empathy.xml:1277(para)
 msgid "To edit a contact, proceed as follows:"
 msgstr "Para editar un contacto, proceda como sigue:"
 
-#: C/empathy.xml:1258(para) C/empathy.xml:1300(para)
+#: C/empathy.xml:1283(para) C/empathy.xml:1325(para)
 msgid ""
 "From the <link linkend=\"empathy-FIG-mainwindow\">main window</link>, select "
 "the contact you would like to modify and choose <menuchoice><guimenu>Edit</"
@@ -1312,7 +1330,7 @@ msgstr ""
 "guisubmenu><guimenuitem>Editar</guimenuitem></menuchoice> o pulse con el "
 "botón derecho sobre él y elija <guilabel>Editar</guilabel>."
 
-#: C/empathy.xml:1271(para)
+#: C/empathy.xml:1296(para)
 msgid ""
 "From the <guilabel>Edit Contact Information</guilabel> dialog, you can "
 "modify the <emphasis>alias</emphasis> and the <emphasis>group</emphasis> of "
@@ -1322,7 +1340,7 @@ msgstr ""
 "modificar el <emphasis>apodp</emphasis> y el <emphasis>grupo</emphasis> del "
 "contacto."
 
-#: C/empathy.xml:1285(para)
+#: C/empathy.xml:1310(para)
 msgid ""
 "For more information about groups, see <xref linkend=\"empathy-add-contact-"
 "group\"/> and <xref linkend=\"empathy-add-group\"/>."
@@ -1330,15 +1348,15 @@ msgstr ""
 "Para obtener más información acerca de los grupos, consulte <xref linkend="
 "\"empathy-add-contact-group\"/> y <xref linkend=\"empathy-add-group\"/>."
 
-#: C/empathy.xml:1293(title)
+#: C/empathy.xml:1318(title)
 msgid "Adding a Contact to a Group"
 msgstr "Añadir un contacto a un grupo"
 
-#: C/empathy.xml:1294(para)
+#: C/empathy.xml:1319(para)
 msgid "To add a contact to one or more groups, proceed as follows:"
 msgstr "Para añadir un contacto a uno o más grupos, proceda como sigue:"
 
-#: C/empathy.xml:1312(para)
+#: C/empathy.xml:1337(para)
 msgid ""
 "From the <guilabel>Groups</guilabel> section, select the group, or groups, "
 "you want to add the contact to."
@@ -1346,15 +1364,15 @@ msgstr ""
 "En la sección <guilabel>Grupos</guilabel>, seleccione el grupo o grupos a "
 "los que quiera añadir el contacto."
 
-#: C/empathy.xml:1327(title)
+#: C/empathy.xml:1352(title)
 msgid "Adding a New Group"
 msgstr "Añadir un grupo nuevo"
 
-#: C/empathy.xml:1328(para)
+#: C/empathy.xml:1353(para)
 msgid "To add a new group, proceed as follows:"
 msgstr "Para añadir un grupo nuevo, proceda como sigue:"
 
-#: C/empathy.xml:1334(para)
+#: C/empathy.xml:1359(para)
 msgid ""
 "From the <link linkend=\"empathy-FIG-mainwindow\">main window</link>, select "
 "one contact and choose <menuchoice><guimenu>Edit</"
@@ -1366,7 +1384,7 @@ msgstr ""
 "guimenu><guisubmenu>Contacto</guisubmenu><guimenuitem>Editar</guimenuitem></"
 "menuchoice> o pulse con el botón derecho y elija <guilabel>Editar</guilabel>."
 
-#: C/empathy.xml:1345(para)
+#: C/empathy.xml:1370(para)
 msgid ""
 "In the <guilabel>Groups</guilabel> section, write the name of the group you "
 "want to add and then click on <guibutton>Add Group</guibutton>."
@@ -1423,9 +1441,6 @@ msgstr "Jorge González <jorgegonz@svn.gnome.org>, 2008-2009"
 #~ "@@image: 'figures/empathy-new-account.png'; "
 #~ "md5=6c1e0d8c709125d387e975e5738b8c0f"
 
-#~ msgid "2008"
-#~ msgstr "2008"
-
 #~ msgid "milo_casagrande@yahoo.it"
 #~ msgstr "milo_casagrande@yahoo.it"
 
index 210b6d4b041defa33d94008fb8fc08a863185917..cf6a2762fa10a36421f1919f5f3234035f0088a6 100644 (file)
@@ -19,7 +19,7 @@ BUILT_SOURCES =                                       \
 
 lib_LTLIBRARIES = libempathy-gtk.la
 
-libempathy_gtk_la_SOURCES =                    \
+libempathy_gtk_handwritten_source =                    \
        empathy-account-chooser.c               \
        empathy-account-widget.c                \
        empathy-account-widget-irc.c            \
@@ -55,7 +55,10 @@ libempathy_gtk_la_SOURCES =                  \
        empathy-theme-boxes.c                   \
        empathy-theme-irc.c                     \
        empathy-theme-manager.c                 \
-       empathy-ui-utils.c                      \
+       empathy-ui-utils.c
+
+libempathy_gtk_la_SOURCES =                    \
+       $(libempathy_gtk_handwritten_source)    \
        totem-subtitle-encoding.c totem-subtitle-encoding.h
 
 # do not distribute generated files
@@ -110,6 +113,12 @@ libempathy_gtk_headers =                   \
        empathy-theme-manager.h                 \
        empathy-ui-utils.h
 
+check_c_sources = \
+    $(libempathy_gtk_handwritten_source) \
+    $(libempathy_gtk_headers)
+include $(top_srcdir)/tools/check-coding-style.mk
+check-local: check-coding-style
+
 libempathy_gtk_includedir = $(includedir)/libempathy-gtk/
 libempathy_gtk_include_HEADERS =               \
        $(libempathy_gtk_headers)               \
index 5d11e8e1e288d823fe2a30bcb9b4104996f8211c..915b37b23d4b9c2847b455888fdb62736bc2cfa3 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Martyn Russell <martyn@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
  */
@@ -401,22 +401,22 @@ empathy_account_chooser_set_has_all_option (EmpathyAccountChooser *chooser,
         */
 
        if (has_all_option) {
-               gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (chooser), 
+               gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (chooser),
                                                      (GtkTreeViewRowSeparatorFunc)
                                                      account_chooser_separator_func,
-                                                     chooser, 
+                                                     chooser,
                                                      NULL);
 
                gtk_list_store_prepend (store, &iter);
-               gtk_list_store_set (store, &iter, 
+               gtk_list_store_set (store, &iter,
                                    COL_ACCOUNT_TEXT, NULL,
                                    COL_ACCOUNT_ENABLED, TRUE,
                                    COL_ACCOUNT_POINTER, NULL,
                                    -1);
 
                gtk_list_store_prepend (store, &iter);
-               gtk_list_store_set (store, &iter, 
-                                   COL_ACCOUNT_TEXT, _("All"), 
+               gtk_list_store_set (store, &iter,
+                                   COL_ACCOUNT_TEXT, _("All"),
                                    COL_ACCOUNT_ENABLED, TRUE,
                                    COL_ACCOUNT_POINTER, NULL,
                                    -1);
@@ -427,10 +427,10 @@ empathy_account_chooser_set_has_all_option (EmpathyAccountChooser *chooser,
                        }
                }
 
-               gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (chooser), 
+               gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (chooser),
                                                      (GtkTreeViewRowSeparatorFunc)
                                                      NULL,
-                                                     NULL, 
+                                                     NULL,
                                                      NULL);
        }
 
index 98d568bccab62ba7d357862502972adc12ec08a5..004a3e87f4cc1e7ecbdbfd30a25756cd37a0e1e3 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Martyn Russell <martyn@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
  */
@@ -68,7 +68,7 @@ void           empathy_account_chooser_set_has_all_option (EmpathyAccountChooser
 void           empathy_account_chooser_set_filter         (EmpathyAccountChooser *chooser,
                                                           EmpathyAccountChooserFilterFunc filter,
                                                           gpointer               user_data);
-gboolean       empathy_account_chooser_filter_is_connected(McAccount             *account,
+gboolean       empathy_account_chooser_filter_is_connected (McAccount             *account,
                                                           gpointer               user_data);
 
 G_END_DECLS
index cc86a5aaa44d539c6c270d7c5632afc574d0b0d3..66f04bd670ebdf908224196bf331fd283c59be68 100644 (file)
@@ -465,7 +465,7 @@ empathy_account_widget_irc_new (McAccount *account)
   /* Fill the networks combobox */
   store = gtk_list_store_new (2, G_TYPE_OBJECT, G_TYPE_STRING);
 
-  gtk_cell_layout_clear (GTK_CELL_LAYOUT (settings->combobox_network)); 
+  gtk_cell_layout_clear (GTK_CELL_LAYOUT (settings->combobox_network));
   renderer = gtk_cell_renderer_text_new ();
   gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (settings->combobox_network),
       renderer, TRUE);
index 2d494477931ae75a65bf570c8c47c29ffdf6e1ff..f6eb99814e53933f8541217db44943a1e4369931 100644 (file)
@@ -63,8 +63,8 @@ account_widget_sip_discover_stun_toggled_cb (
   gboolean active;
 
   active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbox));
-  gtk_widget_set_sensitive(settings->entry_stun_server, !active);
-  gtk_widget_set_sensitive(settings->spinbutton_stun_part, !active);
+  gtk_widget_set_sensitive (settings->entry_stun_server, !active);
+  gtk_widget_set_sensitive (settings->spinbutton_stun_part, !active);
 }
 
 /**
index f20c47c3f6622152cc7eb187c542ad7caa0d6885..b1099fc58d1e07187f1f5f0defa3ea837c2d9a90 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  *          Martyn Russell <martyn@imendio.com>
  */
@@ -40,7 +40,7 @@
 #define DEBUG_FLAG EMPATHY_DEBUG_ACCOUNT
 #include <libempathy/empathy-debug.h>
 
-static gboolean 
+static gboolean
 account_widget_entry_focus_cb (GtkWidget     *widget,
                               GdkEventFocus *event,
                               McAccount     *account)
@@ -107,7 +107,7 @@ account_widget_int_changed_cb (GtkWidget *widget,
        }
 }
 
-static void  
+static void
 account_widget_checkbutton_toggled_cb (GtkWidget *widget,
                                       McAccount *account)
 {
@@ -157,7 +157,7 @@ account_widget_password_changed_cb (GtkWidget *entry,
        gtk_widget_set_sensitive (button, !EMP_STR_EMPTY (str));
 }
 
-static void  
+static void
 account_widget_jabber_ssl_toggled_cb (GtkWidget *checkbutton_ssl,
                                      GtkWidget *spinbutton_port)
 {
@@ -187,9 +187,9 @@ account_widget_setup_widget (GtkWidget   *widget,
                             McAccount   *account,
                             const gchar *param_name)
 {
-       g_object_set_data_full (G_OBJECT (widget), "param_name", 
+       g_object_set_data_full (G_OBJECT (widget), "param_name",
                                g_strdup (param_name), g_free);
-       g_object_set_data_full (G_OBJECT (widget), "account", 
+       g_object_set_data_full (G_OBJECT (widget), "account",
                                g_object_ref (account), g_object_unref);
 
        if (GTK_IS_SPIN_BUTTON (widget)) {
@@ -270,7 +270,7 @@ accounts_widget_generic_setup (McAccount *account,
        if (!protocol) {
                /* The CM is not installed, MC shouldn't list them
                 * see SF bug #1688779
-                * FIXME: We should display something asking the user to 
+                * FIXME: We should display something asking the user to
                 * install the CM
                 */
                g_object_unref (profile);
index 038439ee5994b88e70aebfc3817878b2a97188c9..d688f991ce9015db97c3ee599e99f79bf97bcb61 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  *          Martyn Russell <martyn@imendio.com>
  */
index 57579dc3e870492de4e1ceed5483b1aea7f98022..21ebf2b5addd76bd710c1f264073cf735a4030b0 100644 (file)
@@ -41,7 +41,7 @@ GType empathy_audio_sink_get_type (void);
 
 /* TYPE MACROS */
 #define EMPATHY_TYPE_GST_AUDIO_SINK \
-  (empathy_audio_sink_get_type())
+  (empathy_audio_sink_get_type ())
 #define EMPATHY_GST_AUDIO_SINK(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST((obj), EMPATHY_TYPE_GST_AUDIO_SINK, \
     EmpathyGstAudioSink))
index 4f48fe1f734729d3b2d92fe69b7153eb751524dc..4bca31b618e4c7712b5078ef13579dba0fdb8ed5 100644 (file)
@@ -41,7 +41,7 @@ GType empathy_audio_src_get_type (void);
 
 /* TYPE MACROS */
 #define EMPATHY_TYPE_GST_AUDIO_SRC \
-  (empathy_audio_src_get_type())
+  (empathy_audio_src_get_type ())
 #define EMPATHY_GST_AUDIO_SRC(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST((obj), EMPATHY_TYPE_GST_AUDIO_SRC, \
     EmpathyGstAudioSrc))
index c86b85d259a27d4fa31c66c58970f95c057f360f..0f4311e07a3dc7aca09a9c13e144a3921a07813d 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Based on Novell's e-image-chooser.
  *          Xavier Claessens <xclaesse@gmail.com>
@@ -798,7 +798,7 @@ avatar_chooser_drag_data_received_cb (GtkWidget          *widget,
                        gchar *uri;
 
                        uri = g_strndup (selection_data->data,
-                                        nl - (gchar*) selection_data->data);
+                                        nl - (gchar *) selection_data->data);
 
                        file = g_file_new_for_uri (uri);
                        g_free (uri);
@@ -1000,7 +1000,7 @@ avatar_chooser_clicked_cb (GtkWidget            *button,
        gtk_file_chooser_add_filter (chooser_dialog, filter);
        filter = gtk_file_filter_new ();
        gtk_file_filter_set_name (filter, _("All Files"));
-       gtk_file_filter_add_pattern(filter, "*");
+       gtk_file_filter_add_pattern (filter, "*");
        gtk_file_chooser_add_filter (chooser_dialog, filter);
 
        /* Setup response */
index 564c1f37d3d81e73304ca5cfd680cdcff176d2f1..f4e40a8b0aef963ee9323aab381d879b9ed58c24 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Based on Novell's e-image-chooser.
  *          Xavier Claessens <xclaesse@gmail.com>
index e5513231bf82c83cc97b29717d7f344812ab349d..d430c0fa651a295832628dce860ba22494beb84d 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
index 8969c1227541f5a01102061348ee2221e20a71b2..ddb446a60c89f5c70da8bf969a14842be5771a4a 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
index fc218e88bac5a5978434cd61bdb2d2379e75a7e9..2883c4ded35f5e4e5c76d24a41bf73c97d35a874 100644 (file)
@@ -93,7 +93,7 @@ cell_renderer_activatable_activate (GtkCellRenderer      *cell,
 
        activatable = EMPATHY_CELL_RENDERER_ACTIVATABLE (cell);
 
-       if (!GTK_IS_TREE_VIEW (widget) || event == NULL || 
+       if (!GTK_IS_TREE_VIEW (widget) || event == NULL ||
            event->type != GDK_BUTTON_PRESS) {
                return FALSE;
        }
index fc9189d2daec0c7b4b1d7f0e1320dfb11d898560..09fe8bd4f010f0e52f1d9effe95f34e4df388fe9 100644 (file)
@@ -14,9 +14,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Kristian Rietveld <kris@imendio.com>
  */
 
@@ -253,7 +253,7 @@ empathy_cell_renderer_expander_get_size (GtkCellRenderer *cell,
        EmpathyCellRendererExpander     *expander;
        EmpathyCellRendererExpanderPriv *priv;
 
-       expander = (EmpathyCellRendererExpander*) cell;
+       expander = (EmpathyCellRendererExpander *) cell;
        priv = GET_PRIV (expander);
 
        if (cell_area) {
@@ -295,7 +295,7 @@ empathy_cell_renderer_expander_render (GtkCellRenderer      *cell,
        GtkExpanderStyle                expander_style;
        gint                            x_offset, y_offset;
 
-       expander = (EmpathyCellRendererExpander*) cell;
+       expander = (EmpathyCellRendererExpander *) cell;
        priv = GET_PRIV (expander);
 
        if (priv->animation_node) {
index d052612bfbfe4559ce6e71b5bf86a45f227df767..fc569ded29126f6a7b6d33fbc925656671d98433 100644 (file)
@@ -14,9 +14,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Kristian Rietveld <kris@imendio.com>
  */
 
index 567a1d9d39f6c552ce2bd335e9c3f4b77e6ae104..e3dd27d30cc861a1aececc434253792036e5b0a4 100644 (file)
@@ -14,9 +14,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Mikael Hallendal <micke@imendio.com>
  */
 
index 7de8b2d0836d7d71af1ba269ac816e9ba915047c..540c2ebb990d60f4a84294f4d2738d9aa99268e9 100644 (file)
@@ -14,9 +14,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Mikael Hallendal <micke@imendio.com>
  */
 
index fbe40120a7215f1c62da96d4008fc35f12cf02ee..8874b7aceb28b3274ec402bc9c4856050f332bee 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Richard Hult <richard@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
@@ -113,7 +113,7 @@ chat_text_view_url_event_cb (GtkTextTag          *tag,
                                                            &start,
                                                            &end,
                                                            FALSE);
-                           
+
                            empathy_url_show (GTK_WIDGET (view), str);
                            g_free (str);
                    }
@@ -591,7 +591,7 @@ empathy_chat_text_view_class_init (EmpathyChatTextViewClass *klass)
        object_class->set_property = chat_text_view_set_property;
 
        widget_class->size_allocate = chat_text_view_size_allocate;
-       widget_class->drag_motion = chat_text_view_drag_motion; 
+       widget_class->drag_motion = chat_text_view_drag_motion;
 
        g_object_class_install_property (object_class,
                                         PROP_LAST_CONTACT,
@@ -688,7 +688,7 @@ chat_text_view_scroll_down (EmpathyChatView *view)
        if (priv->scroll_time) {
                g_timer_reset (priv->scroll_time);
        } else {
-               priv->scroll_time = g_timer_new();
+               priv->scroll_time = g_timer_new ();
        }
        if (!priv->scroll_timeout) {
                priv->scroll_timeout = g_timeout_add (SCROLL_DELAY,
@@ -894,7 +894,7 @@ chat_text_view_find_previous (EmpathyChatView *view,
                if (!new_search && !priv->find_wrapped) {
                        priv->find_wrapped = TRUE;
                        result = chat_text_view_find_previous (view,
-                                                                search_criteria, 
+                                                                search_criteria,
                                                                 FALSE);
                        priv->find_wrapped = FALSE;
                }
@@ -1008,8 +1008,8 @@ chat_text_view_find_next (EmpathyChatView *view,
                /* Here we wrap around. */
                if (!new_search && !priv->find_wrapped) {
                        priv->find_wrapped = TRUE;
-                       result = chat_text_view_find_next (view, 
-                                                            search_criteria, 
+                       result = chat_text_view_find_next (view,
+                                                            search_criteria,
                                                             FALSE);
                        priv->find_wrapped = FALSE;
                }
index 120d370f138e42d1ef2e8e09da3a9bd0dd270a7d..7c4ff343091db3aaab633f77970633fe35156ec4 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Richard Hult <richard@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
index 23877a27520c9ccd99631638a2d9c44a201ca9b5..e0a7905df6cca46f0291809424f8d59d6d662f66 100644 (file)
@@ -14,9 +14,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
@@ -66,7 +66,7 @@ empathy_chat_view_append_message (EmpathyChatView *view,
        g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view));
        
        if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->append_message) {
-               EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->append_message (view, 
+               EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->append_message (view,
                                                                         msg);
        }
 }
@@ -90,7 +90,7 @@ empathy_chat_view_scroll (EmpathyChatView *view,
        g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view));
        
        if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->scroll) {
-               EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->scroll (view, 
+               EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->scroll (view,
                                                                 allow_scrolling);
        }
 }
@@ -134,8 +134,8 @@ empathy_chat_view_find_previous (EmpathyChatView *view,
        g_return_val_if_fail (EMPATHY_IS_CHAT_VIEW (view), FALSE);
        
        if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_previous) {
-               return EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_previous (view, 
-                                                                              search_criteria, 
+               return EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_previous (view,
+                                                                              search_criteria,
                                                                               new_search);
        }
        return FALSE;
@@ -149,8 +149,8 @@ empathy_chat_view_find_next (EmpathyChatView *view,
        g_return_val_if_fail (EMPATHY_IS_CHAT_VIEW (view), FALSE);
        
        if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_next) {
-               return EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_next (view, 
-                                                                          search_criteria, 
+               return EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_next (view,
+                                                                          search_criteria,
                                                                           new_search);
        }
        return FALSE;
@@ -166,9 +166,9 @@ empathy_chat_view_find_abilities (EmpathyChatView *view,
        g_return_if_fail (EMPATHY_IS_CHAT_VIEW (view));
        
        if (EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_abilities) {
-               EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_abilities (view, 
-                                                                        search_criteria, 
-                                                                        can_do_previous, 
+               EMPATHY_TYPE_CHAT_VIEW_GET_IFACE (view)->find_abilities (view,
+                                                                        search_criteria,
+                                                                        can_do_previous,
                                                                         can_do_next);
        }
 }
index 08fba1508c8594ecb02ea0ed050496c0dbf4c7c1..893cf83e4a84485a910c197ae507010cb17efc79 100644 (file)
@@ -14,9 +14,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
index 425a1c555a4c41036c6bc40726e849e5886faff9..248fd116da57b9d1196012234f3468827b1e309a 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Richard Hult <richard@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
@@ -282,7 +282,7 @@ chat_composing_stop (EmpathyChat *chat)
                                   TP_CHANNEL_CHAT_STATE_ACTIVE);
 }
 
-static void 
+static void
 chat_sent_message_add (EmpathyChat  *chat,
                       const gchar *str)
 {
@@ -684,8 +684,8 @@ chat_input_key_press_event_cb (GtkWidget   *widget,
        priv = GET_PRIV (chat);
 
        /* Catch ctrl+up/down so we can traverse messages we sent */
-       if ((event->state & GDK_CONTROL_MASK) && 
-           (event->keyval == GDK_Up || 
+       if ((event->state & GDK_CONTROL_MASK) &&
+           (event->keyval == GDK_Up ||
             event->keyval == GDK_Down)) {
                GtkTextBuffer *buffer;
                const gchar   *str;
@@ -698,15 +698,15 @@ chat_input_key_press_event_cb (GtkWidget   *widget,
                        str = chat_sent_message_get_last (chat);
                }
 
-               g_signal_handlers_block_by_func (buffer, 
+               g_signal_handlers_block_by_func (buffer,
                                                 chat_input_text_buffer_changed_cb,
                                                 chat);
                gtk_text_buffer_set_text (buffer, str ? str : "", -1);
-               g_signal_handlers_unblock_by_func (buffer, 
+               g_signal_handlers_unblock_by_func (buffer,
                                                   chat_input_text_buffer_changed_cb,
                                                   chat);
 
-               return TRUE;    
+               return TRUE;
        }
 
        /* Catch enter but not ctrl/shift-enter */
@@ -939,7 +939,7 @@ chat_spelling_menu_activate_cb (GtkMenuItem     *menu_item,
                                gtk_menu_item_get_label (menu_item));
 }
 
-static GtkWidget*
+static GtkWidget *
 chat_spelling_build_menu (EmpathyChatSpell *chat_spell)
 {
     GtkWidget *menu, *menu_item;
@@ -1313,7 +1313,7 @@ chat_create_ui (EmpathyChat *chat)
 {
        EmpathyChatPriv *priv = GET_PRIV (chat);
        GtkBuilder      *gui;
-       GList           *list = NULL; 
+       GList           *list = NULL;
        gchar           *filename;
        GtkTextBuffer   *buffer;
 
@@ -1410,7 +1410,7 @@ chat_size_request (GtkWidget      *widget,
   if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
     {
       GtkRequisition child_requisition;
-      
+
       gtk_widget_size_request (bin->child, &child_requisition);
 
       requisition->width += child_requisition.width;
@@ -1424,7 +1424,7 @@ chat_size_allocate (GtkWidget     *widget,
 {
   GtkBin *bin = GTK_BIN (widget);
   GtkAllocation child_allocation;
-  
+
   widget->allocation = *allocation;
 
   if (bin->child && GTK_WIDGET_VISIBLE (bin->child))
index f61ce415415d7ba9700059280c2aef897c87b8b7..74d7e068191e4d740fabcf8beceb3b1014305320 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Richard Hult <richard@imendio.com>
index fae2c37db5805fa6c1ea6757e59829df15bd8656..62efa60c66158a3c95ed44b8dffe708cbb210efa 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Richard Hult <richard@imendio.com>
  */
index 2051a7f3809fb9a3972c74111a4be83419451156..4a6fdc4f885e3e9d09b7c152d9f9d39f485bf6bb 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
 #ifndef __EMPATHY_CONF_H__
@@ -78,7 +78,7 @@ struct _EmpathyConfClass {
 #define EMPATHY_PREFS_IMPORT_ASKED                 EMPATHY_PREFS_PATH "/import_asked"
 #define EMPATHY_PREFS_FILE_TRANSFER_DEFAULT_FOLDER EMPATHY_PREFS_PATH "/file_transfer/default_folder"
 
-typedef void (*EmpathyConfNotifyFunc) (EmpathyConf  *conf, 
+typedef void (*EmpathyConfNotifyFunc) (EmpathyConf  *conf,
                                      const gchar *key,
                                      gpointer     user_data);
 
index 056ec2d856093b768a80ed0473e18b235a64f503..7de7931537778aaac75f348af4e1a98090495500 100644 (file)
@@ -364,8 +364,7 @@ new_contact_response_cb (GtkDialog *dialog,
 
        if (contact && response == GTK_RESPONSE_OK) {
                empathy_contact_list_add (EMPATHY_CONTACT_LIST (manager),
-                                         contact,
-                                         _("I would like to add you to my contact list."));
+                                         contact, "");
        }
 
        new_contact_dialog = NULL;
index e7982f3aae25a0833950d9c24671fe15c3681d88..a264d9ff746f0541926df59b1550a70be85f04ac 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
@@ -707,7 +707,7 @@ empathy_contact_list_store_search_equal_func (GtkTreeModel *model,
        name_folded = g_utf8_casefold (name, -1);
        key_folded = g_utf8_casefold (key, -1);
 
-       if (name_folded && key_folded && 
+       if (name_folded && key_folded &&
            strstr (name_folded, key_folded)) {
                ret = FALSE;
        } else {
@@ -736,7 +736,8 @@ contact_list_store_setup (EmpathyContactListStore *store)
                                               G_TYPE_BOOLEAN,       /* Is active */
                                               G_TYPE_BOOLEAN,       /* Is online */
                                               G_TYPE_BOOLEAN,       /* Is separator */
-                                              G_TYPE_BOOLEAN};      /* Can VoIP */
+                                              G_TYPE_BOOLEAN,       /* Can make audio calls */
+                                              G_TYPE_BOOLEAN};      /* Can make video calls */
        
        priv = GET_PRIV (store);
 
@@ -870,7 +871,12 @@ contact_list_store_add_contact (EmpathyContactListStore *store,
                                    EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, contact,
                                    EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, FALSE,
                                    EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR, FALSE,
-                                   EMPATHY_CONTACT_LIST_STORE_COL_CAN_VOIP, empathy_contact_can_voip (contact),
+                                   EMPATHY_CONTACT_LIST_STORE_COL_CAN_AUDIO_CALL,
+                                     empathy_contact_get_capabilities (contact) &
+                                       EMPATHY_CAPABILITIES_AUDIO,
+                                   EMPATHY_CONTACT_LIST_STORE_COL_CAN_VIDEO_CALL,
+                                     empathy_contact_get_capabilities (contact) &
+                                       EMPATHY_CAPABILITIES_VIDEO,
                                    -1);
        }
 
@@ -887,7 +893,12 @@ contact_list_store_add_contact (EmpathyContactListStore *store,
                                    EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, contact,
                                    EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, FALSE,
                                    EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR, FALSE,
-                                   EMPATHY_CONTACT_LIST_STORE_COL_CAN_VOIP, empathy_contact_can_voip (contact),
+                                   EMPATHY_CONTACT_LIST_STORE_COL_CAN_AUDIO_CALL,
+                                     empathy_contact_get_capabilities (contact) &
+                                       EMPATHY_CAPABILITIES_AUDIO,
+                                   EMPATHY_CONTACT_LIST_STORE_COL_CAN_VIDEO_CALL,
+                                     empathy_contact_get_capabilities (contact) &
+                                       EMPATHY_CAPABILITIES_VIDEO,
                                    -1);
                g_free (l->data);
        }
@@ -920,7 +931,7 @@ contact_list_store_remove_contact (EmpathyContactListStore *store,
 
                /* NOTE: it is only <= 2 here because we have
                 * separators after the group name, otherwise it
-                * should be 1. 
+                * should be 1.
                 */
                if (gtk_tree_model_iter_parent (model, &parent, l->data) &&
                    gtk_tree_model_iter_n_children (model, &parent) <= 2) {
@@ -1056,7 +1067,12 @@ contact_list_store_contact_update (EmpathyContactListStore *store,
                                    EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, FALSE,
                                    EMPATHY_CONTACT_LIST_STORE_COL_IS_ONLINE, now_online,
                                    EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR, FALSE,
-                                   EMPATHY_CONTACT_LIST_STORE_COL_CAN_VOIP, empathy_contact_can_voip (contact),
+                                   EMPATHY_CONTACT_LIST_STORE_COL_CAN_AUDIO_CALL,
+                                     empathy_contact_get_capabilities (contact) &
+                                       EMPATHY_CAPABILITIES_AUDIO,
+                                   EMPATHY_CONTACT_LIST_STORE_COL_CAN_VIDEO_CALL,
+                                     empathy_contact_get_capabilities (contact) &
+                                       EMPATHY_CAPABILITIES_VIDEO,
                                    -1);
        }
 
@@ -1138,7 +1154,7 @@ contact_list_store_contact_active_new (EmpathyContactListStore *store,
        ShowActiveData *data;
 
        DEBUG ("Contact:'%s' now active, and %s be removed",
-               empathy_contact_get_name (contact), 
+               empathy_contact_get_name (contact),
                remove ? "WILL" : "WILL NOT");
        
        data = g_slice_new0 (ShowActiveData);
@@ -1259,7 +1275,7 @@ contact_list_store_get_group (EmpathyContactListStore *store,
                }
 
                gtk_tree_store_append (GTK_TREE_STORE (store),
-                                      &iter_separator, 
+                                      &iter_separator,
                                       &iter_group);
                gtk_tree_store_set (GTK_TREE_STORE (store), &iter_separator,
                                    EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR, TRUE,
index 10354ff111b00ed660e51c71d52225457c634a8f..13ea099b32d72e21bfa7e118082d92a9db79abcc 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
@@ -60,7 +60,8 @@ typedef enum {
        EMPATHY_CONTACT_LIST_STORE_COL_IS_ACTIVE,
        EMPATHY_CONTACT_LIST_STORE_COL_IS_ONLINE,
        EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR,
-       EMPATHY_CONTACT_LIST_STORE_COL_CAN_VOIP,
+       EMPATHY_CONTACT_LIST_STORE_COL_CAN_AUDIO_CALL,
+       EMPATHY_CONTACT_LIST_STORE_COL_CAN_VIDEO_CALL,
        EMPATHY_CONTACT_LIST_STORE_COL_COUNT
 } EmpathyContactListStoreCol;
 
index ca224f52631be53cffa9043d08c45d62d78a4265..9fcf5fc417dcdebe71be9d7f575b54cb40e70803 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
@@ -488,7 +488,7 @@ contact_list_view_drag_data_get (GtkWidget        *widget,
        switch (info) {
        case DND_DRAG_TYPE_CONTACT_ID:
                gtk_selection_data_set (selection, drag_atoms_source[info], 8,
-                                       (guchar*)str, strlen (str) + 1);
+                                       (guchar *) str, strlen (str) + 1);
                break;
        }
 
@@ -615,9 +615,10 @@ contact_list_view_row_activated (GtkTreeView       *view,
 }
 
 static void
-contact_list_view_voip_activated_cb (EmpathyCellRendererActivatable *cell,
-                                    const gchar                    *path_string,
-                                    EmpathyContactListView         *view)
+contact_list_start_voip_call (EmpathyCellRendererActivatable *cell,
+    const gchar                    *path_string,
+    EmpathyContactListView         *view,
+    gboolean with_video)
 {
        EmpathyContactListViewPriv *priv = GET_PRIV (view);
        GtkTreeModel               *model;
@@ -639,14 +640,31 @@ contact_list_view_voip_activated_cb (EmpathyCellRendererActivatable *cell,
 
        if (contact) {
                EmpathyCallFactory *factory;
-
                factory = empathy_call_factory_get ();
-               empathy_call_factory_new_call (factory, contact);
-
+               empathy_call_factory_new_call_with_streams (factory, contact,
+                       TRUE, with_video);
                g_object_unref (contact);
        }
 }
 
+static void
+contact_list_view_video_call_activated_cb (
+    EmpathyCellRendererActivatable *cell,
+    const gchar                    *path_string,
+    EmpathyContactListView         *view)
+{
+  contact_list_start_voip_call (cell, path_string, view, TRUE);
+}
+
+
+static void
+contact_list_view_audio_call_activated_cb (EmpathyCellRendererActivatable *cell,
+                                    const gchar                    *path_string,
+                                    EmpathyContactListView         *view)
+{
+  contact_list_start_voip_call (cell, path_string, view, FALSE);
+}
+
 static void
 contact_list_view_cell_set_background (EmpathyContactListView *view,
                                       GtkCellRenderer       *cell,
@@ -708,7 +726,8 @@ contact_list_view_pixbuf_cell_data_func (GtkTreeViewColumn     *tree_column,
 }
 
 static void
-contact_list_view_voip_cell_data_func (GtkTreeViewColumn      *tree_column,
+contact_list_view_audio_call_cell_data_func (
+                                      GtkTreeViewColumn      *tree_column,
                                       GtkCellRenderer        *cell,
                                       GtkTreeModel           *model,
                                       GtkTreeIter            *iter,
@@ -721,7 +740,7 @@ contact_list_view_voip_cell_data_func (GtkTreeViewColumn      *tree_column,
        gtk_tree_model_get (model, iter,
                            EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, &is_group,
                            EMPATHY_CONTACT_LIST_STORE_COL_IS_ACTIVE, &is_active,
-                           EMPATHY_CONTACT_LIST_STORE_COL_CAN_VOIP, &can_voip,
+                           EMPATHY_CONTACT_LIST_STORE_COL_CAN_AUDIO_CALL, &can_voip,
                            -1);
 
        g_object_set (cell,
@@ -732,6 +751,33 @@ contact_list_view_voip_cell_data_func (GtkTreeViewColumn      *tree_column,
        contact_list_view_cell_set_background (view, cell, is_group, is_active);
 }
 
+static void
+contact_list_view_video_call_cell_data_func (
+                                      GtkTreeViewColumn      *tree_column,
+                                      GtkCellRenderer        *cell,
+                                      GtkTreeModel           *model,
+                                      GtkTreeIter            *iter,
+                                      EmpathyContactListView *view)
+{
+       gboolean is_group;
+       gboolean is_active;
+       gboolean can_voip;
+
+       gtk_tree_model_get (model, iter,
+                           EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, &is_group,
+                           EMPATHY_CONTACT_LIST_STORE_COL_IS_ACTIVE, &is_active,
+                           EMPATHY_CONTACT_LIST_STORE_COL_CAN_VIDEO_CALL, &can_voip,
+                           -1);
+
+       g_object_set (cell,
+                     "visible", !is_group && can_voip,
+                     "icon-name", EMPATHY_IMAGE_VIDEO_CALL,
+                     NULL);
+
+       contact_list_view_cell_set_background (view, cell, is_group, is_active);
+}
+
+
 static void
 contact_list_view_avatar_cell_data_func (GtkTreeViewColumn     *tree_column,
                                         GtkCellRenderer       *cell,
@@ -948,12 +994,12 @@ contact_list_view_setup (EmpathyContactListView *view)
        gtk_tree_view_column_add_attribute (col, cell,
                                            "is_group", EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP);
 
-       /* Voip Capability Icon */
+       /* Audio Call Icon */
        cell = empathy_cell_renderer_activatable_new ();
        gtk_tree_view_column_pack_start (col, cell, FALSE);
        gtk_tree_view_column_set_cell_data_func (
                col, cell,
-               (GtkTreeCellDataFunc) contact_list_view_voip_cell_data_func,
+               (GtkTreeCellDataFunc) contact_list_view_audio_call_cell_data_func,
                view, NULL);
 
        g_object_set (cell,
@@ -961,7 +1007,23 @@ contact_list_view_setup (EmpathyContactListView *view)
                      NULL);
 
        g_signal_connect (cell, "path-activated",
-                         G_CALLBACK (contact_list_view_voip_activated_cb),
+                         G_CALLBACK (contact_list_view_audio_call_activated_cb),
+                         view);
+
+       /* Video Call Icon */
+       cell = empathy_cell_renderer_activatable_new ();
+       gtk_tree_view_column_pack_start (col, cell, FALSE);
+       gtk_tree_view_column_set_cell_data_func (
+               col, cell,
+               (GtkTreeCellDataFunc) contact_list_view_video_call_cell_data_func,
+               view, NULL);
+
+       g_object_set (cell,
+                     "visible", FALSE,
+                     NULL);
+
+       g_signal_connect (cell, "path-activated",
+                         G_CALLBACK (contact_list_view_video_call_activated_cb),
                          view);
 
        /* Avatar */
@@ -1181,7 +1243,7 @@ empathy_contact_list_view_init (EmpathyContactListView *view)
        /* Get saved group states. */
        empathy_contact_groups_get_all ();
 
-       gtk_tree_view_set_row_separator_func (GTK_TREE_VIEW (view), 
+       gtk_tree_view_set_row_separator_func (GTK_TREE_VIEW (view),
                                              empathy_contact_list_store_row_separator_func,
                                              NULL, NULL);
 
@@ -1275,8 +1337,8 @@ empathy_contact_list_view_get_selected_group (EmpathyContactListView *view)
 }
 
 static gboolean
-contact_list_view_remove_dialog_show (GtkWindow   *parent, 
-                                     const gchar *message, 
+contact_list_view_remove_dialog_show (GtkWindow   *parent,
+                                     const gchar *message,
                                      const gchar *secondary_text)
 {
        GtkWidget *dialog;
@@ -1291,9 +1353,9 @@ contact_list_view_remove_dialog_show (GtkWindow   *parent,
                                NULL);
        gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
                                                  "%s", secondary_text);
-        
+
        gtk_widget_show (dialog);
-        
+
        res = gtk_dialog_run (GTK_DIALOG (dialog));
        gtk_widget_destroy (dialog);
 
@@ -1387,7 +1449,7 @@ contact_list_view_remove_activate_cb (GtkMenuItem            *menuitem,
        contact = empathy_contact_list_view_dup_selected (view);
 
        if (contact) {
-               gchar     *text; 
+               gchar     *text;
                GtkWindow *parent;
 
                parent = empathy_get_toplevel_window (GTK_WIDGET (view));
@@ -1397,8 +1459,7 @@ contact_list_view_remove_activate_cb (GtkMenuItem            *menuitem,
                        EmpathyContactList *list;
 
                        list = empathy_contact_list_store_get_list_iface (priv->store);
-                       empathy_contact_list_remove (list, contact, 
-                               _("Sorry, I don't want you in my contact list anymore."));
+                       empathy_contact_list_remove (list, contact, "");
                }
 
                g_free (text);
index bb6766c4a9848e48790010ffd3f5e59a925006e3..0c48764c42e421673b069d5aa76895947abcf74f 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
index a3cf1da26f71aeedf5874d1e26c48d96f6cec19c..fdd9c34a1b50cb909228adbc48e75d86b94a3982 100644 (file)
@@ -15,7 +15,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
@@ -62,9 +62,14 @@ empathy_contact_menu_new (EmpathyContact             *contact,
                gtk_widget_show (item);
        }
 
-       /* Call */
        if (features & EMPATHY_CONTACT_FEATURE_CALL) {
-               item = empathy_contact_call_menu_item_new (contact);
+               /* Audio Call */
+               item = empathy_contact_audio_call_menu_item_new (contact);
+               gtk_menu_shell_append (shell, item);
+               gtk_widget_show (item);
+
+               /* Video Call */
+               item = empathy_contact_video_call_menu_item_new (contact);
                gtk_menu_shell_append (shell, item);
                gtk_widget_show (item);
        }
@@ -141,24 +146,24 @@ empathy_contact_chat_menu_item_new (EmpathyContact *contact)
 }
 
 static void
-empathy_contact_call_menu_item_activated (GtkMenuItem *item,
+empathy_contact_audio_call_menu_item_activated (GtkMenuItem *item,
        EmpathyContact *contact)
 {
        EmpathyCallFactory *factory;
 
        factory = empathy_call_factory_get ();
-       empathy_call_factory_new_call (factory, contact);
+       empathy_call_factory_new_call_with_streams (factory, contact, TRUE, FALSE);
 }
 
 GtkWidget *
-empathy_contact_call_menu_item_new (EmpathyContact *contact)
+empathy_contact_audio_call_menu_item_new (EmpathyContact *contact)
 {
        GtkWidget *item;
        GtkWidget *image;
 
        g_return_val_if_fail (EMPATHY_IS_CONTACT (contact), NULL);
 
-       item = gtk_image_menu_item_new_with_mnemonic (C_("menu item", "_Call"));
+       item = gtk_image_menu_item_new_with_mnemonic (C_("menu item", "_Audio Call"));
        image = gtk_image_new_from_icon_name (EMPATHY_IMAGE_VOIP,
                                              GTK_ICON_SIZE_MENU);
        gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
@@ -166,9 +171,41 @@ empathy_contact_call_menu_item_new (EmpathyContact *contact)
        gtk_widget_show (image);
 
        g_signal_connect (item, "activate",
-                                 G_CALLBACK (empathy_contact_call_menu_item_activated),
+                                 G_CALLBACK (empathy_contact_audio_call_menu_item_activated),
                                  contact);
-       
+
+       return item;
+}
+
+static void
+empathy_contact_video_call_menu_item_activated (GtkMenuItem *item,
+       EmpathyContact *contact)
+{
+       EmpathyCallFactory *factory;
+
+       factory = empathy_call_factory_get ();
+       empathy_call_factory_new_call_with_streams (factory, contact, TRUE, TRUE);
+}
+
+GtkWidget *
+empathy_contact_video_call_menu_item_new (EmpathyContact *contact)
+{
+       GtkWidget *item;
+       GtkWidget *image;
+
+       g_return_val_if_fail (EMPATHY_IS_CONTACT (contact), NULL);
+
+       item = gtk_image_menu_item_new_with_mnemonic (C_("menu item", "_Video Call"));
+       image = gtk_image_new_from_icon_name (EMPATHY_IMAGE_VIDEO_CALL,
+                                             GTK_ICON_SIZE_MENU);
+       gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
+       gtk_widget_set_sensitive (item, empathy_contact_can_voip (contact));
+       gtk_widget_show (image);
+
+       g_signal_connect (item, "activate",
+                                 G_CALLBACK (empathy_contact_video_call_menu_item_activated),
+                                 contact);
+
        return item;
 }
 
@@ -301,7 +338,6 @@ room_sub_menu_data_new (EmpathyContact *contact,
        data = g_slice_new (RoomSubMenuData);
        data->contact = g_object_ref (contact);
        data->chatroom = g_object_ref (chatroom);
-
        return data;
 }
 
@@ -381,7 +417,7 @@ empathy_contact_invite_menu_item_new (EmpathyContact *contact)
                                submenu = gtk_menu_new ();
 
                        room_item = create_room_sub_menu (contact, chatroom);
-                       gtk_menu_shell_append ((GtkMenuShell*)submenu, room_item);
+                       gtk_menu_shell_append ((GtkMenuShell *) submenu, room_item);
                        gtk_widget_show (room_item);
                }
        }
index fddc40c491a29e1413df64cf7b09fceeb1dff07b..8126a8e5975e36b03d75349d9499a13aa2a9d285 100644 (file)
@@ -15,7 +15,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
@@ -41,7 +41,8 @@ typedef enum {
 GtkWidget * empathy_contact_menu_new           (EmpathyContact             *contact,
                                                EmpathyContactFeatureFlags  features);
 GtkWidget * empathy_contact_chat_menu_item_new (EmpathyContact             *contact);
-GtkWidget * empathy_contact_call_menu_item_new (EmpathyContact             *contact);
+GtkWidget * empathy_contact_audio_call_menu_item_new (EmpathyContact             *contact);
+GtkWidget * empathy_contact_video_call_menu_item_new (EmpathyContact             *contact);
 GtkWidget * empathy_contact_log_menu_item_new  (EmpathyContact             *contact);
 GtkWidget * empathy_contact_info_menu_item_new (EmpathyContact             *contact);
 GtkWidget * empathy_contact_edit_menu_item_new (EmpathyContact             *contact);
index f4a302c5bcb1a1d4bcfb326b2c657a34883fa12d..8aa02fa6d451eb6be69489cb3633a52381d9924d 100644 (file)
@@ -202,7 +202,7 @@ contact_selector_constructor (GType type,
   GtkCellLayout *cell_layout;
   GtkCellRenderer *renderer;
 
-  object = G_OBJECT_CLASS (empathy_contact_selector_parent_class)->constructor 
+  object = G_OBJECT_CLASS (empathy_contact_selector_parent_class)->constructor
     (type, n_construct_params, construct_params);
   priv = GET_PRIV (object);
   contact_selector = EMPATHY_CONTACT_SELECTOR (object);
@@ -422,7 +422,7 @@ contact_selector_filter_visible_func (GtkTreeModel *model,
 
   if (contact != NULL)
     {
-      visible = data->func(contact, data->user_data);
+      visible = data->func (contact, data->user_data);
 
       g_object_unref (contact);
     }
index 0821066fa55bb2d724f76e816c291910ef7ada63..a32ac65d61c2efd18ffe6f27376b7cc23f6ffa7a 100644 (file)
@@ -317,7 +317,7 @@ empathy_contact_widget_set_account_filter (
   if (chooser)
       empathy_account_chooser_set_filter (chooser, filter, user_data);
 }
-  
+
 static void
 contact_widget_destroy_cb (GtkWidget *widget,
                            EmpathyContactWidget *information)
@@ -331,7 +331,7 @@ contact_widget_destroy_cb (GtkWidget *widget,
   if (information->manager)
     {
       g_object_unref (information->manager);
-    }   
+    }
 
   g_slice_free (EmpathyContactWidget, information);
 }
@@ -393,7 +393,7 @@ contact_widget_id_changed_cb (GtkEntry *entry,
                               EmpathyContactWidget *self)
 {
   if (self->widget_id_timeout != 0)
-    {   
+    {
       g_source_remove (self->widget_id_timeout);
     }
 
@@ -465,7 +465,7 @@ save_avatar_menu_activate_cb (GtkWidget *widget,
           GtkWidget *dialog;
 
           dialog = gtk_message_dialog_new (NULL, 0,
-              GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, 
+              GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
               _("Unable to save avatar"));
 
           gtk_message_dialog_format_secondary_text (
@@ -519,7 +519,7 @@ popup_avatar_menu (EmpathyContactWidget *information,
     }
 
   gtk_menu_attach_to_widget (GTK_MENU (menu), parent, NULL);
-  gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, 
+  gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL,
       button, event_time);
 }
 
index b3bd09ca149e0c4add646fcd8e0e5047fc577608..882e15aa9ea0f1dd16902bc39cc772394481d96c 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Martyn Russell <martyn@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
index 1b711c2ec433ae606c5abd638ff016b540751949..b7bd86bc2e69ba917016e421f895557bd8d0c519 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Martyn Russell <martyn@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
index 6abd2e8ad3657c3320638e12a3c0d133acee4b14..c714f047da60ee130dbddecccb658473c7aa2f04 100644 (file)
@@ -15,7 +15,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
@@ -38,6 +38,7 @@ G_BEGIN_DECLS
 #define EMPATHY_IMAGE_CONTACT_INFORMATION "gtk-info"
 #define EMPATHY_IMAGE_GROUP_MESSAGE       "system-users"
 #define EMPATHY_IMAGE_VOIP                "audio-input-microphone"
+#define EMPATHY_IMAGE_VIDEO_CALL          "camera-web"
 #define EMPATHY_IMAGE_LOG                 "document-open-recent"
 #define EMPATHY_IMAGE_DOCUMENT_SEND       "document-send"
 
index 8f7f47bdaab81c1f0da9eeebad788e7c1fa1d819..63222badc0e9dbb832b83a0aceb91511e92b5c2c 100644 (file)
@@ -256,7 +256,7 @@ irc_network_dialog_network_update_buttons (EmpathyIrcNetworkDialog *dialog)
 
     can_remove = TRUE;
     can_move_up = selected > 0;
-    can_move_down = 
+    can_move_down =
       selected < gtk_tree_model_iter_n_children (model, NULL) - 1;
 
     gtk_tree_path_free (path);
@@ -515,7 +515,7 @@ empathy_irc_network_dialog_show (EmpathyIrcNetwork *network,
       1, 10, 0);
   renderer = gtk_cell_renderer_spin_new ();
   g_object_set (renderer,
-      "editable", TRUE, 
+      "editable", TRUE,
       "adjustment", adjustment,
       NULL);
   g_signal_connect (renderer, "edited",
index 13d9bcbd34536181438354f610f369f949a4c473..dc2efa33246d7ad93f4d8eb7e7209749a12014b4 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Martyn Russell <martyn@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
  */
@@ -287,8 +287,8 @@ log_window_entry_find_changed_cb (GtkWidget       *entry,
        str = gtk_entry_get_text (GTK_ENTRY (window->entry_find));
 
        is_sensitive &= !EMP_STR_EMPTY (str);
-       is_sensitive &= 
-               !window->last_find || 
+       is_sensitive &=
+               !window->last_find ||
                (window->last_find && strcmp (window->last_find, str) != 0);
 
        gtk_widget_set_sensitive (window->button_find, is_sensitive);
index 266e0c30cd95b0ff6ec0a5f2187727334e584ed9..6dd8c03037de5f549a99c427cdf8152a1799ad9e 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Martyn Russell <martyn@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
  */
index 3e6e3f11d3a10ecf8a8a7b727f042db81fd6d7cc..512cd1ba384615e4ab2179d17e99fa7e57a0c147 100644 (file)
@@ -195,7 +195,7 @@ new_message_dialog_call_got_contact_cb (EmpathyTpContactFactory *factory,
                return;
        }
 
-       call_factory = empathy_call_factory_get();
+       call_factory = empathy_call_factory_get ();
        empathy_call_factory_new_call (call_factory, contact);
 }
 
@@ -232,7 +232,7 @@ new_message_dialog_response_cb (GtkWidget               *widget,
 
 static void
 new_message_change_state_button_cb  (GtkEditable             *editable,
-                                    EmpathyNewMessageDialog *dialog)  
+                                    EmpathyNewMessageDialog *dialog)
 {
        const gchar *id;
        gboolean     sensitive;
@@ -302,8 +302,8 @@ empathy_new_message_dialog_show (GtkWindow *parent)
        g_signal_connect (completion, "match-selected",
                          G_CALLBACK (new_message_dialog_match_selected_cb),
                          dialog);
-       g_object_unref(completion);
-       g_object_unref(model);
+       g_object_unref (completion);
+       g_object_unref (model);
 
        empathy_builder_connect (gui, dialog,
                               "new_message_dialog", "destroy", new_message_dialog_destroy_cb,
@@ -326,7 +326,7 @@ empathy_new_message_dialog_show (GtkWindow *parent)
        gtk_widget_show (dialog->account_chooser);
 
        new_message_dialog_account_changed_cb (dialog->account_chooser, dialog);
-       g_signal_connect (dialog->account_chooser, "changed", 
+       g_signal_connect (dialog->account_chooser, "changed",
                          G_CALLBACK (new_message_dialog_account_changed_cb),
                          dialog);
 
index f4a325b51f7cb9ef343dd6f60732d923dc1cf742..f57c5d34f5b2d7fed90a3f59f7707d3d618b6c9e 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Richard Hult <richard@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
@@ -245,7 +245,7 @@ presence_chooser_popup_shown_cb (GObject *self,
                return;
        }
 
-       /* see presence_chooser_entry_focus_out_cb() for what this does */
+       /* see presence_chooser_entry_focus_out_cb () for what this does */
        if (priv->focus_out_idle_source != 0) {
                g_source_remove (priv->focus_out_idle_source);
                priv->focus_out_idle_source = 0;
@@ -383,7 +383,7 @@ presence_chooser_set_status_editing (EmpathyPresenceChooser *self,
                        gtk_window_set_focus (GTK_WINDOW (window), NULL);
                }
 
-               /* see presence_chooser_entry_focus_out_cb()
+               /* see presence_chooser_entry_focus_out_cb ()
                 * for what this does */
                if (priv->focus_out_idle_source != 0) {
                        g_source_remove (priv->focus_out_idle_source);
index dab95f5537a043eace835c24bb55d61574fe5e1e..7b85a62177f9373cf542be2c74910c48432a2a29 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Richard Hult <richard@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
index 10eb3791ab552a6e08169c0332511822c2f856f9..14965741c28c8df33e642073abd5b83c66beb2cb 100644 (file)
@@ -56,7 +56,7 @@ enum {
  *
  * Return value: a new reference to the selected #McProfile
  */
-McProfile*
+McProfile *
 empathy_profile_chooser_dup_selected (GtkWidget *widget)
 {
        GtkTreeModel *model;
@@ -208,7 +208,7 @@ empathy_profile_chooser_new (void)
                if (g_list_find_custom (seen, unique_name, (GCompareFunc) strcmp)) {
                        continue;
                }
-               seen = g_list_append (seen, (char*) unique_name);
+               seen = g_list_append (seen, (char *) unique_name);
 
                gtk_list_store_insert_with_values (store, &iter, 0,
                                                   COL_ICON, mc_profile_get_icon_name (profile),
index 96b50206a710334a78b4f75c87354edc11bbb2ed..a729a2929c67ab0af78d50e82b932399c610e02f 100644 (file)
@@ -15,7 +15,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Dafydd Harrie <dafydd.harries@collabora.co.uk>
  *          Xavier Claessens <xclaesse@gmail.com>
  */
@@ -367,15 +367,15 @@ empathy_smiley_manager_get_all (EmpathySmileyManager *manager)
 typedef struct {
        EmpathySmileyManager *manager;
        EmpathySmiley        *smiley;
-       EmpathySmileyMenuFunc func;    
-       gpointer              user_data;         
+       EmpathySmileyMenuFunc func;
+       gpointer              user_data;
 } ActivateData;
 
 static void
 smiley_menu_data_free (gpointer  user_data,
                       GClosure *closure)
 {
-       ActivateData *data = (ActivateData*) user_data;
+       ActivateData *data = (ActivateData *) user_data;
 
        g_object_unref (data->manager);
        g_slice_free (ActivateData, data);
@@ -385,7 +385,7 @@ static void
 smiley_menu_activate_cb (GtkMenuItem *menuitem,
                         gpointer     user_data)
 {
-       ActivateData *data = (ActivateData*) user_data;
+       ActivateData *data = (ActivateData *) user_data;
 
        data->func (data->manager, data->smiley, data->user_data);
 }
@@ -417,6 +417,7 @@ empathy_smiley_menu_new (EmpathySmileyManager *manager,
 
                item = gtk_image_menu_item_new_with_label ("");
                gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
+               gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (item), TRUE);
 
                gtk_menu_attach (GTK_MENU (menu), item,
                                 x, x + 1, y, y + 1);
index dae022dfa27f4fd37dba8e140108a39cfe6a496e..5eaf4b283966da177514397703372af337d6226d 100644 (file)
@@ -15,7 +15,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Dafydd Harrie <dafydd.harries@collabora.co.uk>
  *          Xavier Claessens <xclaesse@gmail.com>
  */
index 914c0c78dcd781fac1f480a13ce853776f8b6e31..9cd7c555bb4461fcbf29004c6006df86509ff205 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Martyn Russell <martyn@imendio.com>
  *          Richard Hult <richard@imendio.com>
index 797997c0aabdeda5ce33f18c3d90c92012e12fc8..65dbb131dad0b262c342aec0cf124c7b3e4f1bc3 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Martyn Russell <martyn@imendio.com>
  *          Richard Hult <richard@imendio.com>
index 734ac356a74221ab2707540cfe676b90e507f3d1..1357849a25c3a525681afee9464f399dbd93b97f 100644 (file)
@@ -19,8 +19,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Davyd Madeley <davyd.madeley@collabora.co.uk>
  */
@@ -63,7 +63,7 @@ static McPresence states[] = {
 typedef struct _EmpathyStatusPresetDialogPriv EmpathyStatusPresetDialogPriv;
 struct _EmpathyStatusPresetDialogPriv
 {
-       /* block status_preset_dialog_add_combo_changed() when > 0 */
+       /* block status_preset_dialog_add_combo_changed () when > 0 */
        int block_add_combo_changed;
 
        GtkWidget *presets_treeview;
@@ -520,7 +520,7 @@ empathy_status_preset_dialog_init (EmpathyStatusPresetDialog *self)
        status_preset_dialog_setup_presets_treeview (self);
        status_preset_dialog_setup_add_combobox (self);
 
-       gtk_box_pack_start(GTK_BOX (GTK_DIALOG (self)->vbox), toplevel_vbox,
+       gtk_box_pack_start (GTK_BOX (GTK_DIALOG (self)->vbox), toplevel_vbox,
                        TRUE, TRUE, 0);
 
        g_object_unref (gui);
index e53c3d8adcd08d519b99e549b7ca616cc169d341..2c507ce37769eb0655987234540253456cce7a4a 100644 (file)
@@ -19,8 +19,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Davyd Madeley <davyd.madeley@collabora.co.uk>
  */
index 5b435f1d5d9cd9aff3ee05b80ebec9f0c2ad1f07..19913295697d95a12938e36ea045f281bead338d 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
@@ -259,7 +259,7 @@ theme_boxes_maybe_append_header (EmpathyThemeBoxes *theme,
 
        /* Add the message receive time */
        time = empathy_message_get_timestamp (msg);
-       tmp = empathy_time_to_string_local (time, 
+       tmp = empathy_time_to_string_local (time,
                                           EMPATHY_TIME_FORMAT_DISPLAY_SHORT);
        str = g_strdup_printf ("<i>%s</i>", tmp);
        label2 = g_object_new (GTK_TYPE_LABEL,
@@ -330,7 +330,7 @@ theme_boxes_append_message (EmpathyChatTextView *view,
            TP_CHANNEL_TEXT_MESSAGE_TYPE_ACTION) {
                gchar *body;
 
-               body = g_strdup_printf (" * %s %s", 
+               body = g_strdup_printf (" * %s %s",
                                        empathy_contact_get_name (sender),
                                        empathy_message_get_body (message));
                empathy_chat_text_view_append_body (EMPATHY_CHAT_TEXT_VIEW (view),
index fed7ceea0daafea0bf8cbc0fc3ab63da14e00caa..53dd350adcae2425ecb295107bc4bfb34fc87c6b 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
index 479108ce33f37b05c739a61e600aa0c66fc0d324..183a5cc51282f6f9006f351c929a5801eabc3a92 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
@@ -65,7 +65,7 @@ theme_irc_append_message (EmpathyChatTextView *view,
        name = empathy_contact_get_name (contact);
 
        if (empathy_message_get_tptype (message) == TP_CHANNEL_TEXT_MESSAGE_TYPE_ACTION) {
-               tmp = g_strdup_printf (" * %s %s", 
+               tmp = g_strdup_printf (" * %s %s",
                                       empathy_contact_get_name (contact),
                                       empathy_message_get_body (message));
                empathy_chat_text_view_append_body (view, tmp,
index 58d82ac0e0e15ab42e6126eeefad46f79a1f71b2..30bee62717c6bfcea8a16f33ac1573ae90f4532f 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
index 841e26297c6c355527e1e37f3bdb3c7faeed7762..0186b5eb70f9671bcfc166c0db0a2884f7e0faa6 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
@@ -69,8 +69,8 @@ G_DEFINE_TYPE (EmpathyThemeManager, empathy_theme_manager, G_TYPE_OBJECT);
 static void
 theme_manager_gdk_color_to_hex (GdkColor *gdk_color, gchar *str_color)
 {
-       g_snprintf (str_color, 10, 
-                   "#%02x%02x%02x", 
+       g_snprintf (str_color, 10,
+                   "#%02x%02x%02x",
                    gdk_color->red >> 8,
                    gdk_color->green >> 8,
                    gdk_color->blue >> 8);
index 05661d306be3ecf8670498820fc6f67857f987e8..99c96d78417d8913f321ee9c94ecc55997a4ead3 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
index 9a249e65be2663beea79c4d37cfa9dbea5b05644..d9f4ae0dda99d7c4139d22ce4bfb181f7f385a55 100644 (file)
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Richard Hult <richard@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
  *          Jonny Lamb <jonny.lamb@collabora.co.uk>
- * 
+ *
  *          Part of this file is copied from GtkSourceView (gtksourceiter.c):
  *          Paolo Maggi
  *          Jeroen Zwartepoorte
@@ -609,7 +609,7 @@ g_utf8_strcasestr (const gchar *haystack, const gchar *needle)
 
        if (needle_len == 0)
        {
-               ret = (gchar *)haystack;
+               ret = (gchar *) haystack;
                goto finally_1;
        }
 
@@ -619,7 +619,7 @@ g_utf8_strcasestr (const gchar *haystack, const gchar *needle)
                goto finally_1;
        }
 
-       p = (gchar*)caseless_haystack;
+       p = (gchar *) caseless_haystack;
        needle_len = strlen (needle);
        i = 0;
 
@@ -715,7 +715,7 @@ forward_chars_with_skipping (GtkTextIter *iter,
                        /* being UTF8 correct sucks; this accounts for extra
                           offsets coming from canonical decompositions of
                           UTF8 characters (e.g. accented characters) which
-                          g_utf8_normalize() performs */
+                          g_utf8_normalize () performs */
                        gchar *normal;
                        gchar buffer[6];
                        gint buffer_len;
@@ -968,7 +968,7 @@ empathy_text_iter_forward_search (const GtkTextIter   *iter,
                }
        } while (gtk_text_iter_forward_line (&search));
 
-       g_strfreev ((gchar**)lines);
+       g_strfreev ((gchar **) lines);
 
        return retval;
 }
@@ -996,7 +996,7 @@ g_utf8_strrcasestr (const gchar *haystack, const gchar *needle)
 
        if (needle_len == 0)
        {
-               ret = (gchar *)haystack;
+               ret = (gchar *) haystack;
                goto finally_1;
        }
 
@@ -1214,7 +1214,7 @@ empathy_text_iter_backward_search (const GtkTextIter   *iter,
                }
        }
 
-       g_strfreev ((gchar**)lines);
+       g_strfreev ((gchar **) lines);
 
        return retval;
 }
@@ -1240,7 +1240,7 @@ empathy_window_get_is_visible (GtkWindow *window)
        return TRUE;
 }
 
-void 
+void
 empathy_window_iconify (GtkWindow *window, GtkStatusIcon *status_icon)
 {
        GdkRectangle  icon_location;
@@ -1350,7 +1350,7 @@ empathy_url_show (GtkWidget *parent,
                GtkWidget *dialog;
 
                dialog = gtk_message_dialog_new (NULL, 0,
-                                                GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, 
+                                                GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
                                                 _("Unable to open URI"));
                gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
                                                          "%s", error->message);
@@ -1407,7 +1407,7 @@ static void
 file_manager_send_file_request_cb (EmpathyDispatchOperation *operation,
                                   const GError *error, gpointer user_data)
 {
-       GFile *file = (GFile *)user_data;
+       GFile *file = (GFile *) user_data;
        EmpathyTpFile *tp_file;
 
        if (error != NULL) {
@@ -1624,7 +1624,7 @@ empathy_sound_play_full (GtkWidget *widget, EmpathySound sound_id,
               entry->event_ca_id,
               entry->event_ca_description);
 
-       if (ca_proplist_create(&p) < 0)
+       if (ca_proplist_create (&p) < 0)
                goto failed;
 
        if (ca_proplist_sets (p, CA_PROP_EVENT_ID, entry->event_ca_id) < 0)
index 8dcc4c0376644ae0d92c238c7229fb476e299c4d..c80c79e8c9c871c220670a8ae19305b4f9ca6c4e 100644 (file)
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Richard Hult <richard@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
  *          Jonny Lamb <jonny.lamb@collabora.co.uk>
- * 
+ *
  *          Part of this file is copied from GtkSourceView (gtksourceiter.c):
  *          Paolo Maggi
  *          Jeroen Zwartepoorte
index d2d03026b407b21c663f19d7f3f295129b8cd884..bd014a5d974ea89bf78b5783a47eddf098324de9 100644 (file)
@@ -159,7 +159,7 @@ empathy_video_src_set_channel (GstElement *src,
 
   channels = gst_color_balance_list_channels (balance);
 
-  for (l = (GList *)channels; l != NULL; l = g_list_next (l))
+  for (l = (GList *) channels; l != NULL; l = g_list_next (l))
     {
       GstColorBalanceChannel *c = GST_COLOR_BALANCE_CHANNEL (l->data);
 
@@ -195,7 +195,7 @@ empathy_video_src_get_channel (GstElement *src,
 
   channels = gst_color_balance_list_channels (balance);
 
-  for (l = (GList *)channels; l != NULL; l = g_list_next (l))
+  for (l = (GList *) channels; l != NULL; l = g_list_next (l))
     {
       GstColorBalanceChannel *c = GST_COLOR_BALANCE_CHANNEL (l->data);
 
@@ -235,7 +235,7 @@ empathy_video_src_get_supported_channels (GstElement *src)
 
   channels = gst_color_balance_list_channels (balance);
 
-  for (l = (GList *)channels; l != NULL; l = g_list_next (l))
+  for (l = (GList *) channels; l != NULL; l = g_list_next (l))
     {
       GstColorBalanceChannel *channel = GST_COLOR_BALANCE_CHANNEL (l->data);
       int i;
index fef0b84ddfc50fd5cdd07af42eea8060dcad7a23..4197d7fadd5d544f7175125289d7e3528e32e29d 100644 (file)
@@ -55,7 +55,7 @@ GType empathy_video_src_get_type (void);
 
 /* TYPE MACROS */
 #define EMPATHY_TYPE_GST_VIDEO_SRC \
-  (empathy_video_src_get_type())
+  (empathy_video_src_get_type ())
 #define EMPATHY_GST_VIDEO_SRC(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST((obj), EMPATHY_TYPE_GST_VIDEO_SRC, \
     EmpathyGstVideoSrc))
index 08acdaa713071d0a5c4665d74effd299d38553bf..da17a6f4791536c26299c15e576cc81733681eae 100644 (file)
@@ -42,7 +42,7 @@ GType empathy_video_widget_get_type (void);
 
 /* TYPE MACROS */
 #define EMPATHY_TYPE_VIDEO_WIDGET \
-  (empathy_video_widget_get_type())
+  (empathy_video_widget_get_type ())
 #define EMPATHY_VIDEO_WIDGET(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST((obj), EMPATHY_TYPE_VIDEO_WIDGET, \
     EmpathyVideoWidget))
index 67966695ea91c56da87587882d25d7f18646a16c..d7c9263cb4031c2435e677b5630e564310716e11 100644 (file)
@@ -83,6 +83,7 @@ libempathy_headers =                          \
        empathy-irc-network.h                   \
        empathy-irc-network-manager.h           \
        empathy-irc-server.h                    \
+       empathy-location.h                      \
        empathy-log-manager.h                   \
        empathy-log-store.h                     \
        empathy-log-store-empathy.h             \
@@ -100,6 +101,12 @@ libempathy_headers =                               \
        empathy-types.h                         \
        empathy-utils.h
 
+check_c_sources = \
+    $(libempathy_la_SOURCES) \
+    $(libempathy_headers)
+include $(top_srcdir)/tools/check-coding-style.mk
+check-local: check-coding-style
+
 libempathy_includedir = $(includedir)/libempathy/
 libempathy_include_HEADERS =                   \
        $(libempathy_headers)                   \
index b84543176757fcddb7c169c1950270f0f5cd74d3..ed8ee996ffa8ce39d0be35e8f6d428a0cd52db56 100644 (file)
@@ -14,7 +14,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Cosimo Cecchi <cosimo.cecchi@collabora.co.uk>
  */
 
@@ -451,7 +451,7 @@ empathy_account_manager_init (EmpathyAccountManager *manager)
 
   priv->accounts = g_hash_table_new_full (empathy_account_hash,
                                           empathy_account_equal,
-                                          g_object_unref, 
+                                          g_object_unref,
                                           (GDestroyNotify) account_data_free);
   priv->connections = g_hash_table_new_full (g_direct_hash, g_direct_equal,
                                              g_object_unref, g_object_unref);
@@ -531,7 +531,7 @@ do_dispose (GObject *obj)
   G_OBJECT_CLASS (empathy_account_manager_parent_class)->dispose (obj);
 }
 
-static GObject*
+static GObject *
 do_constructor (GType type,
                 guint n_construct_params,
                 GObjectConstructParam *construct_params)
@@ -647,7 +647,7 @@ empathy_account_manager_class_init (EmpathyAccountManagerClass *klass)
                   g_cclosure_marshal_VOID__OBJECT,
                   G_TYPE_NONE,
                   1, TP_TYPE_CONNECTION);
-  
+
   g_type_class_add_private (oclass, sizeof (EmpathyAccountManagerPriv));
 }
 
@@ -800,7 +800,7 @@ empathy_account_manager_dup_connections (EmpathyAccountManager *manager)
   priv = GET_PRIV (manager);
 
   g_hash_table_iter_init (&iter, priv->connections);
-  while (g_hash_table_iter_next (&iter, &connection, NULL)) 
+  while (g_hash_table_iter_next (&iter, &connection, NULL))
     if (connection != NULL && tp_connection_is_ready (connection))
       ret = g_list_prepend (ret, g_object_ref (connection));
 
index ac90a34f7eb3600391bba5a0c6ffdd1789ca1298..11ca6aca26e61f5243944e2bd1fd2c2af19dc91c 100644 (file)
@@ -52,7 +52,7 @@ GType empathy_account_manager_get_type (void);
 /* public methods */
 
 EmpathyAccountManager * empathy_account_manager_dup_singleton (void);
-int                     empathy_account_manager_get_connected_accounts 
+int                     empathy_account_manager_get_connected_accounts
                                 (EmpathyAccountManager *manager);
 int                     empathy_account_manager_get_connecting_accounts
                                 (EmpathyAccountManager *manager);
index f412139be0a2347af4a5f63273887d06c7e1b555..d02b58327d645e953642ea3e9585228afbe2cbe1 100644 (file)
@@ -104,7 +104,7 @@ empathy_call_factory_class_init (
 
   object_class->constructor = empathy_call_factory_constructor;
   object_class->dispose = empathy_call_factory_dispose;
-  object_class->finalize = empathy_call_factory_finalize;  
+  object_class->finalize = empathy_call_factory_finalize;
 
   signals[NEW_CALL_HANDLER] =
     g_signal_new ("new-call-handler",
@@ -132,16 +132,28 @@ empathy_call_factory_get (void)
   return EMPATHY_CALL_FACTORY (call_factory);
 }
 
+/**
+ * empathy_call_factory_new_call_with_streams:
+ * @factory: an #EmpathyCallFactory
+ * @contact: an #EmpathyContact
+ * @initial_audio: if %TRUE the call will be started with audio
+ * @initial_video: if %TRUE the call will be started with video
+ *
+ * Initiate a new call with @contact.
+ */
 void
-empathy_call_factory_new_call (EmpathyCallFactory *factory,
-  EmpathyContact *contact)
+empathy_call_factory_new_call_with_streams (EmpathyCallFactory *factory,
+    EmpathyContact *contact,
+    gboolean initial_audio,
+    gboolean initial_video)
 {
   EmpathyCallHandler *handler;
 
   g_return_if_fail (factory != NULL);
   g_return_if_fail (contact != NULL);
 
-  handler = empathy_call_handler_new_for_contact (contact);
+  handler = empathy_call_handler_new_for_contact_with_streams (contact,
+    initial_audio, initial_video);
 
   g_signal_emit (factory, signals[NEW_CALL_HANDLER], 0,
     handler, TRUE);
@@ -149,6 +161,21 @@ empathy_call_factory_new_call (EmpathyCallFactory *factory,
   g_object_unref (handler);
 }
 
+
+/**
+ * empathy_call_factory_new_call:
+ * @factory: an #EmpathyCallFactory
+ * @contact: an #EmpathyContact
+ *
+ * Initiate a new call with @contact.
+ */
+void
+empathy_call_factory_new_call (EmpathyCallFactory *factory,
+    EmpathyContact *contact)
+{
+  empathy_call_factory_new_call_with_streams (factory, contact, TRUE, FALSE);
+}
+
 void
 empathy_call_factory_claim_channel (EmpathyCallFactory *factory,
   EmpathyDispatchOperation *operation)
index 13b16b6921d112ccd36c26b2ee9a3d86de155aef..27b2059730a87da579cdd16aefc8c4bdb3c088af 100644 (file)
@@ -44,7 +44,7 @@ GType empathy_call_factory_get_type (void);
 
 /* TYPE MACROS */
 #define EMPATHY_TYPE_CALL_FACTORY \
-  (empathy_call_factory_get_type())
+  (empathy_call_factory_get_type ())
 #define EMPATHY_CALL_FACTORY(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST((obj), EMPATHY_TYPE_CALL_FACTORY, \
     EmpathyCallFactory))
@@ -67,6 +67,9 @@ EmpathyCallFactory *empathy_call_factory_get (void);
 void empathy_call_factory_new_call (EmpathyCallFactory *factory,
   EmpathyContact *contact);
 
+void empathy_call_factory_new_call_with_streams (EmpathyCallFactory *factory,
+  EmpathyContact *contact, gboolean initial_audio, gboolean initial_video);
+
 void empathy_call_factory_claim_channel (EmpathyCallFactory *factory,
   EmpathyDispatchOperation *operation);
 
index f6cea961ab09303f2b135608538bc9fdc620e194..3172499d95a3c94d17c40c5b18e0bf33082e4ccd 100644 (file)
@@ -27,6 +27,8 @@
 #include <telepathy-farsight/channel.h>
 #include <telepathy-farsight/stream.h>
 
+#include <gst/farsight/fs-element-added-notifier.h>
+
 #include "empathy-call-handler.h"
 #include "empathy-dispatcher.h"
 #include "empathy-marshal.h"
@@ -49,7 +51,9 @@ static guint signals[LAST_SIGNAL] = {0};
 enum {
   PROP_TP_CALL = 1,
   PROP_GST_BUS,
-  PROP_CONTACT
+  PROP_CONTACT,
+  PROP_INITIAL_AUDIO,
+  PROP_INITIAL_VIDEO
 };
 
 /* private structure */
@@ -59,6 +63,9 @@ typedef struct {
   EmpathyTpCall *call;
   EmpathyContact *contact;
   TfChannel *tfchannel;
+  gboolean initial_audio;
+  gboolean initial_video;
+  FsElementAddedNotifier *fsnotifier;
 } EmpathyCallHandlerPriv;
 
 #define GET_PRIV(obj) EMPATHY_GET_PRIV (obj, EmpathyCallHandler)
@@ -91,6 +98,12 @@ empathy_call_handler_dispose (GObject *object)
 
   priv->call = NULL;
 
+  if (priv->fsnotifier != NULL)
+    {
+      g_object_unref (priv->fsnotifier);
+    }
+  priv->fsnotifier = NULL;
+
   /* release any references held by the object here */
   if (G_OBJECT_CLASS (empathy_call_handler_parent_class)->dispose)
     G_OBJECT_CLASS (empathy_call_handler_parent_class)->dispose (object);
@@ -138,6 +151,12 @@ empathy_call_handler_set_property (GObject *object,
       case PROP_TP_CALL:
         priv->call = g_value_dup_object (value);
         break;
+      case PROP_INITIAL_AUDIO:
+        priv->initial_audio = g_value_get_boolean (value);
+        break;
+      case PROP_INITIAL_VIDEO:
+        priv->initial_video = g_value_get_boolean (value);
+        break;
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
     }
@@ -157,6 +176,12 @@ empathy_call_handler_get_property (GObject *object,
       case PROP_TP_CALL:
         g_value_set_object (value, priv->call);
         break;
+      case PROP_INITIAL_AUDIO:
+        g_value_set_boolean (value, priv->initial_audio);
+        break;
+      case PROP_INITIAL_VIDEO:
+        g_value_set_boolean (value, priv->initial_video);
+        break;
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
     }
@@ -189,6 +214,20 @@ empathy_call_handler_class_init (EmpathyCallHandlerClass *klass)
     G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
   g_object_class_install_property (object_class, PROP_TP_CALL, param_spec);
 
+  param_spec = g_param_spec_boolean ("initial-audio",
+    "initial-audio", "Whether the call should start with audio",
+    TRUE,
+    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+  g_object_class_install_property (object_class, PROP_INITIAL_AUDIO,
+      param_spec);
+
+  param_spec = g_param_spec_boolean ("initial-video",
+    "initial-video", "Whether the call should start with video",
+    FALSE,
+    G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+  g_object_class_install_property (object_class, PROP_INITIAL_VIDEO,
+    param_spec);
+
   signals[CONFERENCE_ADDED] =
     g_signal_new ("conference-added", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_LAST, 0, NULL, NULL,
@@ -225,6 +264,14 @@ empathy_call_handler_class_init (EmpathyCallHandlerClass *klass)
       0);
 }
 
+/**
+ * empathy_call_handler_new_for_contact:
+ * @contact: an #EmpathyContact
+ *
+ * Creates a new #EmpathyCallHandler with contact @contact.
+ *
+ * Return value: a new #EmpathyCallHandler
+ */
 EmpathyCallHandler *
 empathy_call_handler_new_for_contact (EmpathyContact *contact)
 {
@@ -232,6 +279,27 @@ empathy_call_handler_new_for_contact (EmpathyContact *contact)
     "contact", contact, NULL));
 }
 
+/**
+ * empathy_call_handler_new_for_contact_with_streams:
+ * @contact: an #EmpathyContact
+ * @audio: if %TRUE the call will be started with audio
+ * @video: if %TRUE the call will be started with video
+ *
+ * Creates a new #EmpathyCallHandler with contact @contact.
+ *
+ * Return value: a new #EmpathyCallHandler
+ */
+EmpathyCallHandler *
+empathy_call_handler_new_for_contact_with_streams (EmpathyContact *contact,
+    gboolean audio, gboolean video)
+{
+  return EMPATHY_CALL_HANDLER (g_object_new (EMPATHY_TYPE_CALL_HANDLER,
+    "contact", contact,
+    "initial-audio", audio,
+    "initial-video", video,
+    NULL));
+}
+
 EmpathyCallHandler *
 empathy_call_handler_new_for_channel (EmpathyTpCall *call)
 {
@@ -251,11 +319,50 @@ empathy_call_handler_bus_message (EmpathyCallHandler *handler,
   tf_channel_bus_message (priv->tfchannel, message);
 }
 
+static void
+conference_element_added (FsElementAddedNotifier *notifier,
+    GstBin *bin,
+    GstElement *element,
+    gpointer user_data)
+{
+  GstElementFactory *factory;
+  const gchar *name;
+
+  factory = gst_element_get_factory (element);
+  name = gst_plugin_feature_get_name (GST_PLUGIN_FEATURE (factory));
+
+  if (!tp_strdiff (name, "x264enc"))
+    {
+      /* Ensure that the encoder creates the baseline profile */
+      g_object_set (element,
+          "byte-stream", TRUE,
+          "bframes", 0,
+          "b-adapt", FALSE,
+          "cabac", FALSE,
+          "dct8x8", FALSE,
+          NULL);
+    }
+  else if (!tp_strdiff (name, "gstrtpbin"))
+    {
+      /* Lower the jitterbuffer latency to make it more suitable for video
+       * conferencing */
+      g_object_set (element, "latency", 100, NULL);
+    }
+}
+
 static void
 empathy_call_handler_tf_channel_session_created_cb (TfChannel *tfchannel,
   FsConference *conference, FsParticipant *participant,
   EmpathyCallHandler *self)
 {
+  EmpathyCallHandlerPriv *priv = GET_PRIV (self);
+
+  priv->fsnotifier = fs_element_added_notifier_new ();
+  fs_element_added_notifier_add (priv->fsnotifier, GST_BIN (conference));
+
+  g_signal_connect (priv->fsnotifier, "element-added",
+    G_CALLBACK (conference_element_added), NULL);
+
   g_signal_emit (G_OBJECT (self), signals[CONFERENCE_ADDED], 0,
     GST_ELEMENT (conference));
 }
@@ -409,7 +516,8 @@ empathy_call_handler_request_cb (EmpathyDispatchOperation *operation,
 
   empathy_call_handler_start_tpfs (self);
 
-  empathy_tp_call_to (priv->call, priv->contact);
+  empathy_tp_call_to (priv->call, priv->contact,
+    priv->initial_audio, priv->initial_video);
 
   empathy_dispatch_operation_claim (operation);
 }
index db2396dc7cc54fc08e761ad9c4f9f9c9ffa93186..9a039f06abfc927016cf01c05504006d28101b03 100644 (file)
@@ -46,7 +46,7 @@ GType empathy_call_handler_get_type (void);
 
 /* TYPE MACROS */
 #define EMPATHY_TYPE_CALL_HANDLER \
-  (empathy_call_handler_get_type())
+  (empathy_call_handler_get_type ())
 #define EMPATHY_CALL_HANDLER(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST((obj), EMPATHY_TYPE_CALL_HANDLER, \
     EmpathyCallHandler))
@@ -64,6 +64,9 @@ GType empathy_call_handler_get_type (void);
 EmpathyCallHandler * empathy_call_handler_new_for_contact (
   EmpathyContact *contact);
 
+EmpathyCallHandler * empathy_call_handler_new_for_contact_with_streams (
+  EmpathyContact *contact, gboolean audio, gboolean video);
+
 EmpathyCallHandler * empathy_call_handler_new_for_channel (
   EmpathyTpCall *call);
 
index e57dae7d325503e0f0580c3168f6a0aa59526239..3bdc5f154788b190059f4b8c6ff7828732c725ec 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  *          Martyn Russell <martyn@imendio.com>
@@ -265,7 +265,7 @@ chatroom_manager_file_parse (EmpathyChatroomManager *manager,
 
        if (!empathy_xml_validate (doc, CHATROOMS_DTD_FILENAME)) {
                g_warning ("Failed to validate file:'%s'", filename);
-               xmlFreeDoc(doc);
+               xmlFreeDoc (doc);
                xmlFreeParserCtxt (ctxt);
                return FALSE;
        }
@@ -281,7 +281,7 @@ chatroom_manager_file_parse (EmpathyChatroomManager *manager,
 
        DEBUG ("Parsed %d chatrooms", g_list_length (priv->chatrooms));
 
-       xmlFreeDoc(doc);
+       xmlFreeDoc (doc);
        xmlFreeParserCtxt (ctxt);
 
        return TRUE;
index 4077a3ccd91fedb471a7e020c2b5a5bc7a403d36..76c71d955b437265ae99beff8c2d1526a69b3293 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  *          Martyn Russell <martyn@imendio.com>
index 6973a960a83000bad6c28d9fd77e26be8672ecb1..a9040f2df6e8f52d8b0cb1bbe8a22b61a03caba4 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Martyn Russell <martyn@imendio.com>
  */
@@ -101,7 +101,7 @@ contact_groups_file_parse (const gchar *filename)
 
        if (!empathy_xml_validate (doc, CONTACT_GROUPS_DTD_FILENAME)) {
                g_warning ("Failed to validate file:'%s'", filename);
-               xmlFreeDoc(doc);
+               xmlFreeDoc (doc);
                xmlFreeParserCtxt (ctxt);
                return;
        }
@@ -152,7 +152,7 @@ contact_groups_file_parse (const gchar *filename)
 
        DEBUG ("Parsed %d contact groups", g_list_length (groups));
 
-       xmlFreeDoc(doc);
+       xmlFreeDoc (doc);
        xmlFreeParserCtxt (ctxt);
 }
 
index e2e9810e3858543f05420894f50cd7a280b337a1..181b2875303c7a7cd6a0fc5755919be9f7a52a5d 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Martyn Russell <martyn@imendio.com>
  */
index 66c4514aff7748d7c001aca4048c7fbc3dccf358..f415ec19fe2ebc8298f05ac71dbe8e2aae32b4b4 100644 (file)
@@ -15,7 +15,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
index 2213a330b4808f393858d5ef74f3f617ff7e7cea..5ec069fcd63fbdb4df563df3e4b93eebb35d0f67 100644 (file)
@@ -14,7 +14,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Cosimo Cecchi <cosimo.cecchi@collabora.co.uk>
  */
 
index 76b943668fcd86c6f614e646c81ec3198aff9d91..51957d1d6687a4a140fc67f19b6868eba276e19a 100644 (file)
@@ -15,7 +15,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Cosimo Cecchi <cosimo.cecchi@collabora.co.uk>
  */
 
@@ -53,8 +53,8 @@ GType empathy_contact_monitor_get_type (void);
 void
 empathy_contact_monitor_set_iface (EmpathyContactMonitor *self,
                                    EmpathyContactList *iface);
-                                  
-EmpathyContactMonitor * 
+
+EmpathyContactMonitor *
 empathy_contact_monitor_new_for_iface (EmpathyContactList *iface);
 
 G_END_DECLS
index fe8cf8234f5016d0c488f29cc63be694d2b3ab5f..3d6432d56472f60aea695ca542402db15cd331fc 100644 (file)
@@ -50,6 +50,11 @@ typedef struct {
   EmpathyCapabilities capabilities;
   gboolean is_user;
   guint hash;
+  /* Location is composed of string keys and GValues.
+   * Example: a "city" key would have "Helsinki" as string GValue,
+   *          a "latitude" would have 65.0 as double GValue.
+   */
+  GHashTable *location;
 } EmpathyContactPriv;
 
 static void contact_finalize (GObject *object);
@@ -73,6 +78,7 @@ enum
   PROP_HANDLE,
   PROP_CAPABILITIES,
   PROP_IS_USER,
+  PROP_LOCATION
 };
 
 enum {
@@ -225,6 +231,15 @@ empathy_contact_class_init (EmpathyContactClass *class)
         FALSE,
         G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
+
+  g_object_class_install_property (object_class,
+      PROP_LOCATION,
+      g_param_spec_boxed ("location",
+        "Contact location",
+        "Physical location of the contact",
+        G_TYPE_HASH_TABLE,
+        G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+
   signals[PRESENCE_CHANGED] =
     g_signal_new ("presence-changed",
                   G_TYPE_FROM_CLASS (class),
@@ -246,6 +261,8 @@ empathy_contact_init (EmpathyContact *contact)
     EMPATHY_TYPE_CONTACT, EmpathyContactPriv);
 
   contact->priv = priv;
+
+  priv->location = NULL;
 }
 
 static void
@@ -264,6 +281,9 @@ contact_finalize (GObject *object)
   if (priv->avatar)
       empathy_avatar_unref (priv->avatar);
 
+  if (priv->location != NULL)
+      g_hash_table_unref (priv->location);
+
   G_OBJECT_CLASS (empathy_contact_parent_class)->finalize (object);
 }
 
@@ -991,7 +1011,7 @@ empathy_avatar_ref (EmpathyAvatar *avatar)
  *
  * Save the avatar to a file named filename
  *
- * Returns: %TRUE on success, %FALSE if an error occurred 
+ * Returns: %TRUE on success, %FALSE if an error occurred
  */
 gboolean
 empathy_avatar_save_to_file (EmpathyAvatar *self,
@@ -1001,3 +1021,59 @@ empathy_avatar_save_to_file (EmpathyAvatar *self,
   return g_file_set_contents (filename, self->data, self->len, error);
 }
 
+/**
+ * empathy_contact_get_location:
+ * @contact: an #EmpathyContact
+ *
+ * Returns the user's location if available.  The keys are defined in
+ * empathy-location.h. If the contact doesn't have location
+ * information, the GHashTable will be empthy. Use #g_hash_table_unref when
+ * you are done with the #GHashTable.
+ *
+ * It is composed of string keys and GValues.  Keys are
+ * defined in empathy-location.h such as #EMPATHY_LOCATION_COUNTRY.
+ * Example: a "city" key would have "Helsinki" as string GValue,
+ *          a "latitude" would have 65.0 as double GValue.
+ *
+ * Returns: a #GHashTable of location values
+ */
+GHashTable *
+empathy_contact_get_location (EmpathyContact *contact)
+{
+  EmpathyContactPriv *priv;
+
+  g_return_val_if_fail (EMPATHY_CONTACT (contact), NULL);
+
+  priv = GET_PRIV (contact);
+
+  return priv->location;
+}
+
+/**
+ * empathy_contact_set_location:
+ * @contact: an #EmpathyContact
+ * @location: a #GHashTable of the location
+ *
+ * Sets the user's location based on the location #GHashTable passed.
+ * It is composed of string keys and GValues.  Keys are
+ * defined in empathy-location.h such as #EMPATHY_LOCATION_COUNTRY.
+ * Example: a "city" key would have "Helsinki" as string GValue,
+ *          a "latitude" would have 65.0 as double GValue.
+ */
+void
+empathy_contact_set_location (EmpathyContact *contact,
+                              GHashTable *location)
+{
+  EmpathyContactPriv *priv;
+
+  g_return_if_fail (EMPATHY_CONTACT (contact));
+  g_return_if_fail (location != NULL);
+
+  priv = GET_PRIV (contact);
+
+  if (priv->location != NULL)
+    g_hash_table_unref (priv->location);
+
+  priv->location = g_hash_table_ref (location);
+  g_object_notify (G_OBJECT (contact), "location");
+}
index c10561d0f479e04ea5bf33c13c82e269c2d32f98..fecb966480757ebca2b0108f3fc5175b780b9ff2 100644 (file)
@@ -119,6 +119,10 @@ void empathy_avatar_unref (EmpathyAvatar *avatar);
 gboolean empathy_avatar_save_to_file (EmpathyAvatar *avatar,
     const gchar *filename, GError **error);
 
+GHashTable * empathy_contact_get_location (EmpathyContact *contact);
+void empathy_contact_set_location (EmpathyContact *contact,
+  GHashTable *location);
+
 G_END_DECLS
 
 #endif /* __EMPATHY_CONTACT_H__ */
index ec72bfcfcd85c6c39ed3f12cab51c835d39223a8..bcfa25debdfd64568c4397472abae532220b50b5 100644 (file)
@@ -45,6 +45,7 @@ static GDebugKey keys[] = {
   { "Irc", EMPATHY_DEBUG_IRC },
   { "Dispatcher", EMPATHY_DEBUG_DISPATCHER },
   { "Ft", EMPATHY_DEBUG_FT },
+  { "Location", EMPATHY_DEBUG_LOCATION },
   { "Other", EMPATHY_DEBUG_OTHER },
   { 0, }
 };
index 8b68fd24d0a6d8a7af29725cda93a33ee15cc61d..787264dd0c523575432e21ef891ee00ac2116980 100644 (file)
@@ -39,7 +39,8 @@ typedef enum
   EMPATHY_DEBUG_IRC = 1 << 5,
   EMPATHY_DEBUG_DISPATCHER = 1 << 6,
   EMPATHY_DEBUG_FT = 1 << 7,
-  EMPATHY_DEBUG_OTHER = 1 << 8,
+  EMPATHY_DEBUG_LOCATION = 1 << 8,
+  EMPATHY_DEBUG_OTHER = 1 << 9,
 } EmpathyDebugFlags;
 
 gboolean empathy_debug_flag_is_set (EmpathyDebugFlags flag);
index 3597bd0e8b6a706a52c2055c9c5c5fa226855b51..84ed36013ad04b05618d0e3e42958c5f25d382b6 100644 (file)
@@ -57,7 +57,7 @@ GType empathy_dispatch_operation_get_type (void);
 
 /* TYPE MACROS */
 #define EMPATHY_TYPE_DISPATCH_OPERATION \
-  (empathy_dispatch_operation_get_type())
+  (empathy_dispatch_operation_get_type ())
 #define EMPATHY_DISPATCH_OPERATION(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST((obj), EMPATHY_TYPE_DISPATCH_OPERATION, \
     EmpathyDispatchOperation))
index c8a0f9e60b043e5effd618a6ab3d71930267c841..88ee5bb0076312f1457259b783f4e5f967eba921 100644 (file)
@@ -13,7 +13,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
@@ -452,7 +452,7 @@ dispatcher_start_dispatching (EmpathyDispatcher *self,
             dispatch_operation_ready_cb (operation, dispatcher);
             break;
           default:
-            g_assert_not_reached();
+            g_assert_not_reached ();
         }
 
     }
@@ -522,7 +522,7 @@ dispatcher_connection_new_channel (EmpathyDispatcher *dispatcher,
   if (g_hash_table_lookup (cd->dispatching_channels, object_path) != NULL)
     return;
 
-  /* Should never occur, but just in case a CM fires spurious NewChannel(s) 
+  /* Should never occur, but just in case a CM fires spurious NewChannel(s)
    * signals */
   if (g_hash_table_lookup (cd->outstanding_channels, object_path) != NULL)
     return;
@@ -832,7 +832,7 @@ dispatcher_new_connection_cb (EmpathyAccountManager *manager,
   g_ptr_array_free (capabilities, TRUE);
 }
 
-static GObject*
+static GObject *
 dispatcher_constructor (GType type,
                         guint n_construct_params,
                         GObjectConstructParam *construct_params)
@@ -1086,7 +1086,7 @@ dispatcher_request_channel_cb (TpConnection *connection,
                                GObject *weak_object)
 {
   EmpathyDispatcher *dispatcher = EMPATHY_DISPATCHER (weak_object);
-  DispatcherRequestData *request_data = (DispatcherRequestData*) user_data;
+  DispatcherRequestData *request_data = (DispatcherRequestData *) user_data;
 
   dispatcher_connection_new_requested_channel (dispatcher,
     request_data, object_path, NULL, error);
@@ -1116,7 +1116,7 @@ empathy_dispatcher_chat_with_contact (EmpathyContact *contact,
 
   g_return_if_fail (EMPATHY_IS_CONTACT (contact));
 
-  dispatcher = empathy_dispatcher_dup_singleton();
+  dispatcher = empathy_dispatcher_dup_singleton ();
   priv = GET_PRIV (dispatcher);
 
   connection = empathy_contact_get_connection (contact);
@@ -1238,7 +1238,7 @@ empathy_dispatcher_join_muc (TpConnection *connection,
   g_return_if_fail (TP_IS_CONNECTION (connection));
   g_return_if_fail (!EMP_STR_EMPTY (roomname));
 
-  dispatcher = empathy_dispatcher_dup_singleton();
+  dispatcher = empathy_dispatcher_dup_singleton ();
   priv = GET_PRIV (dispatcher);
 
   connection_data = g_hash_table_lookup (priv->connections, connection);
@@ -1268,7 +1268,7 @@ dispatcher_create_channel_cb (TpConnection *connect,
                               GObject *weak_object)
 {
   EmpathyDispatcher *dispatcher = EMPATHY_DISPATCHER (weak_object);
-  DispatcherRequestData *request_data = (DispatcherRequestData*) user_data;
+  DispatcherRequestData *request_data = (DispatcherRequestData *) user_data;
 
   dispatcher_connection_new_requested_channel (dispatcher,
     request_data, object_path, properties, error);
@@ -1327,7 +1327,7 @@ empathy_dispatcher_send_file_to_contact (EmpathyContact *contact,
                                          EmpathyDispatcherRequestCb *callback,
                                          gpointer user_data)
 {
-  EmpathyDispatcher *dispatcher = empathy_dispatcher_dup_singleton();
+  EmpathyDispatcher *dispatcher = empathy_dispatcher_dup_singleton ();
   EmpathyDispatcherPriv *priv = GET_PRIV (dispatcher);
   TpConnection *connection = empathy_contact_get_connection (contact);
   ConnectionData *connection_data =
index eeb183892e64ddab5ec42931ff1431997d01a051..d52ac9df212fa0f53c2d89fc856bcc7439ec6a52 100644 (file)
@@ -15,7 +15,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
@@ -31,7 +31,7 @@
 #include <libmissioncontrol/mc-enum-types.h>
 
 #include "empathy-idle.h"
-#include "empathy-utils.h" 
+#include "empathy-utils.h"
 
 #define DEBUG_FLAG EMPATHY_DEBUG_OTHER
 #include "empathy-debug.h"
index ce1f90b235ad2bce4f6c2fac774fdfcd7624d0fc..ad726800a6d167114fcaa25dc4cee02dd717255c 100644 (file)
@@ -611,7 +611,7 @@ irc_network_manager_file_parse (EmpathyIrcNetworkManager *self,
       irc_network_manager_parse_irc_network (self, node, user_defined);
     }
 
-  xmlFreeDoc(doc);
+  xmlFreeDoc (doc);
   xmlFreeParserCtxt (ctxt);
 
   return TRUE;
index 2f433e4efcf58a8a50ddc1a8beb25487936b49a3..9b75f0e827ee221b1f8fe6b94d09d795190524f2 100644 (file)
@@ -13,8 +13,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Guillaume Desmottes <gdesmott@gnome.org>
  */
diff --git a/libempathy/empathy-location.h b/libempathy/empathy-location.h
new file mode 100644 (file)
index 0000000..a5d62d3
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2008, 2009 Collabora Ltd.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * Authors: Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
+ */
+
+#ifndef __EMPATHY_LOCATION_H__
+#define __EMPATHY_LOCATION_H__
+
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+/* These keys come from the Telepathy-Spec 0.7.20 */
+#define EMPATHY_LOCATION_COUNTRY_CODE "countrycode"
+#define EMPATHY_LOCATION_COUNTRY "country"
+#define EMPATHY_LOCATION_REGION "region"
+#define EMPATHY_LOCATION_LOCALITY "locality"
+#define EMPATHY_LOCATION_AREA "area"
+#define EMPATHY_LOCATION_POSTAL_CODE "postalcode"
+#define EMPATHY_LOCATION_STREET "street"
+#define EMPATHY_LOCATION_BUILDING "building"
+#define EMPATHY_LOCATION_FLOOR "floor"
+#define EMPATHY_LOCATION_ROOM "room"
+#define EMPATHY_LOCATION_TEXT "text"
+#define EMPATHY_LOCATION_DESCRIPTION "description"
+#define EMPATHY_LOCATION_URI "uri"
+#define EMPATHY_LOCATION_LAT "lat"
+#define EMPATHY_LOCATION_LON "lon"
+#define EMPATHY_LOCATION_ALT "alt"
+#define EMPATHY_LOCATION_ACCURACY_LEVEL "accuracy-level"
+#define EMPATHY_LOCATION_ERROR "error"
+#define EMPATHY_LOCATION_VERTICAL_ERROR_M "vertical-error-m"
+#define EMPATHY_LOCATION_HORIZONTAL_ERROR_M "horizontal-error-m"
+#define EMPATHY_LOCATION_SPEED "speed"
+#define EMPATHY_LOCATION_BEARING "bearing"
+#define EMPATHY_LOCATION_CLIMB "climb"
+#define EMPATHY_LOCATION_TIMESTAMP "timestamp"
+
+G_END_DECLS
+
+#endif /* __EMPATHY_LOCATION_H__ */
index e2423ebf2c2b098fb45bb68ca264d253a5f39d0e..b4c1f1a9232691bec0e1ecc09e3a2e4cfae309cc 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
index f6a9290bddee193f9945e3d53f186e9d04a56306..da7be4a435759086bc667f097ee0813ca4ec1098 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
index b74b5e177dbb7fb2b41bf07e791c0ec245812448..94f4d14579718dcb6f791bb1968676e3d852eb1e 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  *          Jonny Lamb <jonny.lamb@collabora.co.uk>
index 3bc9997c08440b1cfa30417678d4a00a68f1eed5..e77076a5b1ab11b8f683e527018f527c570df25f 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  *          Jonny Lamb <jonny.lamb@collabora.co.uk>
index ba5a9a09dbc80b888cc17c9e88b041aecfa8fcc9..21a881559548966b4a1b02587880415ec77b5ba6 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Jonny Lamb <jonny.lamb@collabora.co.uk>
  */
index 6a253b21b10585b4cacf2c531e83b106b02dcc25..db698c4b0a2749524e8559a9ade1422040c3bc84 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Jonny Lamb <jonny.lamb@collabora.co.uk>
  */
index 6d74c07225e14ede004eb8b18df8f94b21c6e12b..d020b72e4de23fdb2435edf0e44693d9bb81848c 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
index 28015092331c136289ef0db0b1285de8c03b4ed4..2172c9784f69320e05d2ce300163440c8f81e7b7 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
index e7b8804ad6bc60168a006dd343febe8f6b209796..315794070c2e894565d9fcf8eb5083585ea12f8f 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Author: Martyn Russell <martyn@imendio.com>
  */
@@ -104,7 +104,7 @@ status_presets_file_parse (const gchar *filename)
 
        if (!empathy_xml_validate (doc, STATUS_PRESETS_DTD_FILENAME)) {
                g_warning ("Failed to validate file:'%s'", filename);
-               xmlFreeDoc(doc);
+               xmlFreeDoc (doc);
                xmlFreeParserCtxt (ctxt);
                return;
        }
@@ -215,7 +215,7 @@ status_presets_file_save (void)
                xmlNodePtr  subnode;
                xmlChar    *state;
 
-               state = (gchar*) empathy_presence_to_str (default_preset->state);
+               state = (gchar *) empathy_presence_to_str (default_preset->state);
 
                subnode = xmlNewTextChild (root, NULL, "default",
                                           default_preset->status);
@@ -228,7 +228,7 @@ status_presets_file_save (void)
                xmlChar      *state;
 
                sp = l->data;
-               state = (gchar*) empathy_presence_to_str (sp->state);
+               state = (gchar *) empathy_presence_to_str (sp->state);
 
                count[sp->state]++;
                if (count[sp->state] > STATUS_PRESETS_MAX_EACH) {
index 06b6c79120fcfc9b26648c47057da4d9217907f3..e562ada43cd0c3645f14ee9f09bf87937ed69498 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Author: Martyn Russell <martyn@imendio.com>
  */
index 9eec8adc0cea0795d4a4e746eacb3a8b41a25de9..15b5c30a453c269fbc435f74d9949a08f20422ee 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Richard Hult <richard@imendio.com>
  */
index ce520cdf9ab4f6082f8517a1a3864a7db2c849d1..a6737386c0475e3b21903829938837c6113516ca 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
 #ifndef __EMPATHY_TIME_H__
index a5c0003c56741182ad665d9292d61a811899fd9e..2971e0ffc09fced718fe655b8767b2c80c986e1e 100644 (file)
@@ -317,9 +317,13 @@ tp_call_update_status (EmpathyTpCall *call)
 }
 
 void
-empathy_tp_call_to (EmpathyTpCall *call, EmpathyContact *contact)
+empathy_tp_call_to (EmpathyTpCall *call, EmpathyContact *contact,
+  gboolean audio, gboolean video)
 {
   EmpathyTpCallPriv *priv = GET_PRIV (call);
+  EmpathyCapabilities capabilities = 0;
+
+  g_assert (audio || video);
 
   priv->contact = g_object_ref (contact);
   priv->is_incoming = FALSE;
@@ -327,7 +331,13 @@ empathy_tp_call_to (EmpathyTpCall *call, EmpathyContact *contact)
   g_object_notify (G_OBJECT (call), "is-incoming");
   g_object_notify (G_OBJECT (call), "contact");
   g_object_notify (G_OBJECT (call), "status");
-  tp_call_request_streams_for_capabilities (call, EMPATHY_CAPABILITIES_AUDIO);
+
+  if (video)
+    capabilities |= EMPATHY_CAPABILITIES_VIDEO;
+  if (audio)
+    capabilities |= EMPATHY_CAPABILITIES_AUDIO;
+
+  tp_call_request_streams_for_capabilities (call, capabilities);
 }
 
 static void
@@ -351,7 +361,7 @@ tp_call_async_cb (TpProxy *proxy,
                   GObject *call)
 {
   if (error)
-      DEBUG ("Error %s: %s", (gchar*) user_data, error->message);
+      DEBUG ("Error %s: %s", (gchar *) user_data, error->message);
 }
 
 static GObject *
index 08177342378c358f8e2d54c5b2600921d5ba78f6..406ed1c3f6ec18665c0219de7766f2ba318cebf1 100644 (file)
@@ -76,7 +76,8 @@ GType empathy_tp_call_get_type (void) G_GNUC_CONST;
 EmpathyTpCall *empathy_tp_call_new (TpChannel *channel);
 void empathy_tp_call_close (EmpathyTpCall *call);
 
-void empathy_tp_call_to (EmpathyTpCall *call, EmpathyContact *contact);
+void empathy_tp_call_to (EmpathyTpCall *call, EmpathyContact *contact,
+  gboolean audio, gboolean video);
 
 void empathy_tp_call_accept_incoming_call (EmpathyTpCall *call);
 void empathy_tp_call_request_video_stream_direction (EmpathyTpCall *call,
index 2f951e04053baafab9ddd8aaba085019c00a932e..69554bd8a79963756dfd838187ad3d1b3beff9cf 100644 (file)
@@ -15,7 +15,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
@@ -108,7 +108,7 @@ tp_chat_async_cb (TpChannel *proxy,
                  GObject *weak_object)
 {
        if (error) {
-               DEBUG ("Error %s: %s", (gchar*) user_data, error->message);
+               DEBUG ("Error %s: %s", (gchar *) user_data, error->message);
        }
 }
 
@@ -275,7 +275,7 @@ tp_chat_received_cb (TpChannel   *channel,
        if (priv->listing_pending_messages) {
                return;
        }
+
        DEBUG ("Message received: %s", message_body);
 
        if (message_flags & TP_CHANNEL_TEXT_MESSAGE_FLAG_NON_TEXT_CONTENT &&
@@ -911,7 +911,7 @@ tp_chat_group_members_changed_cb (TpChannel     *self,
        /* Request added contacts */
        if (added->len > 0) {
                empathy_tp_contact_factory_get_from_handles (priv->factory,
-                       added->len, (TpHandle*) added->data,
+                       added->len, (TpHandle *) added->data,
                        tp_chat_got_added_contacts_cb, NULL, NULL,
                        G_OBJECT (chat));
        }
@@ -995,7 +995,7 @@ tp_chat_constructor (GType                  type,
                members = tp_channel_group_get_members (priv->channel);
                handles = tp_intset_to_array (members);         
                empathy_tp_contact_factory_get_from_handles (priv->factory,
-                       handles->len, (TpHandle*) handles->data,
+                       handles->len, (TpHandle *) handles->data,
                        tp_chat_got_added_contacts_cb, NULL, NULL, chat);
 
                g_signal_connect (priv->channel, "group-members-changed",
@@ -1360,7 +1360,7 @@ empathy_tp_chat_acknowledge_messages (EmpathyTpChat *chat,
        g_return_if_fail (EMPATHY_IS_TP_CHAT (chat));
        g_return_if_fail (priv->ready);
 
-       length = g_list_length ((GList *)messages);
+       length = g_list_length ((GList *) messages);
 
        if (length == 0)
                return;
index fadc5f636ea06db8cb7f14d844d159df686ac6f1..f7d2b58a19fd7f2d5a3100d109d0cbe349fde116 100644 (file)
@@ -56,7 +56,7 @@ GType          empathy_tp_chat_get_type             (void) G_GNUC_CONST;
 EmpathyTpChat *empathy_tp_chat_new                  (TpChannel          *channel);
 void           empathy_tp_chat_close                (EmpathyTpChat      *chat);
 const gchar *  empathy_tp_chat_get_id               (EmpathyTpChat      *chat);
-EmpathyContact*empathy_tp_chat_get_remote_contact   (EmpathyTpChat      *chat);
+EmpathyContact *empathy_tp_chat_get_remote_contact   (EmpathyTpChat      *chat);
 TpChannel *    empathy_tp_chat_get_channel          (EmpathyTpChat      *chat);
 TpConnection * empathy_tp_chat_get_connection       (EmpathyTpChat      *chat);
 gboolean       empathy_tp_chat_is_ready             (EmpathyTpChat      *chat);
index 7735b0f1a19344d16da0573ccc33ca31779e8301..d8d9597ce07eb7a594d96072648bdee12be5e82e 100644 (file)
@@ -15,7 +15,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
@@ -121,6 +121,17 @@ tp_contact_factory_set_aliases_cb (TpConnection *connection,
        }
 }
 
+static void
+tp_contact_factory_set_location_cb (TpProxy *proxy,
+                                   const GError *error,
+                                   gpointer user_data,
+                                   GObject *weak_object)
+{
+       if (error != NULL) {
+               DEBUG ("Error setting location: %s", error->message);
+       }
+}
+
 static void
 tp_contact_factory_set_avatar_cb (TpConnection *connection,
                                  const gchar  *token,
@@ -379,6 +390,36 @@ tp_contact_factory_got_capabilities (EmpathyTpContactFactory *tp_factory,
        g_ptr_array_free (capabilities, TRUE);
 }
 
+static void
+tp_contact_factory_got_locations (TpProxy                 *tp_proxy,
+                                 GHashTable              *locations,
+                                 const GError            *error,
+                                 gpointer                 user_data,
+                                 GObject                 *weak_object)
+{
+       GHashTableIter iter;
+       gpointer key, value;
+       EmpathyTpContactFactory *tp_factory;
+
+       tp_factory = EMPATHY_TP_CONTACT_FACTORY (user_data);
+       if (error != NULL) {
+               DEBUG ("Error: %s", error->message);
+               return;
+       }
+
+       g_hash_table_iter_init (&iter, locations);
+       while (g_hash_table_iter_next (&iter, &key, &value)) {
+               guint           handle = GPOINTER_TO_INT (key);
+               GHashTable     *location = value;
+               EmpathyContact *contact;
+
+               contact = tp_contact_factory_find_by_handle (tp_factory, handle);
+               if (contact != NULL) {
+                       empathy_contact_set_location (contact, location);
+               }
+       }
+}
+
 static void
 tp_contact_factory_capabilities_changed_cb (TpConnection    *connection,
                                            const GPtrArray *capabilities,
@@ -409,6 +450,24 @@ tp_contact_factory_capabilities_changed_cb (TpConnection    *connection,
        }
 }
 
+static void
+tp_contact_factory_location_updated_cb (TpProxy      *proxy,
+                                       guint         handle,
+                                       GHashTable   *location,
+                                       gpointer      user_data,
+                                       GObject      *weak_object)
+{
+       EmpathyTpContactFactory *tp_factory = EMPATHY_TP_CONTACT_FACTORY (weak_object);
+       EmpathyContact          *contact;
+
+       contact = tp_contact_factory_find_by_handle (tp_factory, handle);
+
+       if (contact == NULL)
+               return;
+
+       empathy_contact_set_location (contact, location);
+}
+
 static void
 get_requestable_channel_classes_cb (TpProxy *connection,
                                    const GValue *value,
@@ -504,7 +563,7 @@ tp_contact_factory_add_contact (EmpathyTpContactFactory *tp_factory,
        EmpathyTpContactFactoryPriv *priv = GET_PRIV (tp_factory);
        TpHandle self_handle;
        TpHandle handle;
-       GArray handles = {(gchar*) &handle, 1};
+       GArray handles = {(gchar *) &handle, 1};
        GHashTable *tokens;
        GPtrArray *capabilities;
        GError *error = NULL;
@@ -556,6 +615,17 @@ tp_contact_factory_add_contact (EmpathyTpContactFactory *tp_factory,
        tp_contact_factory_got_capabilities (tp_factory, capabilities, error);
        g_clear_error (&error);
 
+       if (tp_proxy_has_interface_by_id (TP_PROXY (priv->connection),
+               EMP_IFACE_QUARK_CONNECTION_INTERFACE_LOCATION)) {
+               emp_cli_connection_interface_location_call_get_locations (TP_PROXY (priv->connection),
+                                                                        -1,
+                                                                        &handles,
+                                                                        tp_contact_factory_got_locations,
+                                                                        tp_factory,
+                                                                        NULL,
+                                                                        NULL);
+       }
+
        DEBUG ("Contact added: %s (%d)",
                empathy_contact_get_id (contact),
                empathy_contact_get_handle (contact));
@@ -918,7 +988,7 @@ empathy_tp_contact_factory_set_avatar (EmpathyTpContactFactory *tp_factory,
        if (data && size > 0 && size < G_MAXUINT) {
                GArray avatar;
 
-               avatar.data = (gchar*) data;
+               avatar.data = (gchar *) data;
                avatar.len = size;
 
                DEBUG ("Setting avatar on connection %s",
@@ -943,6 +1013,24 @@ empathy_tp_contact_factory_set_avatar (EmpathyTpContactFactory *tp_factory,
        }
 }
 
+void
+empathy_tp_contact_factory_set_location (EmpathyTpContactFactory *tp_factory,
+                                        GHashTable              *location)
+{
+       EmpathyTpContactFactoryPriv *priv = GET_PRIV (tp_factory);
+
+       g_return_if_fail (EMPATHY_IS_TP_CONTACT_FACTORY (tp_factory));
+
+       DEBUG ("Setting location");
+
+       emp_cli_connection_interface_location_call_set_location (TP_PROXY (priv->connection),
+                                                                -1,
+                                                                location,
+                                                                tp_contact_factory_set_location_cb,
+                                                                NULL, NULL,
+                                                                G_OBJECT (tp_factory));
+}
+
 static void
 tp_contact_factory_get_property (GObject    *object,
                                 guint       param_id,
@@ -1049,6 +1137,12 @@ tp_contact_factory_constructor (GType                  type,
                                                                                  NULL);
 
 
+       emp_cli_connection_interface_location_connect_to_location_updated (TP_PROXY (priv->connection),
+                                                                          tp_contact_factory_location_updated_cb,
+                                                                          NULL, NULL,
+                                                                          G_OBJECT (tp_factory),
+                                                                          NULL);
+
        /* FIXME: This should be moved to TpConnection */
        tp_cli_connection_interface_avatars_call_get_avatar_requirements (priv->connection,
                                                                          -1,
index 91ff2f9e7209a5677ebed6c40e880045d2376eb8..ed11bf7e40830e0f5a37a499f88411c63ba9f862 100644 (file)
@@ -108,7 +108,8 @@ void                     empathy_tp_contact_factory_set_avatar       (EmpathyTpC
                                                                      const gchar             *data,
                                                                      gsize                    size,
                                                                      const gchar             *mime_type);
-
+void                     empathy_tp_contact_factory_set_location     (EmpathyTpContactFactory *tp_factory,
+                                                                     GHashTable              *location);
 G_END_DECLS
 
 #endif /* __EMPATHY_TP_CONTACT_FACTORY_H__ */
index dd160224c90a28a28a949e6191d5b99f6315a4a5..116b8cf7184dd4952271457d63ef7e8366bff1c2 100644 (file)
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
@@ -336,7 +336,7 @@ tp_contact_list_got_added_members_cb (EmpathyTpContactFactory *factory,
 
                /* This contact is now member, implicitly accept pending. */
                if (g_hash_table_lookup (priv->pendings, GUINT_TO_POINTER (handle))) {
-                       GArray handles = {(gchar*) &handle, 1};
+                       GArray handles = {(gchar *) &handle, 1};
 
                        tp_cli_channel_interface_group_call_add_members (priv->publish,
                                -1, &handles, NULL, NULL, NULL, NULL, NULL);
@@ -370,7 +370,7 @@ tp_contact_list_got_local_pending_cb (EmpathyTpContactFactory *factory,
 
                handle = empathy_contact_get_handle (contact);
                if (g_hash_table_lookup (priv->members, GUINT_TO_POINTER (handle))) {
-                       GArray handles = {(gchar*) &handle, 1};
+                       GArray handles = {(gchar *) &handle, 1};
 
                        /* This contact is already member, auto accept. */
                        tp_cli_channel_interface_group_call_add_members (priv->publish,
@@ -446,7 +446,7 @@ tp_contact_list_publish_group_members_changed_cb (TpChannel     *channel,
         * member, otherwise add in pendings. */
        if (local_pending->len > 0) {
                empathy_tp_contact_factory_get_from_handles (priv->factory,
-                       local_pending->len, (TpHandle*) local_pending->data,
+                       local_pending->len, (TpHandle *) local_pending->data,
                        tp_contact_list_got_local_pending_cb, NULL, NULL,
                        G_OBJECT (list));
        }
@@ -520,7 +520,7 @@ tp_contact_list_subscribe_group_members_changed_cb (TpChannel     *channel,
        /* We now get the presence of those contacts, add them to members */
        if (added->len > 0) {
                empathy_tp_contact_factory_get_from_handles (priv->factory,
-                       added->len, (TpHandle*) added->data,
+                       added->len, (TpHandle *) added->data,
                        tp_contact_list_got_added_members_cb, NULL, NULL,
                        G_OBJECT (list));
        }
@@ -531,11 +531,11 @@ tp_contact_list_subscribe_group_members_changed_cb (TpChannel     *channel,
                        g_array_index (added, TpHandle, i));
        }
 
-       /* We want those contacts in our contact list but we don't get their 
+       /* We want those contacts in our contact list but we don't get their
         * presence yet. Add to members anyway. */
        if (remote_pending->len > 0) {
                empathy_tp_contact_factory_get_from_handles (priv->factory,
-                       remote_pending->len, (TpHandle*) remote_pending->data,
+                       remote_pending->len, (TpHandle *) remote_pending->data,
                        tp_contact_list_got_added_members_cb, NULL, NULL,
                        G_OBJECT (list));
        }
index c6cf6cb4abe3c4f44a155469ea5ab27a57361a35..0167b6a698786642b89ca35fa6761744906ce688 100644 (file)
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
index 5999663fb2b6ab7e46af12f3367ab8b67adddc24..417a287d35ed0f758537a474af4574cdec4d468f 100644 (file)
@@ -15,7 +15,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
@@ -42,6 +42,7 @@ typedef struct {
        TpChannel    *channel;
        McAccount    *account;
        gboolean      is_listing;
+       gboolean      start_requested;
 } EmpathyTpRoomlistPriv;
 
 enum {
@@ -235,6 +236,28 @@ tp_roomlist_invalidated_cb (TpChannel         *channel,
        g_signal_emit (list, signals[DESTROY], 0);
 }
 
+static void
+call_list_rooms_cb (TpChannel *proxy,
+                   const GError *error,
+                   gpointer user_data,
+                   GObject *weak_object)
+{
+       if (error != NULL) {
+               DEBUG ("Error listing rooms: %s", error->message);
+       }
+}
+
+static void
+stop_listing_cb (TpChannel *proxy,
+                const GError *error,
+                gpointer user_data,
+                GObject *weak_object)
+{
+       if (error != NULL) {
+               DEBUG ("Error on stop listing: %s", error->message);
+       }
+}
+
 static void
 channel_ready_cb (TpChannel *channel,
                  const GError *error,
@@ -269,6 +292,11 @@ channel_ready_cb (TpChannel *channel,
                                                              NULL, NULL,
                                                              G_OBJECT (list));
 
+       if (priv->start_requested == TRUE) {
+               tp_cli_channel_type_room_list_call_list_rooms (priv->channel, -1,
+                       call_list_rooms_cb, NULL, NULL, NULL);
+               priv->start_requested = FALSE;
+       }
 }
 
 static void
@@ -434,6 +462,8 @@ empathy_tp_roomlist_init (EmpathyTpRoomlist *list)
                EMPATHY_TYPE_TP_ROOMLIST, EmpathyTpRoomlistPriv);
 
        list->priv = priv;
+       priv->start_requested = FALSE;
+       priv->is_listing = FALSE;
 }
 
 EmpathyTpRoomlist *
@@ -474,10 +504,12 @@ empathy_tp_roomlist_start (EmpathyTpRoomlist *list)
        EmpathyTpRoomlistPriv *priv = GET_PRIV (list);
 
        g_return_if_fail (EMPATHY_IS_TP_ROOMLIST (list));
-       g_return_if_fail (TP_IS_CHANNEL (priv->channel));
-
-       tp_cli_channel_type_room_list_call_list_rooms (priv->channel, -1,
-                                                      NULL, NULL, NULL, NULL);
+       if (priv->channel != NULL) {
+               tp_cli_channel_type_room_list_call_list_rooms (priv->channel, -1,
+                       call_list_rooms_cb, NULL, NULL, NULL);
+       } else {
+               priv->start_requested = TRUE;
+       }
 }
 
 void
@@ -489,6 +521,6 @@ empathy_tp_roomlist_stop (EmpathyTpRoomlist *list)
        g_return_if_fail (TP_IS_CHANNEL (priv->channel));
 
        tp_cli_channel_type_room_list_call_stop_listing (priv->channel, -1,
-                                                        NULL, NULL, NULL, NULL);
+                                                        stop_listing_cb, NULL, NULL, NULL);
 }
 
index 1946881afc447eec3f06851cb52d3116d59cff64..601ad0626ba7048f473294b063bc15e71fa15205 100644 (file)
@@ -146,7 +146,7 @@ tp_tube_async_cb (TpChannel *channel,
     GObject *tube)
 {
   if (error)
-      DEBUG ("Error %s: %s", (gchar*) user_data, error->message);
+      DEBUG ("Error %s: %s", (gchar *) user_data, error->message);
 }
 
 static void
@@ -553,7 +553,7 @@ tp_tube_accept_stream_cb (TpProxy *proxy,
     GObject *weak_object)
 {
   EmpathyTpTube *tube = EMPATHY_TP_TUBE (weak_object);
-  EmpathyTpTubeAcceptData *data = (EmpathyTpTubeAcceptData *)user_data;
+  EmpathyTpTubeAcceptData *data = (EmpathyTpTubeAcceptData *) user_data;
   EmpathyTpTubeAddress eaddress;
 
   eaddress.type = data->type;
index a73cd4765dd3d2edd8c189ae715f2413ba36f13d..bbb7e11a66ed26da2242c987bb3896a3b7938458 100644 (file)
@@ -14,7 +14,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  *          Elliot Fairweather <elliot.fairweather@collabora.co.uk>
  */
index b124924d4efd59d2d26b0fd6bd4d7b275c857789..7c633b166974d5d23666c900a4b66a9a1ce1ec14 100644 (file)
@@ -15,7 +15,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Cosimo Cecchi <cosimo.cecchi@collabora.co.uk>
  */
 
index 210c3504856b90d7eeec2587beb003f6c921009c..c0d4f12e43aa28210f9f3b404c8b8e713c34fea9 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Richard Hult <richard@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
@@ -140,7 +140,7 @@ empathy_xml_validate (xmlDoc      *doc,
 }
 
 xmlNodePtr
-empathy_xml_node_get_child (xmlNodePtr   node, 
+empathy_xml_node_get_child (xmlNodePtr   node,
                           const gchar *child_name)
 {
        xmlNodePtr l;
@@ -158,7 +158,7 @@ empathy_xml_node_get_child (xmlNodePtr   node,
 }
 
 xmlChar *
-empathy_xml_node_get_child_content (xmlNodePtr   node, 
+empathy_xml_node_get_child_content (xmlNodePtr   node,
                                   const gchar *child_name)
 {
        xmlNodePtr l;
@@ -175,7 +175,7 @@ empathy_xml_node_get_child_content (xmlNodePtr   node,
 }
 
 xmlNodePtr
-empathy_xml_node_find_child_prop_value (xmlNodePtr   node, 
+empathy_xml_node_find_child_prop_value (xmlNodePtr   node,
                                       const gchar *prop_name,
                                       const gchar *prop_value)
 {
@@ -373,7 +373,7 @@ empathy_check_available_state (void)
 
        if (presence != MC_PRESENCE_AVAILABLE &&
                presence != MC_PRESENCE_UNSET) {
-               return FALSE;    
+               return FALSE;
        }
 
        return TRUE;
index e6bcfebfc68e017145953ee407a3b5d00effd520..0b056b9426ec49031b1ab6027e535ea75b854018 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Richard Hult <richard@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
@@ -37,7 +37,7 @@
 
 #include "empathy-contact.h"
 
-#define EMPATHY_GET_PRIV(obj,type) ((type##Priv*) ((type*)obj)->priv)
+#define EMPATHY_GET_PRIV(obj,type) ((type##Priv *) ((type *) obj)->priv)
 #define EMP_STR_EMPTY(x) ((x) == NULL || (x)[0] == '\0')
 
 G_BEGIN_DECLS
index f6f7b43f9c814ec92de0c56f1011c65d203f5e05..039fa077ce6279155076d2d0c2b39f776483d790 100644 (file)
@@ -53,6 +53,7 @@ sq
 sr
 sr@latin
 sv
+ta
 th
 tr
 uk
index c29bb60c77db85e62216432958a7340666198d80..ac7fe0682055ea8efa95893edd00e06de312402d 100644 (file)
@@ -78,4 +78,4 @@ src/empathy-preferences.c
 src/empathy-status-icon.c
 [type: gettext/glade]src/empathy-status-icon.ui
 src/empathy-tube-dispatch.c
-
+[type: gettext/glade]src/empathy-call-window-fullscreen.ui
index f79c04da88e89e97ecf32ecc96aa014912aa1340..1d21fbc20b89db04aad8f3469338862835be309e 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -8,8 +8,8 @@ msgstr ""
 "Project-Id-Version: empathy.HEAD\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
 "product=empathy&component=general\n"
-"POT-Creation-Date: 2009-05-01 10:05+0000\n"
-"PO-Revision-Date: 2009-05-01 19:17+0200\n"
+"POT-Creation-Date: 2009-05-18 15:49+0000\n"
+"PO-Revision-Date: 2009-05-18 20:21+0200\n"
 "Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n"
 "Language-Team: Español <gnome-es-list@gnome.org>\n"
 "MIME-Version: 1.0\n"
@@ -673,7 +673,7 @@ msgstr "%s ha entrado en la sala"
 msgid "%s has left the room"
 msgstr "%s ha dejado la sala"
 
-#: ../libempathy-gtk/empathy-chat.c:1289 ../src/empathy-call-window.c:811
+#: ../libempathy-gtk/empathy-chat.c:1289 ../src/empathy-call-window.c:889
 msgid "Disconnected"
 msgstr "Desconectado"
 
@@ -729,66 +729,73 @@ msgstr "Decidir _luego"
 msgid "Subscription Request"
 msgstr "Petición de suscripción"
 
-#: ../libempathy-gtk/empathy-contact-list-view.c:1315
+#: ../libempathy-gtk/empathy-contact-list-view.c:1377
 #, c-format
 msgid "Do you really want to remove the group '%s'?"
 msgstr "¿Realmente quiere quitar el grupo «%s»?"
 
-#: ../libempathy-gtk/empathy-contact-list-view.c:1317
+#: ../libempathy-gtk/empathy-contact-list-view.c:1379
 msgid "Removing group"
 msgstr "Quitando grupo"
 
-#: ../libempathy-gtk/empathy-contact-list-view.c:1364
-#: ../libempathy-gtk/empathy-contact-list-view.c:1443
+#: ../libempathy-gtk/empathy-contact-list-view.c:1426
+#: ../libempathy-gtk/empathy-contact-list-view.c:1505
 msgid "_Remove"
 msgstr "_Quitar"
 
-#: ../libempathy-gtk/empathy-contact-list-view.c:1394
+#: ../libempathy-gtk/empathy-contact-list-view.c:1456
 #, c-format
 msgid "Do you really want to remove the contact '%s'?"
 msgstr "¿Realmente quiere quitar el contacto «%s»?"
 
-#: ../libempathy-gtk/empathy-contact-list-view.c:1396
+#: ../libempathy-gtk/empathy-contact-list-view.c:1458
 msgid "Removing contact"
 msgstr "Quitando el contacto"
 
-#: ../libempathy-gtk/empathy-contact-list-view.c:1401
+#: ../libempathy-gtk/empathy-contact-list-view.c:1463
 msgid "Sorry, I don't want you in my contact list anymore."
 msgstr "Lo siento, no te quiero en mi lista de contactos."
 
-#: ../libempathy-gtk/empathy-contact-menu.c:130
+#: ../libempathy-gtk/empathy-contact-menu.c:135
 #: ../src/empathy-main-window.ui.h:9
 msgid "_Chat"
 msgstr "_Chat"
 
-#: ../libempathy-gtk/empathy-contact-menu.c:161
+#: ../libempathy-gtk/empathy-contact-menu.c:166
+#| msgid "_End Call"
 msgctxt "menu item"
-msgid "_Call"
-msgstr "_Llamar"
+msgid "_Audio Call"
+msgstr "Llamada de _sonido"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:198
+#| msgid "_End Call"
+msgctxt "menu item"
+msgid "_Video Call"
+msgstr "Llamada de _vídeo"
 
-#: ../libempathy-gtk/empathy-contact-menu.c:200
+#: ../libempathy-gtk/empathy-contact-menu.c:237
 #: ../src/empathy-main-window.ui.h:18
 msgid "_View Previous Conversations"
 msgstr "_Ver conversaciones previas"
 
-#: ../libempathy-gtk/empathy-contact-menu.c:222
+#: ../libempathy-gtk/empathy-contact-menu.c:259
 msgid "Send file"
 msgstr "Enviar archivo"
 
-#: ../libempathy-gtk/empathy-contact-menu.c:250
+#: ../libempathy-gtk/empathy-contact-menu.c:287
 msgid "Infor_mation"
 msgstr "Infor_mación"
 
-#: ../libempathy-gtk/empathy-contact-menu.c:277
+#: ../libempathy-gtk/empathy-contact-menu.c:314
 #: ../src/empathy-main-window.ui.h:11
 msgid "_Edit"
 msgstr "_Editar"
 
-#: ../libempathy-gtk/empathy-contact-menu.c:336
+#: ../libempathy-gtk/empathy-contact-menu.c:372
 msgid "Inviting to this room"
 msgstr "Invitando a esta sala"
 
-#: ../libempathy-gtk/empathy-contact-menu.c:367
+#: ../libempathy-gtk/empathy-contact-menu.c:403
 msgid "_Invite to chatroom"
 msgstr "_Invitar a la sala"
 
@@ -994,7 +1001,6 @@ msgid "Add _New Preset"
 msgstr ""
 
 #: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:2
-#| msgid "Save message"
 msgid "Saved Presets"
 msgstr ""
 
@@ -1425,54 +1431,53 @@ msgstr "Tipo:"
 msgid "_Add..."
 msgstr "_Añadir…"
 
-#: ../src/empathy-call-window.c:321
+#: ../src/empathy-call-window.c:370
 msgid "Contrast"
 msgstr "Contraste"
 
-#: ../src/empathy-call-window.c:324
+#: ../src/empathy-call-window.c:373
 msgid "Brightness"
 msgstr "Brillo"
 
-#: ../src/empathy-call-window.c:327
+#: ../src/empathy-call-window.c:376
 msgid "Gamma"
 msgstr "Gamma"
 
-#: ../src/empathy-call-window.c:431
+#: ../src/empathy-call-window.c:480
 msgid "Volume"
 msgstr "Volumen"
 
-#: ../src/empathy-call-window.c:534
+#: ../src/empathy-call-window.c:592
 msgid "_Sidebar"
 msgstr "Barra _lateral"
 
-#: ../src/empathy-call-window.c:552
+#: ../src/empathy-call-window.c:611
 msgid "Dialpad"
 msgstr "Teclado de llamada"
 
-#: ../src/empathy-call-window.c:558
+#: ../src/empathy-call-window.c:617
 msgid "Audio input"
 msgstr "Entrada de sonido"
 
-#: ../src/empathy-call-window.c:562
+#: ../src/empathy-call-window.c:621
 msgid "Video input"
 msgstr "Entrada de vídeo"
 
-#: ../src/empathy-call-window.c:575
+#: ../src/empathy-call-window.c:645
 msgid "Connecting..."
 msgstr "Conectando…"
 
-#: ../src/empathy-call-window.c:589
+#: ../src/empathy-call-window.c:660
 #, c-format
 msgid "Call with %s"
 msgstr "Llamar con %s"
 
-#: ../src/empathy-call-window.c:623
-#| msgid "C_all"
+#: ../src/empathy-call-window.c:694
 msgid "Call"
 msgstr "Llamar"
 
 #. Translators: number of minutes:seconds the caller has been connected
-#: ../src/empathy-call-window.c:893
+#: ../src/empathy-call-window.c:971
 #, c-format
 msgid "Connected — %d:%02dm"
 msgstr "Conectado — %d:%02dm"
@@ -1885,7 +1890,6 @@ msgid "Manage Favorites"
 msgstr "Gestionar favoritos"
 
 #: ../src/empathy-main-window.ui.h:5
-#| msgid "File transfers"
 msgid "Show _File Transfers"
 msgstr "Mostrar transferencias de _archivos"
 
@@ -1925,15 +1929,15 @@ msgstr "Información p_ersonal"
 msgid "_Room"
 msgstr "_Sala"
 
-#: ../src/empathy-new-chatroom-dialog.c:313
+#: ../src/empathy-new-chatroom-dialog.c:319
 msgid "Chat Room"
 msgstr "Sala de chat"
 
-#: ../src/empathy-new-chatroom-dialog.c:328
+#: ../src/empathy-new-chatroom-dialog.c:335
 msgid "Members"
 msgstr "Miembros"
 
-#: ../src/empathy-new-chatroom-dialog.c:449
+#: ../src/empathy-new-chatroom-dialog.c:464
 #, c-format
 msgctxt ""
 "Room/Join's roomlist tooltip. Parametersare a channel name, yes/no, yes/no "
@@ -1949,13 +1953,13 @@ msgstr ""
 "Contraseña necesaria: %s\n"
 "Miembros: %s"
 
-#: ../src/empathy-new-chatroom-dialog.c:451
-#: ../src/empathy-new-chatroom-dialog.c:452
+#: ../src/empathy-new-chatroom-dialog.c:466
+#: ../src/empathy-new-chatroom-dialog.c:467
 msgid "Yes"
 msgstr "Sí"
 
-#: ../src/empathy-new-chatroom-dialog.c:451
-#: ../src/empathy-new-chatroom-dialog.c:452
+#: ../src/empathy-new-chatroom-dialog.c:466
+#: ../src/empathy-new-chatroom-dialog.c:467
 msgid "No"
 msgstr "No"
 
@@ -2154,6 +2158,14 @@ msgstr ""
 "Se le ha ofrecido una invitación para el servicio %s pero no tiene la "
 "aplicación necesaria para manejarla"
 
+#: ../src/empathy-call-window-fullscreen.ui.h:1
+msgid "gtk-leave-fullscreen"
+msgstr "gtk-leave-fullscreen"
+
+#~ msgctxt "menu item"
+#~ msgid "_Call"
+#~ msgstr "_Llamar"
+
 #~ msgid "_Check Word Spelling..."
 #~ msgstr "_Comprobar ortografía…"
 
@@ -2296,9 +2308,6 @@ msgstr ""
 #~ msgid "Closing this window will end the call in progress."
 #~ msgstr "Cerrar esta ventana finalizará la llamada en progreso."
 
-#~ msgid "_End Call"
-#~ msgstr "_Finalizar llamada"
-
 #~ msgid "Empathy Call"
 #~ msgstr "Llamada de Empathy"
 
diff --git a/po/ta.po b/po/ta.po
new file mode 100644 (file)
index 0000000..97719da
--- /dev/null
+++ b/po/ta.po
@@ -0,0 +1,2122 @@
+# translation of empathy.master.po to Tamil
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Dr.T.vasudevan <agnihot3@gmail.com>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: empathy.master\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2009-05-20 13:57+0530\n"
+"PO-Revision-Date: 2009-05-07 21:34+0530\n"
+"Last-Translator: Dr.T.vasudevan <agnihot3@gmail.com>\n"
+"Language-Team: Tamil <Ubuntu-l10n-tam@lists.ubuntu.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#: ../data/empathy.desktop.in.in.h:1
+msgid "Empathy Instant Messenger"
+msgstr "எம்பதி துரித செய்தியாளர்"
+
+#: ../data/empathy.desktop.in.in.h:2
+msgid "Send and receive instant messages"
+msgstr "செய்திகளை உடனுக்குடன்  அனுப்புக மற்றும் பெறுக"
+
+#: ../data/empathy.schemas.in.h:1
+msgid "Always open a separate chat window for new chats."
+msgstr "எப்போதும் புதிய அரட்டைக்கு புதிய சாளரம் திற"
+
+#: ../data/empathy.schemas.in.h:2
+msgid ""
+"Character to add after nickname when using nick completion (tab) in group "
+"chat."
+msgstr "குழு அரட்டையில் செல்லப்பெயர் கீற்றில் செல்லப்பெயருக்குப்பின் சேர்க்க வேண்டிய எழுத்துரு"
+
+#: ../data/empathy.schemas.in.h:3
+msgid "Chat window theme"
+msgstr "அரட்டை சாளர கருத்து"
+
+#: ../data/empathy.schemas.in.h:4
+msgid ""
+"Comma separated list of spell checker languages to use (e.g. en, fr, nl)."
+msgstr ""
+"சொல் திருத்தி மொழிகளை பயன்படுத்த காற் புள்ளியால் பிரித்த பட்டியல் (எ-டு. en, fr, nl)"
+
+#: ../data/empathy.schemas.in.h:5
+msgid "Compact contact list"
+msgstr "அடக்கமான தொடர்பு பட்டியல்"
+
+#: ../data/empathy.schemas.in.h:6
+msgid "Contact list sort criterium"
+msgstr "தொடர்பு பட்டியல் வரிசைப்படுத்த கட்டளை விதி"
+
+#: ../data/empathy.schemas.in.h:7
+msgid "Default directory to select an avatar image from"
+msgstr "அவதாரம் படம் தேந்தெடுக்க முன்னிருப்பு அடைவு"
+
+#: ../data/empathy.schemas.in.h:8
+msgid "Disable popup notifications when away"
+msgstr "வெளியே உள்ள போது துள்ளு அறிவிப்புகளை செயல் நீக்குக"
+
+#: ../data/empathy.schemas.in.h:9
+msgid "Disable sounds when away"
+msgstr "வெளியே உள்ள போது ஒலியை செயல் நீக்குக"
+
+#: ../data/empathy.schemas.in.h:10
+msgid "Empathy default download folder"
+msgstr "எம்பதி முன்னிருப்பு தரவிறக்க அடைவு"
+
+#: ../data/empathy.schemas.in.h:11
+msgid "Empathy has asked about importing accounts"
+msgstr "எம்பதி கணக்குகளை இறக்குமதி செய்ய கேட்கிறது"
+
+#: ../data/empathy.schemas.in.h:12
+msgid "Empathy should auto-connect on startup"
+msgstr "துவங்கும் போது எம்பதி தானியங்கியாக இணைக்க வேண்டும்."
+
+#: ../data/empathy.schemas.in.h:13
+msgid "Empathy should use the avatar of the contact as the chat window icon"
+msgstr ""
+"துவங்கும் போது எம்பதி அரட்டை சாரளத்தில்  சின்னமாக தொடர்பின் அவதாரத்தை காட்ட  வேண்டும்."
+
+#: ../data/empathy.schemas.in.h:14
+msgid "Enable popup notifications for new messages"
+msgstr "புதிய செய்திகளுக்கு துள்ளு அறிவிப்புகளை செயல்படுத்து "
+
+#: ../data/empathy.schemas.in.h:15
+msgid "Enable spell checker"
+msgstr "சொல் திருத்தியை செயல்படுத்து"
+
+#: ../data/empathy.schemas.in.h:16
+msgid "Hide main window"
+msgstr "முதன்மை சாளரத்தை மறை "
+
+#: ../data/empathy.schemas.in.h:17
+msgid "Hide the main window."
+msgstr "முதன்மை சாளரத்தை மறை "
+
+#: ../data/empathy.schemas.in.h:18
+msgid "NetworkManager should be used"
+msgstr "வலைப்பின்னல் மேலாளரை பயன்படுத்த வேண்டும்"
+
+#: ../data/empathy.schemas.in.h:19
+msgid "Nick completed character"
+msgstr "செல்லப்பெயரை பூர்த்தி செய்யும் எழுத்துரு"
+
+#: ../data/empathy.schemas.in.h:20
+msgid "Open new chats in separate windows"
+msgstr "புதிய அரட்டைகளை தனி சாளரத்தில் திற"
+
+#: ../data/empathy.schemas.in.h:21
+msgid "Play a sound for incoming messages"
+msgstr "உள்வரும் செய்திகளுக்கு ஒலி எழுப்பு"
+
+#: ../data/empathy.schemas.in.h:22
+msgid "Play a sound for new conversations"
+msgstr "உள்வரும் உரையாடல்களுக்கு ஒலி எழுப்பு"
+
+#: ../data/empathy.schemas.in.h:23
+msgid "Play a sound for outgoing messages"
+msgstr "வெளிச்செல்லும் செய்திகளுக்கு ஒலி எழுப்பு"
+
+#: ../data/empathy.schemas.in.h:24
+msgid "Play a sound when a contact logs in"
+msgstr "தொடர்பு உள் நுழைகையில் ஒலி எழுப்பு"
+
+#: ../data/empathy.schemas.in.h:25
+msgid "Play a sound when a contact logs out"
+msgstr "தொடர்பு வெளி செல்கையில் ஒலி எழுப்பு"
+
+#: ../data/empathy.schemas.in.h:26
+msgid "Play a sound when we log in"
+msgstr "நாம் உள் நுழைகையில் ஒலி எழுப்பு"
+
+#: ../data/empathy.schemas.in.h:27
+msgid "Play a sound when we log out"
+msgstr "நாம் வெளி செல்கையில் ஒலி எழுப்பு"
+
+#: ../data/empathy.schemas.in.h:28
+msgid "Popup notifications if the chat isn't focused"
+msgstr "அரட்டை குவிப்பில் இல்லையானால் வெளித்துள்ளல் மூலம் அறிவி"
+
+#: ../data/empathy.schemas.in.h:29
+msgid "Salut account is created"
+msgstr "சாலுட் கணக்கு துவக்கப்பட்டது "
+
+#: ../data/empathy.schemas.in.h:30
+msgid "Show avatars"
+msgstr "அவதாரங்களை காட்டு"
+
+#: ../data/empathy.schemas.in.h:31
+msgid "Show hint about closing the main window"
+msgstr "முதன்மை சாளரத்தை மூடிவது குறித்து குறிப்பு காட்டு "
+
+#: ../data/empathy.schemas.in.h:32
+msgid "Show offline contacts"
+msgstr " வலை தொடர்பில்லாத தொடர்புகளை காட்டு"
+
+#: ../data/empathy.schemas.in.h:33
+msgid "Spell checking languages"
+msgstr "எழுத்துப்பிழை திருத்த மொழி"
+
+#: ../data/empathy.schemas.in.h:34
+msgid "The default folder to save file transfers in."
+msgstr "இடமாற்றிய கோப்புகளை சேமிக்க முன்னிருப்பு அடைவு"
+
+#: ../data/empathy.schemas.in.h:35
+msgid "The last directory that an avatar image was chosen from."
+msgstr "அவதாரம் படம் தேர்ந்தெடுத்த கடைசி அடைவு "
+
+#: ../data/empathy.schemas.in.h:36
+msgid "The theme that is used to display the conversation in chat windows."
+msgstr "அரட்டை சாளரங்களில் உரையாடல்களை காட்ட பயன்படும் கருத்து"
+
+#: ../data/empathy.schemas.in.h:37
+msgid "Use graphical smileys"
+msgstr "வரைகலை சிரிப்பான்களை பயன்படுத்துக"
+
+#: ../data/empathy.schemas.in.h:38
+msgid "Use notification sounds"
+msgstr "அறிவிப்பு ஒலிகளை பயன்படுத்துக"
+
+#: ../data/empathy.schemas.in.h:39
+msgid "Use theme for chat rooms"
+msgstr "அரட்டை அறைகளுக்கு கருத்துக்களை பயன்படுத்துக"
+
+#: ../data/empathy.schemas.in.h:40
+msgid ""
+"Whether or not Empathy has asked about importing accounts from other "
+"programs."
+msgstr ""
+"எம்பதி மற்ற நிரல்களில் இருந்து கணக்குகளை இறக்குமதி செய்வது குறித்து வினவியதா இல்லையா."
+
+#: ../data/empathy.schemas.in.h:41
+msgid ""
+"Whether or not Empathy should automatically log in to your accounts on "
+"startup."
+msgstr "எம்பதி துவங்கும்போது கணக்குகளில் தானியங்கியாக உள்நுழைய வேண்டுமா இல்லையா."
+
+#: ../data/empathy.schemas.in.h:42
+msgid ""
+"Whether or not Empathy should use the avatar of the contact as the chat "
+"window icon."
+msgstr "எம்பதி தொடர்பின் அவதாரத்தை அரட்டை அறை சின்னமாக பயன்படுத்த வேண்டுமா இல்லையா."
+
+#: ../data/empathy.schemas.in.h:43
+msgid ""
+"Whether or not the Salut account has been created on the first Empathy run."
+msgstr "முதல் ஓட்டத்தில் எம்பதி சலூட் கணக்கை உருவாக்கியதா இல்லையா."
+
+#: ../data/empathy.schemas.in.h:44
+msgid ""
+"Whether or not the network manager should be used to automatically "
+"disconnect/reconnect."
+msgstr ""
+"வலைப்பின்னல் மேலாளர் ஐ தானியங்கியாக இணைக்கவும் இணைப்பு விலகவும் பயன்படுத்த வேண்டுமா "
+"இல்லையா"
+
+#: ../data/empathy.schemas.in.h:45
+msgid ""
+"Whether or not to check words typed against the languages you want to check "
+"with."
+msgstr "நீங்கள் விரும்பிய மொழிகளில் உள்ளிட்ட சொற்களை சோதிக்க வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:46
+msgid ""
+"Whether or not to convert smileys into graphical images in conversations."
+msgstr "உரையாடல்களில் சிரிப்பான்களை வரைகலை படங்களாக மாற்ற வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:47
+msgid ""
+"Whether or not to play a sound to notify for contacts logging in the network."
+msgstr "வலைப்பின்னலில் தொடர்புகள் உள்நுழையும் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:48
+msgid ""
+"Whether or not to play a sound to notify for contacts logging off the "
+"network."
+msgstr "வலைப்பின்னலில் தொடர்புகள் வெளிச்செல்லும் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:49
+msgid "Whether or not to play a sound to notify for events."
+msgstr "நிகழ்வுகள் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:50
+msgid "Whether or not to play a sound to notify for incoming messages."
+msgstr "செய்திகள் உள்வரும் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:51
+msgid "Whether or not to play a sound to notify for new conversations."
+msgstr "புதிய உரையாடல்கள் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:52
+msgid "Whether or not to play a sound to notify for outgoing messages."
+msgstr "செய்திகள் வெளிச்செல்லும் போது ஒலியை எழுப்ப வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:53
+msgid "Whether or not to play a sound when logging in a network."
+msgstr "வலைப்பின்னலில் உள்நுழையும் போது ஒலி இயக்க வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:54
+msgid "Whether or not to play a sound when logging off a network."
+msgstr "வலைப்பின்னலில் வெளிச்செல்லும் போது ஒலி இயக்க வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:55
+msgid "Whether or not to play sound notifications when away or busy."
+msgstr "வெளியே அல்லது வேலையாக உள்ள போது ஒலி அறிக்கைகளை இயக்க வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:56
+msgid ""
+"Whether or not to show a popup notification when receiving a new message "
+"even if the chat is already opened, but not focused."
+msgstr ""
+"புதிய செய்தி ஒன்று வரும்போது அரட்டை திறந்து இருந்து குவிப்பில் இல்லாவிட்டாலும் துள்ளு "
+"அறிக்கையை காட்ட வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:57
+msgid ""
+"Whether or not to show a popup notification when receiving a new message."
+msgstr "புதிய செய்தி ஒன்று வரும்போது  துள்ளு அறிக்கையை காட்ட வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:58
+msgid ""
+"Whether or not to show avatars for contacts in the contact list and chat "
+"windows."
+msgstr "அரட்டை பட்டியலிலும் தொடர்பு பட்டியலிலும் அவதாரங்களை காட்ட வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:59
+msgid "Whether or not to show contacts that are offline in the contact list."
+msgstr "தொடர்பு பட்டியலிலும் இணைப்பில் இல்லாத தொடர்புகளை காட்ட வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:60
+msgid "Whether or not to show popup notifications when away or busy."
+msgstr "வெளியே அல்லது வேலையாக உள்ள போது துள்ளு அறிக்கைகளை காட்ட வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:61
+msgid ""
+"Whether or not to show the message dialog about closing the main window with "
+"the 'x' button in the title bar."
+msgstr ""
+"தலைப்பு பட்டியில் x பொத்தானால் முதன்மை சாளரத்தை மூடுவதை குறித்த உரையாடலை காட்ட "
+"வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:62
+msgid "Whether to show the contact list in compact mode or not."
+msgstr "அடக்கப்பாங்கில் தொடர்பு பட்டியலை காட்ட வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:63
+msgid "Whether to use the theme for chat rooms or not."
+msgstr "அரட்டை அறைகளில் கருத்துக்களை பயன்படுத்த வேண்டுமா இல்லையா?"
+
+#: ../data/empathy.schemas.in.h:64
+msgid ""
+"Which criterium to use when sorting the contact list. Default is to use sort "
+"by the contact's name with the value \"name\". A value of \"state\" will "
+"sort the contact list by state."
+msgstr ""
+"தொடர்பு பட்டியல் ஐ வரிசைப்படுத்தும் போது பயன்படுத்த நிபந்தனைகள். முன்னிருப்பு   தொடர்பு "
+"பெயர் மதிப்பு \"பெயர்\". \"நிலை\" என்ற மதிப்பு தொடர்பை நிலையை பொருத்து "
+"வரிசைப்படுத்தும்."
+
+#: ../libempathy/empathy-tp-contact-list.c:727 ../src/empathy.c:278
+msgid "People nearby"
+msgstr "அருகில் உள்ள மக்கள்"
+
+#: ../libempathy/empathy-utils.c:251
+msgid "Available"
+msgstr "இருப்பவை"
+
+#: ../libempathy/empathy-utils.c:253
+msgid "Busy"
+msgstr "வேலையில்"
+
+#: ../libempathy/empathy-utils.c:256
+msgid "Away"
+msgstr "வெளியில்"
+
+#: ../libempathy/empathy-utils.c:258
+msgid "Hidden"
+msgstr "மறைந்துள்ள"
+
+#: ../libempathy/empathy-utils.c:261
+msgid "Offline"
+msgstr "இணைப்பு விலகி"
+
+#: ../libempathy-gtk/empathy-account-chooser.c:419
+msgid "All"
+msgstr "அனைத்து"
+
+#: ../libempathy-gtk/empathy-account-widget.c:302
+#: ../libempathy-gtk/empathy-account-widget.c:349
+#, c-format
+msgid "%s:"
+msgstr "%s:"
+
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-generic.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:1
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:1
+msgid "<b>Advanced</b>"
+msgstr "<b> மேம்பட்ட</b>"
+
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:2
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:3
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:3
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:3
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:2
+msgid "Pass_word:"
+msgstr "(_w) கடவுச்சொல்:"
+
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:3
+msgid "Screen _Name:"
+msgstr "(_N) திரை பெயர்:"
+
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:10
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:7
+msgid "_Port:"
+msgstr "_P துறை:"
+
+#: ../libempathy-gtk/empathy-account-widget-aim.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:6
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:11
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:5
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:9
+#: ../src/empathy-new-chatroom-dialog.ui.h:8
+msgid "_Server:"
+msgstr "(_S) சேவையகம்:"
+
+#: ../libempathy-gtk/empathy-account-widget-groupwise.ui.h:2
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:3
+#: ../libempathy-gtk/empathy-account-widget-msn.ui.h:2
+msgid "Login I_D:"
+msgstr "உள்நுழை அடையாளம் (_D):"
+
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:2
+msgid "ICQ _UIN:"
+msgstr "(_U) ஐசிக்யூ (ICQ) யுஐஎன்:"
+
+#: ../libempathy-gtk/empathy-account-widget-icq.ui.h:4
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:5
+msgid "_Charset:"
+msgstr "(_C) எழுத்துருதொகுதி:"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.c:241
+msgid "New Network"
+msgstr "புதிய வலையமைப்பு"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:1
+msgid "<b>Network</b>"
+msgstr "<b>பிணையம்</b>"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:2
+msgid "<b>Servers</b>"
+msgstr "<b> சேவையகங்கள்</b>"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:3
+msgid "Charset:"
+msgstr "எழுத்துருதொகுதி:"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:4
+msgid "Network"
+msgstr "வலையமைப்பு"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:5
+msgid "Network:"
+msgstr "பிணையம்:"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:6
+msgid "Nickname:"
+msgstr "புனைப்பெயர்:"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:7
+msgid "Password:"
+msgstr "கடவுச்சொல்:"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:8
+msgid "Quit message:"
+msgstr "வெளிச்செல் செய்திகள்:"
+
+#: ../libempathy-gtk/empathy-account-widget-irc.ui.h:9
+msgid "Real name:"
+msgstr "உண்மையான பெயர்:"
+
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:2
+msgid "<b>Override server settings</b>"
+msgstr "<b>சேவையக அமைப்பை உதாசீனம் செய்</b>"
+
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:5
+msgid "Pri_ority:"
+msgstr "(_o) முக்கியத்துவம்"
+
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:6
+msgid "Reso_urce:"
+msgstr "(_u) மூலவளம்"
+
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:7
+msgid "Use old SS_L"
+msgstr "(_L) பழைய எஸ்எஸ்எல் "
+
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:8
+msgid "_Encryption required (TLS/SSL)"
+msgstr "(_E) மறையாக்கம் அவசியம் (டிஎல்எஸ்/எஸ்எஸ்எல்)"
+
+#: ../libempathy-gtk/empathy-account-widget-jabber.ui.h:9
+msgid "_Ignore SSL certificate errors"
+msgstr "எஸ்எஸ்எல் சான்றிதழ்கள் பிழைகளை தவிர் "
+
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:2
+msgid "_Email:"
+msgstr "(_E) மின்னஞ்சல்:"
+
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:3
+msgid "_First Name:"
+msgstr "(_F) முதல் பெயர்:"
+
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:4
+msgid "_Jabber ID:"
+msgstr "(_J) ஜப்பார் ஐடி (ID):"
+
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:5
+msgid "_Last Name:"
+msgstr "(_L) கடைசி பெயர்:"
+
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:6
+msgid "_Nickname:"
+msgstr "(_N) புனைப்பெயர்:"
+
+#: ../libempathy-gtk/empathy-account-widget-salut.ui.h:7
+msgid "_Published Name:"
+msgstr "(_P) வெளியிட்ட பெயர்:"
+
+#. look up the DNS SRV record at the service's domain for the host name of a STUN server.
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:3
+msgid "Discover STUN"
+msgstr "ஸ்டன் ஐ காணுங்கள்"
+
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:5
+msgid "STUN Server:"
+msgstr "ஸ்டன் சேவையகம்:"
+
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:6
+msgid "STUN port:"
+msgstr "ஸ்டன் துறை:"
+
+#: ../libempathy-gtk/empathy-account-widget-sip.ui.h:7
+msgid "_Username:"
+msgstr "(_U) பயனர் பெயர்:"
+
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:3
+msgid "Use _Yahoo Japan"
+msgstr "(_Y) யாகூ ஜப்பான் ஐ பயன்படுத்துக"
+
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:4
+msgid "Yahoo I_D:"
+msgstr "(_I) யாகூ ஐடி:"
+
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:6
+msgid "_Ignore conference and chatroom invitations"
+msgstr "அரட்டை அறை மற்றும் கலந்துரையாடல் அழைப்புகளை தவிர்"
+
+#: ../libempathy-gtk/empathy-account-widget-yahoo.ui.h:8
+msgid "_Room List locale:"
+msgstr "(_R) அறை பட்டியல் உள்ளமைவு:"
+
+#: ../libempathy-gtk/empathy-avatar-chooser.c:449
+#: ../libempathy-gtk/empathy-avatar-chooser.c:525
+msgid "Couldn't convert image"
+msgstr "படத்தை மாற்ற முடியவில்லை"
+
+#: ../libempathy-gtk/empathy-avatar-chooser.c:450
+msgid "None of the accepted image formats is supported on your system"
+msgstr "உங்கள் கணினியில் எந்த ஒப்புக்கொண்ட பட ஒழுங்கும் ஆதரிக்கப்படவில்லை"
+
+#: ../libempathy-gtk/empathy-avatar-chooser.c:933
+msgid "Select Your Avatar Image"
+msgstr "உங்க அவதார படத்தை தேர்வு செய்க"
+
+#: ../libempathy-gtk/empathy-avatar-chooser.c:936
+msgid "No Image"
+msgstr "படம் இல்லை"
+
+#: ../libempathy-gtk/empathy-avatar-chooser.c:998
+msgid "Images"
+msgstr "பிம்பங்கள்"
+
+#: ../libempathy-gtk/empathy-avatar-chooser.c:1002
+msgid "All Files"
+msgstr "அனைத்து கோப்புகள்"
+
+#: ../libempathy-gtk/empathy-avatar-image.c:324
+msgid "Click to enlarge"
+msgstr "பெரியதாக்க சொடுக்குக"
+
+#: ../libempathy-gtk/empathy-chat.c:178
+msgid "Failed to reconnect this chat"
+msgstr "இந்த அரட்டைக்கு மீள் இணைப்பு தோற்றது "
+
+#: ../libempathy-gtk/empathy-chat.c:396
+msgid "Unsupported command"
+msgstr "ஆதரவில்லாத கட்டளை"
+
+#: ../libempathy-gtk/empathy-chat.c:531
+msgid "offline"
+msgstr "இணைப்பு விலகி "
+
+#: ../libempathy-gtk/empathy-chat.c:534
+msgid "invalid contact"
+msgstr "செல்லுபடியாகாத தொடர்பு"
+
+#: ../libempathy-gtk/empathy-chat.c:537
+msgid "permission denied"
+msgstr "அனுமதி மறுக்கப்பட்டது"
+
+#: ../libempathy-gtk/empathy-chat.c:540
+msgid "too long message"
+msgstr "மிக நீள செய்தி"
+
+#: ../libempathy-gtk/empathy-chat.c:543
+msgid "not implemented"
+msgstr "அமுலாக்கவில்லை"
+
+#: ../libempathy-gtk/empathy-chat.c:546
+msgid "unknown"
+msgstr "தெரியாத"
+
+#: ../libempathy-gtk/empathy-chat.c:550
+#, c-format
+msgid "Error sending message '%s': %s"
+msgstr "செய்தி '%s' அனுப்புவதில் பிழை: %s"
+
+#: ../libempathy-gtk/empathy-chat.c:580
+#, c-format
+msgid "Topic set to: %s"
+msgstr "தலைப்பு இதற்கு அமை: %s"
+
+#: ../libempathy-gtk/empathy-chat.c:582
+msgid "No topic defined"
+msgstr "தலைப்பு ஏதும் வரையறுக்கப்படவில்லை"
+
+#: ../libempathy-gtk/empathy-chat.c:951
+msgid "(No Suggestions)"
+msgstr "(பரிந்துரைகள் இல்லை )"
+
+#: ../libempathy-gtk/empathy-chat.c:1005
+msgid "Insert Smiley"
+msgstr "சிரிப்பானை சொருகு"
+
+#. send button
+#: ../libempathy-gtk/empathy-chat.c:1023
+#: ../libempathy-gtk/empathy-ui-utils.c:1507
+msgid "_Send"
+msgstr "அனுப்பு (_S)"
+
+#: ../libempathy-gtk/empathy-chat.c:1057
+msgid "_Spelling Suggestions"
+msgstr "_S எழுத்தாக்க பரிந்துரைகள் "
+
+#: ../libempathy-gtk/empathy-chat.c:1171
+#, c-format
+msgid "%s has joined the room"
+msgstr "%s அறையில் சேர்ந்தார்"
+
+#: ../libempathy-gtk/empathy-chat.c:1174
+#, c-format
+msgid "%s has left the room"
+msgstr "%s அறையில் இருந்து வெளியேறினார்"
+
+#: ../libempathy-gtk/empathy-chat.c:1289 ../src/empathy-call-window.c:889
+msgid "Disconnected"
+msgstr "துண்டிக்கபட்டது"
+
+#: ../libempathy-gtk/empathy-chat.c:1700
+msgid "Connected"
+msgstr "இணைக்கப்பட்டது"
+
+#: ../libempathy-gtk/empathy-chat.c:1750
+#: ../libempathy-gtk/empathy-log-window.c:501
+msgid "Conversation"
+msgstr "உரையாடல்"
+
+#: ../libempathy-gtk/empathy-chat.ui.h:1
+msgid "<b>Topic:</b>"
+msgstr "<b> தலைப்பு</b>"
+
+#: ../libempathy-gtk/empathy-chat-text-view.c:323
+msgid "_Copy Link Address"
+msgstr "இணைப்பு முகவரியை நகலெடு (_C)"
+
+#: ../libempathy-gtk/empathy-chat-text-view.c:331
+msgid "_Open Link"
+msgstr "இணைப்பினை திற (_O)"
+
+#. Translators: timestamp displayed between conversations in
+#. * chat windows (strftime format string)
+#: ../libempathy-gtk/empathy-chat-text-view.c:424
+msgid "%A %B %d %Y"
+msgstr "%A %B %d %Y"
+
+#: ../libempathy-gtk/empathy-contact-dialogs.c:179
+#: ../libempathy-gtk/empathy-contact-dialogs.c:237
+msgid "Edit Contact Information"
+msgstr "தொடர்பின்  தகவல் ஐ திருத்து"
+
+#: ../libempathy-gtk/empathy-contact-dialogs.c:288
+msgid "Personal Information"
+msgstr "தனிப்பட்ட தகவல்"
+
+#: ../libempathy-gtk/empathy-contact-dialogs.c:368
+msgid "I would like to add you to my contact list."
+msgstr "உங்களை என் தொடர்பு பட்டியலில் சேர்க்க விரும்புகிறேன்."
+
+#: ../libempathy-gtk/empathy-contact-dialogs.c:392
+msgid "New Contact"
+msgstr "புதிய தொடர்பு"
+
+#: ../libempathy-gtk/empathy-contact-dialogs.ui.h:1
+msgid "Decide _Later"
+msgstr "(_L) பிறகு முடிவு எடுக்கலாம்"
+
+#: ../libempathy-gtk/empathy-contact-dialogs.ui.h:2
+msgid "Subscription Request"
+msgstr "சந்தா வேண்டுதல்"
+
+#: ../libempathy-gtk/empathy-contact-list-view.c:1377
+#, c-format
+msgid "Do you really want to remove the group '%s'?"
+msgstr "நீங்கள் நிச்சயம் குழு '%s' ஐ நீக்க விரும்புகிறீர்களா?"
+
+#: ../libempathy-gtk/empathy-contact-list-view.c:1379
+msgid "Removing group"
+msgstr "குழுவை நீக்குதல்"
+
+#: ../libempathy-gtk/empathy-contact-list-view.c:1426
+#: ../libempathy-gtk/empathy-contact-list-view.c:1505
+msgid "_Remove"
+msgstr "நீக்கவும் (_R)"
+
+#: ../libempathy-gtk/empathy-contact-list-view.c:1456
+#, c-format
+msgid "Do you really want to remove the contact '%s'?"
+msgstr "நீங்கள் நிச்சயம் தொடர்பு '%s' ஐ நீக்க விரும்புகிறீர்களா?"
+
+#: ../libempathy-gtk/empathy-contact-list-view.c:1458
+msgid "Removing contact"
+msgstr "தொடர்பு ஐ நீக்குதல்"
+
+#: ../libempathy-gtk/empathy-contact-list-view.c:1463
+msgid "Sorry, I don't want you in my contact list anymore."
+msgstr "மன்னிக்கவும். மேலும் நீங்கள் தொடர்பு பட்டியலில் இருக்க வேண்டாம்."
+
+#: ../libempathy-gtk/empathy-contact-menu.c:135
+#: ../src/empathy-main-window.ui.h:9
+msgid "_Chat"
+msgstr "_C அரட்டை"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:166
+
+msgctxt "menu item"
+msgid "_Audio Call"
+msgstr "(_A) ஒலி அழைப்பு"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:198
+
+msgctxt "menu item"
+msgid "_Video Call"
+msgstr "(_V) விடியோ அழைப்பு"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:237
+#: ../src/empathy-main-window.ui.h:18
+msgid "_View Previous Conversations"
+msgstr "(_V) முந்தைய உரையாடல்கள் ஐ காண்"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:259
+msgid "Send file"
+msgstr "கோப்பு ஐ அனுப்புக"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:287
+msgid "Infor_mation"
+msgstr "(_m) தகவல்"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:314
+#: ../src/empathy-main-window.ui.h:11
+msgid "_Edit"
+msgstr "திருத்து (_E)"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:372
+msgid "Inviting to this room"
+msgstr "இந்த அறைக்கு அழைப்பு"
+
+#: ../libempathy-gtk/empathy-contact-menu.c:403
+msgid "_Invite to chatroom"
+msgstr "(_I) அரட்டை அறைக்கு அழைப்பு"
+
+#: ../libempathy-gtk/empathy-contact-selector.c:129
+msgid "Select a contact"
+msgstr "ஒரு தொடர்பு ஐ தேர்வு செய்க"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:413
+msgid "Save Avatar"
+msgstr "அவதாரத்தை சேமி"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:469
+msgid "Unable to save avatar"
+msgstr "அவதாரத்தை சேமிக்க முடியவில்லை"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:952
+msgid "Select"
+msgstr "தேர்வு"
+
+#: ../libempathy-gtk/empathy-contact-widget.c:961
+#: ../src/empathy-main-window.c:894
+msgid "Group"
+msgstr "குழு"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:1
+msgid "<b>Client Information</b>"
+msgstr "<b> சார்ந்தோன் தகவல்</b>"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:2
+msgid "<b>Contact Details</b>"
+msgstr "<b>சார்ந்தோன் தொடர்பு விவரங்கள்</b>"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:3
+msgid "<b>Contact</b>"
+msgstr "<b>தொடர்பு</b>"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:4
+msgid "<b>Groups</b>"
+msgstr "<b>குழுக்கள்</b>"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:5
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:1
+#: ../src/empathy-chatrooms-window.ui.h:1
+#: ../src/empathy-new-chatroom-dialog.ui.h:1
+msgid "Account:"
+msgstr "கணக்கு:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:6
+msgid "Alias:"
+msgstr "புனைப்பெயர்:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:7
+msgid "Birthday:"
+msgstr "பிறந்தநாள்:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:8
+msgid "Client:"
+msgstr "சார்ந்தோன்:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:9
+msgid "Email:"
+msgstr "மின்னஞ்சல்:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:10
+msgid "Fullname:"
+msgstr "முழுப்பெயர்:"
+
+#. Identifier to connect to Instant Messaging network
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:12
+msgid "Identifier:"
+msgstr "இனங்காட்டி:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:13
+msgid "Information requested..."
+msgstr "தகவல் வேண்டுதல்..."
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:14
+msgid "OS:"
+msgstr "OS:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:15
+msgid ""
+"Select the groups you want this contact to appear in.  Note that you can "
+"select more than one group or no groups."
+msgstr ""
+"இந்த தொடர்பு வர வேன்டிய குழுவை தேர்வு செய்க. நீங்கள் ஒன்றுக்கு மேற்பட்ட குழுக்களை தேர்வு "
+"செய்யலாம் அல்லது ஒன்றையும் தேர்வு செய்யாதிருக்கலாம்."
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:16
+msgid "Version:"
+msgstr "பதிப்பு:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:17
+msgid "Web site:"
+msgstr "வலைத்தளம்:"
+
+#: ../libempathy-gtk/empathy-contact-widget.ui.h:18
+msgid "_Add Group"
+msgstr "குழுவை சேர் (_A)"
+
+#: ../libempathy-gtk/empathy-irc-network-dialog.c:283
+msgid "new server"
+msgstr "புதிய சேவையகம்"
+
+#: ../libempathy-gtk/empathy-irc-network-dialog.c:510
+msgid "Server"
+msgstr "சேவையகம்"
+
+#: ../libempathy-gtk/empathy-irc-network-dialog.c:525
+msgid "Port"
+msgstr "துறை"
+
+#: ../libempathy-gtk/empathy-irc-network-dialog.c:538
+msgid "SSL"
+msgstr "எஸ்எஸ்எல்"
+
+#: ../libempathy-gtk/empathy-log-window.c:494
+#: ../src/empathy-import-dialog.c:281
+msgid "Account"
+msgstr "கணக்கு"
+
+#: ../libempathy-gtk/empathy-log-window.c:511
+msgid "Date"
+msgstr "தேதி"
+
+#: ../libempathy-gtk/empathy-log-window.ui.h:1
+msgid "Conversations"
+msgstr "உரையாடல்கள்"
+
+#: ../libempathy-gtk/empathy-log-window.ui.h:2
+msgid "Previous Conversations"
+msgstr "முந்தைய உரையாடல்கள்"
+
+#: ../libempathy-gtk/empathy-log-window.ui.h:3
+msgid "Search"
+msgstr "தேடு"
+
+#: ../libempathy-gtk/empathy-log-window.ui.h:4
+msgid "_For:"
+msgstr "(_F) க்கு:"
+
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:2
+msgid "C_all"
+msgstr "(_a) அழை"
+
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:3
+msgid "C_hat"
+msgstr "(_h) அரட்டை"
+
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:4
+msgid "Contact ID:"
+msgstr "தொடர்பு ஐடி (ID):"
+
+#: ../libempathy-gtk/empathy-new-message-dialog.ui.h:5
+msgid "New Conversation"
+msgstr "புதிய உரையாடல்"
+
+#. COL_STATE_ICON_NAME
+#. COL_STATE
+#. COL_STATUS_TEXT
+#. COL_DISPLAY_MARKUP
+#. COL_STATUS_CUSTOMISABLE
+#. COL_TYPE
+#: ../libempathy-gtk/empathy-presence-chooser.c:169
+msgid "Custom Message..."
+msgstr "தனிப்பயன் செய்தி..."
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:225
+msgid "Edit Custom Messages..."
+msgstr "திருத்து- தனிப்பயன் செய்திகள்..."
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:324
+msgid "Click to remove this status as a favorite"
+msgstr "இந்த நிலை பிடித்த நிலையாக இருப்பதை நீக்க சொடுக்கவும் "
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:333
+msgid "Click to make this status a favorite"
+msgstr "இந்த நிலை பிடித்த நிலையாக ஆக்க சொடுக்கவும் "
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:367
+msgid "Set status"
+msgstr "நிலையை அமை"
+
+#: ../libempathy-gtk/empathy-presence-chooser.c:776
+msgid "Set your presence and current status"
+msgstr "உங்கள் நடப்பு நிலையையும் இருப்பையௌம் அமை "
+
+#. Custom messages
+#: ../libempathy-gtk/empathy-presence-chooser.c:1011
+msgid "Custom messages..."
+msgstr "தனிப்பயன் செய்திகள்..."
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.c:360
+msgid "Enter Custom Message"
+msgstr "தனிப்பயன் செய்தியை உள்ளிடுக"
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.c:482
+msgid "Edit Custom Messages"
+msgstr "தனிப்பயன் செய்திகளை திருத்துக"
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:1
+msgid "Add _New Preset"
+msgstr "(_N) புதிய முன்னிருப்பை சேர் "
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:2
+msgid "Saved Presets"
+msgstr "சேமிக்கப்பட்ட முன் அமைப்புகள்"
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:3
+msgid "gtk-add"
+msgstr "ஜிடிகே-சேர்"
+
+#: ../libempathy-gtk/empathy-status-preset-dialog.ui.h:4
+msgid "gtk-remove"
+msgstr "ஜிடிகே-நீக்கு"
+
+#: ../libempathy-gtk/empathy-theme-manager.c:60
+msgid "Classic"
+msgstr "தொன்மையான"
+
+#: ../libempathy-gtk/empathy-theme-manager.c:61
+msgid "Simple"
+msgstr "எளிய"
+
+#: ../libempathy-gtk/empathy-theme-manager.c:62
+msgid "Clean"
+msgstr "சுத்தமான"
+
+#: ../libempathy-gtk/empathy-theme-manager.c:63
+msgid "Blue"
+msgstr "நீலம்"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1354
+msgid "Unable to open URI"
+msgstr "யூஆர்ஐ ஐ திறக்க முடியவில்லை"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1499
+msgid "Select a file"
+msgstr "கோப்பை தேர்வு செய்"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1535
+msgid "Received an instant message"
+msgstr "ஒரு உடனடி செய்தி கிடைக்கப்பெற்றது"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1537
+msgid "Sent an instant message"
+msgstr "ஒரு உடனடி செய்தி அனுப்பு"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1539
+msgid "Incoming chat request"
+msgstr "உள்வரும் அரட்டை வேண்டுதல்"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1541
+msgid "Contact connected"
+msgstr "தொடர்பு இணைக்கப்பட்டது"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1543
+msgid "Contact disconnected"
+msgstr "தொடர்பு துண்டிக்கப்பட்டது"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1545
+msgid "Connected to server"
+msgstr "சேவையகத்துக்கு இணைக்கப்பட்டது"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1547
+msgid "Disconnected from server"
+msgstr "சேவையகத்துக்கு இணைப்பு துண்டிக்கபட்டது"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1549
+msgid "Incoming voice call"
+msgstr "உள்வரும் குரல் அழைப்பு"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1551
+msgid "Outgoing voice call"
+msgstr "வெளி செல்லும் குரல் அழைப்பு"
+
+#: ../libempathy-gtk/empathy-ui-utils.c:1553
+msgid "Voice call ended"
+msgstr "குரல் அழைப்பு முடிந்தது"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:158
+msgid "Current Locale"
+msgstr "தற்போதைய மொழி உள்ளமைவு"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:161
+#: ../libempathy-gtk/totem-subtitle-encoding.c:163
+#: ../libempathy-gtk/totem-subtitle-encoding.c:165
+#: ../libempathy-gtk/totem-subtitle-encoding.c:167
+msgid "Arabic"
+msgstr "அராபிக்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:170
+msgid "Armenian"
+msgstr "அர்மேனியன்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:173
+#: ../libempathy-gtk/totem-subtitle-encoding.c:175
+#: ../libempathy-gtk/totem-subtitle-encoding.c:177
+msgid "Baltic"
+msgstr "பால்டிக்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:180
+msgid "Celtic"
+msgstr "செல்டிக்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:183
+#: ../libempathy-gtk/totem-subtitle-encoding.c:185
+#: ../libempathy-gtk/totem-subtitle-encoding.c:187
+#: ../libempathy-gtk/totem-subtitle-encoding.c:189
+msgid "Central European"
+msgstr "மத்திய ஐரோப்பா"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:192
+#: ../libempathy-gtk/totem-subtitle-encoding.c:194
+#: ../libempathy-gtk/totem-subtitle-encoding.c:196
+#: ../libempathy-gtk/totem-subtitle-encoding.c:198
+msgid "Chinese Simplified"
+msgstr "எளிதாக்கிய சைனிஸ்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:201
+#: ../libempathy-gtk/totem-subtitle-encoding.c:203
+#: ../libempathy-gtk/totem-subtitle-encoding.c:205
+msgid "Chinese Traditional"
+msgstr "சைனிஸ் மரபு"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:208
+msgid "Croatian"
+msgstr "குரேஷியன்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:211
+#: ../libempathy-gtk/totem-subtitle-encoding.c:213
+#: ../libempathy-gtk/totem-subtitle-encoding.c:215
+#: ../libempathy-gtk/totem-subtitle-encoding.c:217
+#: ../libempathy-gtk/totem-subtitle-encoding.c:219
+#: ../libempathy-gtk/totem-subtitle-encoding.c:221
+msgid "Cyrillic"
+msgstr "ஸைரிலிக்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:224
+msgid "Cyrillic/Russian"
+msgstr "ஸைரெலிக்/ரசியன்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:227
+#: ../libempathy-gtk/totem-subtitle-encoding.c:229
+msgid "Cyrillic/Ukrainian"
+msgstr "ஸைரெலிக்/யூக்கிரேனியன்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:232
+msgid "Georgian"
+msgstr "ஜியார்ஜியன்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:235
+#: ../libempathy-gtk/totem-subtitle-encoding.c:237
+#: ../libempathy-gtk/totem-subtitle-encoding.c:239
+msgid "Greek"
+msgstr "கிரீக்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:242
+msgid "Gujarati"
+msgstr "குஜராத்தி"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:245
+msgid "Gurmukhi"
+msgstr "குர்முகி"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:248
+#: ../libempathy-gtk/totem-subtitle-encoding.c:250
+#: ../libempathy-gtk/totem-subtitle-encoding.c:252
+#: ../libempathy-gtk/totem-subtitle-encoding.c:254
+msgid "Hebrew"
+msgstr "ஹீப்ரு"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:257
+msgid "Hebrew Visual"
+msgstr "ஹீப்ரு காட்சி"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:260
+msgid "Hindi"
+msgstr "ஹிந்தி"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:263
+msgid "Icelandic"
+msgstr "ஐஸ்லாண்டிக்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:266
+#: ../libempathy-gtk/totem-subtitle-encoding.c:268
+#: ../libempathy-gtk/totem-subtitle-encoding.c:270
+msgid "Japanese"
+msgstr "ஜப்பானிய"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:273
+#: ../libempathy-gtk/totem-subtitle-encoding.c:275
+#: ../libempathy-gtk/totem-subtitle-encoding.c:277
+#: ../libempathy-gtk/totem-subtitle-encoding.c:279
+msgid "Korean"
+msgstr "கொரியன்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:282
+msgid "Nordic"
+msgstr "நோர்டிக்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:285
+msgid "Persian"
+msgstr "பெர்சியன்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:288
+#: ../libempathy-gtk/totem-subtitle-encoding.c:290
+msgid "Romanian"
+msgstr "ரோமானியன்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:293
+msgid "South European"
+msgstr "தெற்கு ஐரோப்பா"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:296
+msgid "Thai"
+msgstr "தாய்"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:299
+#: ../libempathy-gtk/totem-subtitle-encoding.c:301
+#: ../libempathy-gtk/totem-subtitle-encoding.c:303
+#: ../libempathy-gtk/totem-subtitle-encoding.c:305
+msgid "Turkish"
+msgstr "துருக்கி"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:308
+#: ../libempathy-gtk/totem-subtitle-encoding.c:310
+#: ../libempathy-gtk/totem-subtitle-encoding.c:312
+#: ../libempathy-gtk/totem-subtitle-encoding.c:314
+#: ../libempathy-gtk/totem-subtitle-encoding.c:316
+msgid "Unicode"
+msgstr "யூனிக்கோடு"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:319
+#: ../libempathy-gtk/totem-subtitle-encoding.c:321
+#: ../libempathy-gtk/totem-subtitle-encoding.c:323
+#: ../libempathy-gtk/totem-subtitle-encoding.c:325
+#: ../libempathy-gtk/totem-subtitle-encoding.c:327
+msgid "Western"
+msgstr "மேற்கு மொழி"
+
+#: ../libempathy-gtk/totem-subtitle-encoding.c:330
+#: ../libempathy-gtk/totem-subtitle-encoding.c:332
+#: ../libempathy-gtk/totem-subtitle-encoding.c:334
+msgid "Vietnamese"
+msgstr "வியட்னாம்"
+
+#.
+#. * vim: sw=2 ts=8 cindent noai bs=2
+#.
+#: ../megaphone/data/GNOME_Megaphone_Applet.schemas.in.h:1
+msgid ""
+"The contact to display in the applet. Empty means no contact is displayed."
+msgstr "சிறுநிரலில் காட்ட வேண்டிய தொடர்பு. காலி எனில் காட்ட தொடர்பு  இல்லை"
+
+#: ../megaphone/data/GNOME_Megaphone_Applet.schemas.in.h:2
+msgid "The contact's avatar token. Empty means contact has no avatar."
+msgstr "தொடர்பு அவதார குறிப்பு. வெற்று எனில் தொடர்புக்கு அவதாரம் இல்லை"
+
+#: ../megaphone/data/GNOME_Megaphone_Applet.server.in.in.h:1
+msgid "Megaphone"
+msgstr "ஒலி பெருக்கி"
+
+#: ../megaphone/data/GNOME_Megaphone_Applet.server.in.in.h:2
+#: ../megaphone/src/megaphone-applet.c:527
+msgid "Talk!"
+msgstr "பேசு!"
+
+#: ../megaphone/data/GNOME_Megaphone_Applet.xml.h:1
+#: ../nothere/data/GNOME_NotHere_Applet.xml.h:1
+msgid "_About"
+msgstr "(_A) பற்றி"
+
+#: ../megaphone/data/GNOME_Megaphone_Applet.xml.h:2
+msgid "_Information"
+msgstr "(_I) தகவல்"
+
+#: ../megaphone/data/GNOME_Megaphone_Applet.xml.h:3
+#: ../src/empathy-main-window.ui.h:16
+msgid "_Preferences"
+msgstr "முன்னுரிமைகள் (_P)"
+
+#: ../megaphone/src/megaphone-applet.c:168
+msgid "Please configure a contact."
+msgstr "தயவு செய்து தொடர்பு ஒன்றை அமையுங்கள்"
+
+#: ../megaphone/src/megaphone-applet.c:258
+msgid "Select contact..."
+msgstr "தொடர்பு தேர்வு ..."
+
+#: ../nothere/data/GNOME_NotHere_Applet.server.in.in.h:1
+msgid "Presence"
+msgstr "இருப்பு"
+
+#: ../nothere/data/GNOME_NotHere_Applet.server.in.in.h:2
+#: ../nothere/src/nothere-applet.c:106
+msgid "Set your own presence"
+msgstr "உங்கள் இருப்பை அமைக்கவும்"
+
+#: ../src/empathy.c:437
+msgid "Don't connect on startup"
+msgstr "துவங்கும்போது இணைக்க வேண்டாம்"
+
+#: ../src/empathy.c:441
+msgid "Don't show the contact list on startup"
+msgstr "துவங்கும்போது தொடர்பு பட்டியல் ஐ காட்ட வேண்டாம்"
+
+#: ../src/empathy.c:445
+msgid "Show the accounts dialog"
+msgstr "கணக்குகள் உரையாடல் ஐ காட்டு "
+
+#: ../src/empathy.c:457
+msgid "- Empathy Instant Messenger"
+msgstr "- எம்பதி உடனடி செய்தியாளர்"
+
+#: ../src/empathy-about-dialog.c:83
+msgid ""
+"Empathy is free software; you can redistribute it and/or modify it under the "
+"terms of the GNU General Public License as published by the Free Software "
+"Foundation; either version 2 of the License, or (at your option) any later "
+"version."
+msgstr ""
+"எம்பதி இலவச மென் பொருளாகும். நீங்கள் இலவச மென் பொருள் அமைப்பினால் வெளியிடப்பட்ட ஜிஎன்யு "
+"பொது அனுமதிக்கான இந்த 2ம் பதிப்பு அல்லது அடுத்த பதிப்புகள் விதிகளின் படி நீங்கள் "
+"(விருப்பப்படி) மாற்றலாம். அல்லது மீண்டும் பறிமாறலாம்"
+
+#: ../src/empathy-about-dialog.c:87
+msgid ""
+"Empathy is distributed in the hope that it will be useful, but WITHOUT ANY "
+"WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS "
+"FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more "
+"details."
+msgstr ""
+"எம்பதி உபயோகப்படும் என்ற எதிர்பார்ப்புடன் வெளியிடப்படுகிறது. ஆனால் விற்க தகுதி, "
+"குறிப்பிட்ட செயலுக்கான தகுதி உள்பட எந்த உத்திரவாதமும் அளிக்கப்படவில்லை. மேற் கொண்டு "
+"விவரங்களுக்கு ஜிஎன்யு பொது அனுமதிக்கான விதிகளை பார்க்கவும்"
+
+#: ../src/empathy-about-dialog.c:91
+msgid ""
+"You should have received a copy of the GNU General Public License along with "
+"Empathy; if not, write to the Free Software Foundation, Inc., 51 Franklin "
+"Street, Fifth Floor, Boston, MA 02110-130159 USA"
+msgstr ""
+"இந்த எம்பதி நிரலுடன் ஜிஎன்யு பொது அனுமதிக்கான விதிகளின் பிரதி உங்களுக்கு கிடைத்திருக்க "
+"வேண்டும். இல்லையானால் கீழ் கண்ட முகவரிக்கு கடிதம் எழுதவும். Free Software Foundation, "
+"Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA "
+
+#: ../src/empathy-about-dialog.c:119
+msgid "An Instant Messaging client for GNOME"
+msgstr "க்னோமுக்கு ஒரு உடனடி செய்தியாளர் சார்ந்தோன்."
+
+#: ../src/empathy-about-dialog.c:125
+msgid "translator-credits"
+msgstr "மொழிபெயர்ப்பாளர்-நன்றி அறிதல் "
+
+#: ../src/empathy-accounts-dialog.c:391
+msgid "Enabled"
+msgstr "செயலாக்கப்பட்டது"
+
+#: ../src/empathy-accounts-dialog.c:401 ../src/empathy-accounts-dialog.ui.h:4
+msgid "Accounts"
+msgstr "கணக்குகள்"
+
+#. To translator: %s is the protocol name
+#: ../src/empathy-accounts-dialog.c:834
+#, c-format
+msgid "New %s account"
+msgstr "புதிய %s கணக்கு"
+
+#: ../src/empathy-accounts-dialog.c:944
+#, c-format
+msgid ""
+"You are about to remove your %s account!\n"
+"Are you sure you want to proceed?"
+msgstr ""
+"நீங்கள் உங்கள் %s கணக்கை நீக்கப்போகிறீர்கள்!\n"
+"நிச்சயம் தொடர வேண்டுமா?"
+
+#: ../src/empathy-accounts-dialog.c:950
+msgid ""
+"Any associated conversations and chat rooms will NOT be removed if you "
+"decide to proceed.\n"
+"\n"
+"Should you decide to add the account back at a later time, they will still "
+"be available."
+msgstr ""
+"தொடர எண்ணினால் ஏதாவது தொடர்பான உரையடல்கள் மற்றும் அரட்டை அரைகள் இருப்பின் அவை நீக்கப்பட "
+"மாட்டாது..\n"
+"\n"
+"ஒரு வேளை பின்னொரு சமயம் கணக்கை புதுப்பிக்க எண்ணினால் அவை கிடைக்கும்."
+
+#: ../src/empathy-accounts-dialog.ui.h:1
+msgid "<b>New Account</b>"
+msgstr "<b> புதிய கணக்கு</b>"
+
+#: ../src/empathy-accounts-dialog.ui.h:2
+msgid "<b>No protocol installed</b>"
+msgstr "<b>நெறிமுறைகள் ஏதும் நிறுவவில்லை</b>"
+
+#: ../src/empathy-accounts-dialog.ui.h:3
+msgid "<b>Settings</b>"
+msgstr "<b> அமைப்புகள்</b>"
+
+#: ../src/empathy-accounts-dialog.ui.h:5
+msgid "Cr_eate"
+msgstr "(_e) உருவாக்கு"
+
+#: ../src/empathy-accounts-dialog.ui.h:6
+msgid "I already have an account I want to use"
+msgstr "நான் பயன்படுத்த ஏற்கெனெவே ஒரு கணக்கு உள்ளது"
+
+#: ../src/empathy-accounts-dialog.ui.h:7
+msgid "Import Accounts..."
+msgstr "கணக்குகளை இறக்குமதி செய்க..."
+
+#: ../src/empathy-accounts-dialog.ui.h:8
+msgid ""
+"To add a new account, you first have to install a backend for each protocol "
+"you want to use."
+msgstr ""
+"ஒரு புதிய கணக்கு துவக்க ஒவ்வொரு நெறிமுறைக்கும் நீங்கள் முதலில் ஒரு பின்புலத்தை அமைக்க "
+"வேண்டும்."
+
+#: ../src/empathy-accounts-dialog.ui.h:9
+msgid "Type:"
+msgstr "வகை:"
+
+#: ../src/empathy-accounts-dialog.ui.h:10
+msgid "_Add..."
+msgstr "சேர்... (_A)"
+
+#: ../src/empathy-call-window.c:370
+msgid "Contrast"
+msgstr "வேறுபாடு"
+
+#: ../src/empathy-call-window.c:373
+msgid "Brightness"
+msgstr "வெளிச்சம்"
+
+#: ../src/empathy-call-window.c:376
+msgid "Gamma"
+msgstr "காமா"
+
+#: ../src/empathy-call-window.c:480
+msgid "Volume"
+msgstr "ஒலி அளவு"
+
+#: ../src/empathy-call-window.c:592
+msgid "_Sidebar"
+msgstr "பக்கப்பட்டை(_S)"
+
+#: ../src/empathy-call-window.c:611
+msgid "Dialpad"
+msgstr "டயல் அட்டை"
+
+#: ../src/empathy-call-window.c:617
+msgid "Audio input"
+msgstr "ஒலி உள்ளீடு"
+
+#: ../src/empathy-call-window.c:621
+msgid "Video input"
+msgstr "வீடியோ உள்ளீடு"
+
+#: ../src/empathy-call-window.c:645
+msgid "Connecting..."
+msgstr "இணைக்கிறது...."
+
+#: ../src/empathy-call-window.c:660
+#, c-format
+msgid "Call with %s"
+msgstr "%s ஆல் அழை "
+
+#: ../src/empathy-call-window.c:694
+msgid "Call"
+msgstr "அழை"
+
+#. Translators: number of minutes:seconds the caller has been connected
+#: ../src/empathy-call-window.c:971
+#, c-format
+msgid "Connected — %d:%02dm"
+msgstr "இணைக்கப்பட்டது — %d:%02dm"
+
+#: ../src/empathy-call-window.ui.h:1
+msgid "Hang up"
+msgstr "துண்டி"
+
+#: ../src/empathy-call-window.ui.h:2
+msgid "Send Audio"
+msgstr "ஒலி அனுப்பு "
+
+#: ../src/empathy-call-window.ui.h:3
+msgid "Send video"
+msgstr "விடியோ அனுப்பு"
+
+#: ../src/empathy-call-window.ui.h:4
+msgid "Video preview"
+msgstr "ஒளித்தோற்ற முன்னோட்டம்"
+
+#: ../src/empathy-call-window.ui.h:5
+msgid "_Call"
+msgstr "(_C) அழை"
+
+#: ../src/empathy-call-window.ui.h:6
+msgid "_View"
+msgstr "பார்வை (_V)"
+
+#: ../src/empathy-chat-window.c:308
+#, c-format
+msgid "Conversations (%d)"
+msgstr "உரையாடல்கள் (%d)"
+
+#: ../src/empathy-chat-window.c:413
+msgid "Topic:"
+msgstr "தலைப்பு:"
+
+#: ../src/empathy-chat-window.c:418
+msgid "Typing a message."
+msgstr "செய்திகள் தட்டச்சிடல்"
+
+#: ../src/empathy-chat-window.c:889 ../src/empathy-event-manager.c:429
+#, c-format
+msgid "New message from %s"
+msgstr "%s இடமிருந்து புதிய செய்திகள்"
+
+#: ../src/empathy-chatrooms-window.c:258
+msgid "Name"
+msgstr "பெயர்"
+
+#: ../src/empathy-chatrooms-window.c:276
+msgid "Room"
+msgstr "அறை"
+
+#: ../src/empathy-chatrooms-window.c:285
+msgid "Auto-Connect"
+msgstr "தானியங்கி இணை"
+
+#: ../src/empathy-chatrooms-window.ui.h:2
+msgid "Manage Favorite Rooms"
+msgstr "பிடித்தமான அறைகளை மேலாள"
+
+#: ../src/empathy-event-manager.c:377
+msgid "Incoming call"
+msgstr "உள்வரும் அழைப்பு"
+
+#: ../src/empathy-event-manager.c:380
+#, c-format
+msgid "%s is calling you, do you want to answer?"
+msgstr "%s உங்களை அழைக்கிறார். நீங்கள் பதில் பேச வேண்டுமா?"
+
+#: ../src/empathy-event-manager.c:387
+msgid "_Reject"
+msgstr "(_R) ஏற்காதே"
+
+#: ../src/empathy-event-manager.c:393
+msgid "_Answer"
+msgstr "(_A) பதிலளி"
+
+#: ../src/empathy-event-manager.c:507
+#, c-format
+msgid "Incoming call from %s"
+msgstr "%s இடமிருந்து உள்வரும் அழைப்பு"
+
+#: ../src/empathy-event-manager.c:547
+#, c-format
+msgid "%s is offering you an invitation"
+msgstr "%s உங்களுக்கு ஒரு அழைப்பு வேண்டுதல் விடுக்கிறார்"
+
+#: ../src/empathy-event-manager.c:553
+msgid "An external application will be started to handle it."
+msgstr "இதை கையாள ஒரு வெளி பயன்பாடு துவக்கப்படும்."
+
+#: ../src/empathy-event-manager.c:558
+msgid "You don't have the needed external application to handle it."
+msgstr "இதை கையாள தேவையான ஒரு வெளி பயன்பாடு உங்கள் கணினியில் இல்லை."
+
+#: ../src/empathy-event-manager.c:685
+msgid "Room invitation"
+msgstr "அறை அழைப்பு"
+
+#: ../src/empathy-event-manager.c:688
+#, c-format
+msgid "%s is inviting you to join %s"
+msgstr "%s உங்களை %s உடன் சேர அழைக்கிறார்."
+
+#. Decline button
+#: ../src/empathy-event-manager.c:696 ../src/empathy-ft-manager.c:1037
+msgid "_Decline"
+msgstr "நிராகரி (_D)"
+
+#: ../src/empathy-event-manager.c:701
+#: ../src/empathy-new-chatroom-dialog.ui.h:6
+msgid "_Join"
+msgstr "(_J) இணை"
+
+#: ../src/empathy-event-manager.c:740
+#, c-format
+msgid "%s invited you to join %s"
+msgstr "%s  %s இல் சேர உங்களை அழைத்துள்ளார்"
+
+#: ../src/empathy-event-manager.c:848
+#, c-format
+msgid "Incoming file transfer from %s"
+msgstr "%s இடமிருந்து உள்வரும் கோப்பு பரிமாற்றம்."
+
+#: ../src/empathy-event-manager.c:923
+#, c-format
+msgid "Subscription requested by %s"
+msgstr "%s இன் சந்தா வேண்டுதல்"
+
+#: ../src/empathy-event-manager.c:927
+#, c-format
+msgid ""
+"\n"
+"Message: %s"
+msgstr ""
+"\n"
+"செய்தி: %s"
+
+#. Translators: time left, when it is more than one hour
+#: ../src/empathy-ft-manager.c:114
+#, c-format
+msgid "%u:%02u.%02u"
+msgstr "%u:%02u.%02u"
+
+#. Translators: time left, when is is less than one hour
+#: ../src/empathy-ft-manager.c:117
+#, c-format
+msgid "%02u.%02u"
+msgstr "%02u.%02u"
+
+#: ../src/empathy-ft-manager.c:166
+msgid "No reason was specified"
+msgstr "காரணம் குறிப்பிடவில்லை"
+
+#: ../src/empathy-ft-manager.c:168
+msgid "The change in state was requested"
+msgstr "நிலையில் மாற்றம் வேண்டப்பட்டது"
+
+#: ../src/empathy-ft-manager.c:170
+msgid "You canceled the file transfer"
+msgstr "நீங்கள் கோப்பு பரி மாற்றத்தை ரத்து செய்தீர்கள்"
+
+#: ../src/empathy-ft-manager.c:172
+msgid "The other participant canceled the file transfer"
+msgstr "மற்ற பங்குதாரர் கோப்பு பரி மாற்றத்தை ரத்து செய்தார்."
+
+#: ../src/empathy-ft-manager.c:174
+msgid "Error while trying to transfer the file"
+msgstr "கோப்பு பரி மாற்றத்தில்  பிழை "
+
+#: ../src/empathy-ft-manager.c:176
+msgid "The other participant is unable to transfer the file"
+msgstr "மற்ற பங்குதாரர் கோப்பு பரி மாற்றத்தை செய்ய முடியவில்லை."
+
+#: ../src/empathy-ft-manager.c:178
+msgid "Unknown reason"
+msgstr "தெரியாத காரணம்"
+
+#. translators: first %s is filename, second %s is the contact name
+#: ../src/empathy-ft-manager.c:228
+#, c-format
+msgid "Receiving \"%s\" from %s"
+msgstr " \"%s\" ஐ %s இடமிருந்து பெறுகிறது"
+
+#. translators: first %s is filename, second %s is the contact name
+#: ../src/empathy-ft-manager.c:231
+#, c-format
+msgid "Sending \"%s\" to %s"
+msgstr "\"%s\" ஐ %s க்கு அனுப்புகிறது"
+
+#: ../src/empathy-ft-manager.c:242
+msgctxt "file size"
+msgid "Unknown"
+msgstr "தெரியாத"
+
+#. translators: first %s is the transferred size, second %s is
+#. * the total file size
+#: ../src/empathy-ft-manager.c:251
+#, c-format
+msgid "%s of %s at %s/s"
+msgstr "%s %sல் %s/s இல்"
+
+#: ../src/empathy-ft-manager.c:259
+msgid "Waiting for the other participant's response"
+msgstr "மற்ற பங்கேற்பாளரின் பதிலுக்கு காத்திருத்தல்"
+
+#: ../src/empathy-ft-manager.c:269
+#, c-format
+msgid "\"%s\" received from %s"
+msgstr "\"%s\"  %s இடமிருந்து கிடைத்தது"
+
+#: ../src/empathy-ft-manager.c:275
+#, c-format
+msgid "\"%s\" sent to %s"
+msgstr "\"%s\" %s க்கு அனுப்பப்பட்டது"
+
+#: ../src/empathy-ft-manager.c:278
+msgid "File transfer completed"
+msgstr "கோப்பு பறிமாற்றம் முடிந்தது"
+
+#: ../src/empathy-ft-manager.c:287
+#, c-format
+msgid "\"%s\" receiving from %s"
+msgstr "\"%s\" %s இடமிருந்து பெறப்படுகிறது"
+
+#: ../src/empathy-ft-manager.c:293
+#, c-format
+msgid "\"%s\" sending to %s"
+msgstr "\"%s\"  %s க்கு அனுப்பப்படுகிறது"
+
+#: ../src/empathy-ft-manager.c:296
+#, c-format
+msgid "File transfer canceled: %s"
+msgstr "கோப்பு பறிமாற்றம் ரத்து செய்யப்பட்டது.: %s"
+
+#: ../src/empathy-ft-manager.c:310
+msgctxt "remaining time"
+msgid "Stalled"
+msgstr "Stalled"
+
+#: ../src/empathy-ft-manager.c:313
+msgctxt "remaining time"
+msgid "Unknown"
+msgstr "தெரியாத"
+
+#: ../src/empathy-ft-manager.c:372
+msgctxt "file transfer percent"
+msgid "Unknown"
+msgstr "தெரியாத"
+
+#: ../src/empathy-ft-manager.c:668
+msgid "%"
+msgstr "%"
+
+#: ../src/empathy-ft-manager.c:680
+msgid "File"
+msgstr "கோப்பு"
+
+#: ../src/empathy-ft-manager.c:702
+msgid "Remaining"
+msgstr "மீதமுள்ளவை"
+
+#: ../src/empathy-ft-manager.c:900
+msgid "Cannot save file to this location"
+msgstr "இந்த இடத்தில் கோப்பை சேமிக்க முடியவில்லை"
+
+#: ../src/empathy-ft-manager.c:946
+msgid "Save file as..."
+msgstr "கோப்பை இவ்வாறு சேமி..."
+
+#: ../src/empathy-ft-manager.c:1016
+msgid "unknown size"
+msgstr "தெரியாத அளவு"
+
+#: ../src/empathy-ft-manager.c:1022
+#, c-format
+msgid "%s would like to send you a file"
+msgstr " %s உங்களுக்கு ஒரு  கோப்பை அனுப்ப விழைகிறார்."
+
+#. Translators: the first %s is the file name, the second %s is the file size
+#: ../src/empathy-ft-manager.c:1028
+#, c-format
+msgid "Do you want to accept the file \"%s\" (%s)?"
+msgstr "கோப்பு \"%s\" (%s) ஐ ஏற்க விருப்பமா?"
+
+#. Accept button
+#: ../src/empathy-ft-manager.c:1046
+msgid "_Accept"
+msgstr "ஏற்றுக்கொள் (_A)"
+
+#: ../src/empathy-ft-manager.ui.h:1
+msgid "File transfers"
+msgstr "கோப்பு பறிமாற்றங்கள் "
+
+#: ../src/empathy-ft-manager.ui.h:2
+msgid "Remove completed, canceled and failed file transfers from the list"
+msgstr ""
+"பூர்த்தியானது, ரத்து செய்யப்பட்டது, தோல்வி அடைந்தது ஆகிய கோப்பு பரிமாற்றங்களை பட்டியலில் "
+"இருந்து  நீக்கு "
+
+#. Translators: this is the header of a treeview column
+#: ../src/empathy-import-dialog.c:259
+msgid "Import"
+msgstr "இறக்குமதி செய்"
+
+#: ../src/empathy-import-dialog.c:268
+msgid "Protocol"
+msgstr "விதிமுறை"
+
+#: ../src/empathy-import-dialog.c:294
+msgid "Source"
+msgstr "மூலம்"
+
+#: ../src/empathy-import-dialog.c:388
+msgid ""
+"No accounts to import could be found. Empathy currently only supports "
+"importing accounts from Pidgin."
+msgstr ""
+"கணக்குகள் ஏதும் இறக்குமதி செய்ய இல்லை. எம்பதி இப்போதைக்கு பிட்ஜின் இலிருந்து மட்டுமே "
+"இறக்குமதிகளை அனுமதிக்கிறது."
+
+#: ../src/empathy-import-dialog.ui.h:1
+msgid "Import Accounts"
+msgstr "இறக்குமதி செய் கணக்குகள்"
+
+#: ../src/empathy-main-window.c:393
+msgid "_Edit account"
+msgstr "(_E) கணக்குகளை திருத்துக"
+
+#: ../src/empathy-main-window.c:496
+msgid "No error specified"
+msgstr "பிழை ஏதும் குறிப்பிடவில்லை"
+
+#: ../src/empathy-main-window.c:499
+msgid "Network error"
+msgstr "வலையமைப்பு பிழை"
+
+#: ../src/empathy-main-window.c:502
+msgid "Authentication failed"
+msgstr "உறுதி செய்தல் தோல்வி"
+
+#: ../src/empathy-main-window.c:505
+msgid "Encryption error"
+msgstr "மறையாக்க பிழை"
+
+#: ../src/empathy-main-window.c:508
+msgid "Name in use"
+msgstr "பயனில் உள்ள பெயர் "
+
+#: ../src/empathy-main-window.c:511
+msgid "Certificate not provided"
+msgstr "சான்றிதழ் தரப்படவில்லை"
+
+#: ../src/empathy-main-window.c:514
+msgid "Certificate untrusted"
+msgstr "சான்றிதழில் நம்பக தன்மை இல்லை"
+
+#: ../src/empathy-main-window.c:517
+msgid "Certificate expired"
+msgstr "சான்றிதழ் காலாவதியானது"
+
+#: ../src/empathy-main-window.c:520
+msgid "Certificate not activated"
+msgstr "சான்றிதழ் செயல்படுத்தப்படவில்லை"
+
+#: ../src/empathy-main-window.c:523
+msgid "Certificate hostname mismatch"
+msgstr "சான்றிதழ் புரவலன் பெயர் ஒத்திசையவில்லை"
+
+#: ../src/empathy-main-window.c:526
+msgid "Certificate fingerprint mismatch"
+msgstr "சான்றிதழ் அடையாளம் ஒத்திசையவில்லை"
+
+#: ../src/empathy-main-window.c:529
+msgid "Certificate self-signed"
+msgstr "சான்றிதழ் தானே கையெழுத்திட்டது"
+
+#: ../src/empathy-main-window.c:532
+msgid "Certificate error"
+msgstr "சான்றிதழ் பிழை"
+
+#: ../src/empathy-main-window.c:535
+msgid "Unknown error"
+msgstr "தெரியாத பிழை"
+
+#: ../src/empathy-main-window.c:877
+msgid "Contact"
+msgstr "தொடர்பு"
+
+#: ../src/empathy-main-window.c:1194
+msgid "Show and edit accounts"
+msgstr "கணக்குகளை காட்டவும் மற்றும் திருத்தவும் "
+
+#: ../src/empathy-main-window.ui.h:1
+msgid "Contact List"
+msgstr "தொடர்பு பட்டியல்"
+
+#: ../src/empathy-main-window.ui.h:2
+msgid "Context"
+msgstr "சூழல்"
+
+#: ../src/empathy-main-window.ui.h:3
+msgid "Join _Favorites"
+msgstr "(_F) விருப்பங்கள் சேர் "
+
+#: ../src/empathy-main-window.ui.h:4
+msgid "Manage Favorites"
+msgstr "விருப்பங்களை மேலாளுக"
+
+#: ../src/empathy-main-window.ui.h:5
+msgid "Show _File Transfers"
+msgstr "(_F) கோப்பு பறிமாற்றங்களை காட்டுக"
+
+#: ../src/empathy-main-window.ui.h:6
+msgid "Show _Offline Contacts"
+msgstr "(_O) இணைப்பு விலகி உள்ள தொடர்புகள் ஐ காட்டுக"
+
+#: ../src/empathy-main-window.ui.h:7
+msgid "_Accounts"
+msgstr "கணக்குகள் (_A)"
+
+#: ../src/empathy-main-window.ui.h:8
+msgid "_Add Contact..."
+msgstr "(_A) தொடர்பை  சேர்..."
+
+#: ../src/empathy-main-window.ui.h:10
+msgid "_Contents"
+msgstr "உள்ளடக்கங்கள் (_C)"
+
+#: ../src/empathy-main-window.ui.h:12
+msgid "_Help"
+msgstr "உதவி (_H)"
+
+#: ../src/empathy-main-window.ui.h:13
+msgid "_Join..."
+msgstr "(_J) சேர்..."
+
+#: ../src/empathy-main-window.ui.h:14 ../src/empathy-status-icon.ui.h:2
+msgid "_New Conversation..."
+msgstr "(_N) புதிய உரையாடல்..."
+
+#: ../src/empathy-main-window.ui.h:15
+msgid "_Personal Information"
+msgstr "(_P) தனிப்பட்ட தகவல்"
+
+#: ../src/empathy-main-window.ui.h:17
+msgid "_Room"
+msgstr "(_R) அறை"
+
+#: ../src/empathy-new-chatroom-dialog.c:319
+msgid "Chat Room"
+msgstr "அரட்டை அறை"
+
+#: ../src/empathy-new-chatroom-dialog.c:335
+msgid "Members"
+msgstr "உறுப்பினர்கள்"
+
+#: ../src/empathy-new-chatroom-dialog.c:464
+#, c-format
+msgctxt ""
+"Room/Join's roomlist tooltip. Parametersare a channel name, yes/no, yes/no "
+"and a number."
+msgid ""
+"<b>%s</b>\n"
+"Invite required: %s\n"
+"Password required: %s\n"
+"Members: %s"
+msgstr ""
+"<b>%s</b>\n"
+"Invite required: %s\n"
+"Password required: %s\n"
+"Members: %s"
+
+#: ../src/empathy-new-chatroom-dialog.c:466
+#: ../src/empathy-new-chatroom-dialog.c:467
+msgid "Yes"
+msgstr "ஆம்"
+
+#: ../src/empathy-new-chatroom-dialog.c:466
+#: ../src/empathy-new-chatroom-dialog.c:467
+msgid "No"
+msgstr "இல்லை"
+
+#: ../src/empathy-new-chatroom-dialog.ui.h:2
+msgid ""
+"Enter the room name to join here or click on one or more rooms in the list."
+msgstr ""
+"சேருவதற்கான அறை பெயரை இங்கு உள்ளிடுக. அல்லது பட்டியலில் உள்ள ஒன்றோ மேற்பட்ட பெயர்களையோ "
+"சொடுக்குக."
+
+#: ../src/empathy-new-chatroom-dialog.ui.h:3
+msgid ""
+"Enter the server which hosts the room, or leave it empty if the room is on "
+"the current account's server"
+msgstr ""
+"அறையை தரும் சேவையகத்தின் பெயரை இங்கு உள்ளிடுக. அல்லது அது நடப்பு சேவையகத்தில் இருந்தால் "
+"வெற்றாக விடவும்."
+
+#: ../src/empathy-new-chatroom-dialog.ui.h:4
+msgid "Join Room"
+msgstr "அறை இல் சேர் "
+
+#: ../src/empathy-new-chatroom-dialog.ui.h:5
+msgid "Room List"
+msgstr "அறை பட்டியல்"
+
+#: ../src/empathy-new-chatroom-dialog.ui.h:7
+msgid "_Room:"
+msgstr "(_R) அறை:"
+
+#: ../src/empathy-preferences.c:156
+msgid "Message received"
+msgstr "தகவல் பெறப்பட்டது"
+
+#: ../src/empathy-preferences.c:157
+msgid "Message sent"
+msgstr "தகவல் அனுப்பப்பட்டது"
+
+#: ../src/empathy-preferences.c:158
+msgid "New conversation"
+msgstr "புதிய உரையாடல்"
+
+#: ../src/empathy-preferences.c:159
+msgid "Contact goes online"
+msgstr "தொடர்பு இணைபில் வருகிறார்"
+
+#: ../src/empathy-preferences.c:160
+msgid "Contact goes offline"
+msgstr "தொடர்பு இணைப்பு விலகி செல்கிறார்"
+
+#: ../src/empathy-preferences.c:161
+msgid "Account connected"
+msgstr "கணக்கு இணைக்கப்பட்டது"
+
+#: ../src/empathy-preferences.c:162
+msgid "Account disconnected"
+msgstr "கணக்கு இணைப்பு நீக்கப்பட்டது"
+
+#: ../src/empathy-preferences.c:397
+msgid "Language"
+msgstr "மொழி"
+
+#: ../src/empathy-preferences.ui.h:1
+msgid "<b>Appearance</b>"
+msgstr "<b>தோற்றம்</b>"
+
+#: ../src/empathy-preferences.ui.h:2
+msgid "<b>Behavior</b>"
+msgstr "<b>நடத்தை</b>"
+
+#: ../src/empathy-preferences.ui.h:3
+msgid "<b>Contact List</b>"
+msgstr "<b> தொடர்பு பட்டியல்</b>"
+
+#: ../src/empathy-preferences.ui.h:4
+msgid "<b>Enable spell checking for languages:</b>"
+msgstr "<b>மொழிகளுக்கு எழுத்து பிழை திருத்தத்தை செயல்படுத்து</b>"
+
+#: ../src/empathy-preferences.ui.h:5
+msgid "<b>Play sound for events</b>"
+msgstr "<b>நிகழ்வுகளுக்கு ஒலியை இயக்கு</b>"
+
+#: ../src/empathy-preferences.ui.h:6
+msgid ""
+"<small>The list of languages reflects only the languages for which you have "
+"a dictionary installed.</small>"
+msgstr ""
+"<small>இந்த பட்டியல் நீங்கள் எந்த மொழிகளுக்கு அகராதி நிறுவி இருக்கிறீர்களோ அவற்றை மட்டுமே "
+"காட்டுகிறது</small>"
+
+#: ../src/empathy-preferences.ui.h:7
+msgid "Automatically _connect on startup "
+msgstr "(_c) துவங்கும்போது தானியங்கியாக இணை"
+
+#: ../src/empathy-preferences.ui.h:8
+msgid "Avatars are user chosen images shown in the contact list"
+msgstr "அவதாரங்கள் என்பது தொடர்பு பட்டியலில் காணப்படும் பயனர் தேர்ந்தெடுத்த பிம்பங்கள்"
+
+#: ../src/empathy-preferences.ui.h:9
+msgid "Chat Th_eme:"
+msgstr "(_e) அரட்டை கருத்து:"
+
+#: ../src/empathy-preferences.ui.h:10
+msgid "Disable notifications when _away or busy"
+msgstr "(_a) வெளியே  அல்லது வேலையில் உள்ளபோது அறிவிப்புகளை செயல் நீக்கு"
+
+#: ../src/empathy-preferences.ui.h:11
+msgid "Disable sounds when _away or busy"
+msgstr "(_a) வெளியே  அல்லது வேலையில் உள்ளபோது ஒலிகளை செயல் நீக்கு"
+
+#: ../src/empathy-preferences.ui.h:12
+msgid "Enable notifications when the _chat is not focused"
+msgstr "(_c) அரட்டை குவிப்பில் இல்லாத போது அறிவிப்புகளை செயல்படுத்து"
+
+#: ../src/empathy-preferences.ui.h:13
+msgid "General"
+msgstr "பொது"
+
+#: ../src/empathy-preferences.ui.h:14
+msgid "Notifications"
+msgstr "அறிவிப்புகள்"
+
+#: ../src/empathy-preferences.ui.h:15
+msgid "Preferences"
+msgstr "விருப்பங்கள்"
+
+#: ../src/empathy-preferences.ui.h:16
+msgid "Show _avatars"
+msgstr "(_a) அவதாரங்களை காட்டு"
+
+#: ../src/empathy-preferences.ui.h:17
+msgid "Show _smileys as images"
+msgstr "(_s) சிரிப்பான்களை பிம்பங்களாக காட்டு"
+
+#: ../src/empathy-preferences.ui.h:18
+msgid "Show co_mpact contact list"
+msgstr "(_m) அடக்கமான தொடர்பு பட்டியல் ஐ காட்டு "
+
+#: ../src/empathy-preferences.ui.h:19
+msgid "Sort by _name"
+msgstr "(_n) பெயர் ஆல் வரிசைப்படுத்து"
+
+#: ../src/empathy-preferences.ui.h:20
+msgid "Sort by s_tate"
+msgstr "(_t) நிலை வாரியாக வரிசைப்படுத்து"
+
+#: ../src/empathy-preferences.ui.h:21
+msgid "Sounds"
+msgstr "ஒலிகள்"
+
+#: ../src/empathy-preferences.ui.h:22
+msgid "Spell Checking"
+msgstr "எழுத்து பிழை திருத்தம்"
+
+#: ../src/empathy-preferences.ui.h:23
+msgid "Themes"
+msgstr "கருத்துகள்"
+
+#: ../src/empathy-preferences.ui.h:24
+msgid "_Enable bubble notifications"
+msgstr "(_E) பலூனில் அறிவிப்புகளை செயல்படுத்து"
+
+#: ../src/empathy-preferences.ui.h:25
+msgid "_Enable sound notifications"
+msgstr "(_E) ஒலி அறிவிப்புகளை செயல்படுத்து"
+
+#: ../src/empathy-preferences.ui.h:26
+msgid "_Open new chats in separate windows"
+msgstr "(_O) புதிய அரட்டைகளை தனி சாளரங்களில் திற"
+
+#: ../src/empathy-status-icon.ui.h:1
+msgid "Status"
+msgstr "நிலை"
+
+#: ../src/empathy-status-icon.ui.h:3
+msgid "_Quit"
+msgstr "வெளியேறு (_Q)"
+
+#: ../src/empathy-status-icon.ui.h:4
+msgid "_Show Contact List"
+msgstr "(_S) தொடர்பு பட்டியல் ஐ காட்டு "
+
+#: ../src/empathy-tube-dispatch.c:375
+#, c-format
+msgid "Unable to start application for service %s: %s"
+msgstr " %s சேவைக்கு பயன்பாட்டை துவக்க முடியவில்லை: %s"
+
+#: ../src/empathy-tube-dispatch.c:446
+#, c-format
+msgid ""
+"An invitation was offered for service %s, but you don't have the needed "
+"application to handle it"
+msgstr ""
+" %s சேவைக்கு அழைப்பு கொடுக்கப்பட்டது ஆனால் அதை கையாள உங்கள் கணினியில் தேவையான பயன்பாடு "
+"இல்லை"
+
+#: ../src/empathy-call-window-fullscreen.ui.h:1
+msgid "gtk-leave-fullscreen"
+msgstr "ஜிடிகே முழுத்திரையை  விட்டுவிலகு"
index 6f8f0f65d47982eaadcfda3567aabbab7a19ceac..f438882d984e794ba799d9c2e5f50c40b14b01a7 100644 (file)
     '("irc" "EMPATHY_DEBUG_IRC")
     '("dispatcher" "EMPATHY_DEBUG_DISPATCHER")
     '("ft" "EMPATHY_DEBUG_FT")
+    '("location" "EMPATHY_DEBUG_LOCATION")
     '("other" "EMPATHY_DEBUG_OTHER")
   )
 )
   )
 )
 
+(define-method new_call_with_streams
+  (of-object "EmpathyCallFactory")
+  (c-name "empathy_call_factory_new_call_with_streams")
+  (return-type "none")
+  (parameters
+    '("EmpathyContact*" "contact")
+    '("gboolean" "initial_audio")
+    '("gboolean" "initial_video")
+  )
+)
+
 (define-method claim_channel
   (of-object "EmpathyCallFactory")
   (c-name "empathy_call_factory_claim_channel")
   )
 )
 
+(define-function call_handler_new_for_contact_with_streams
+  (c-name "empathy_call_handler_new_for_contact_with_streams")
+  (return-type "EmpathyCallHandler*")
+  (parameters
+    '("EmpathyContact*" "contact")
+    '("gboolean" "audio")
+    '("gboolean" "video")
+  )
+)
+
 (define-function call_handler_new_for_channel
   (c-name "empathy_call_handler_new_for_channel")
   (return-type "EmpathyCallHandler*")
   )
 )
 
+(define-method get_location
+  (of-object "EmpathyContact")
+  (c-name "empathy_contact_get_location")
+  (return-type "GHashTable*")
+)
+
+(define-method set_location
+  (of-object "EmpathyContact")
+  (c-name "empathy_contact_set_location")
+  (return-type "none")
+  (parameters
+    '("GHashTable*" "location")
+  )
+)
+
 
 
 ;; From empathy-contact-groups.h
   (return-type "none")
   (parameters
     '("EmpathyContact*" "contact")
+    '("gboolean" "audio")
+    '("gboolean" "video")
   )
 )
 
   )
 )
 
+(define-method set_location
+  (of-object "EmpathyTpContactFactory")
+  (c-name "empathy_tp_contact_factory_set_location")
+  (return-type "none")
+  (parameters
+    '("GHashTable*" "location")
+  )
+)
+
 
 
 ;; From empathy-tp-contact-list.h
   (return-type "none")
   (parameters
     '("TpSocketAddressType" "type")
-    '("EmpatyTpTubeAcceptStreamTubeCb*" "callback")
+    '("EmpathyTpTubeAcceptStreamTubeCb*" "callback")
     '("gpointer" "user_data")
   )
 )
 
+(define-method call_when_ready
+  (of-object "EmpathyTpTube")
+  (c-name "empathy_tp_tube_call_when_ready")
+  (return-type "none")
+  (parameters
+    '("EmpathyTpTubeReadyCb*" "callback")
+    '("gpointer" "user_data")
+    '("GDestroyNotify" "destroy")
+    '("GObject*" "weak_object")
+  )
+)
+
 
 
 ;; From empathy-tube-handler.h
index 816261d3994cb09f795692c5aa0147c5f94339d1..b0ce54ae3e19c1bdeb787acfd8cd9aa6e61f091d 100644 (file)
     '("is-active" "EMPATHY_CONTACT_LIST_STORE_COL_IS_ACTIVE")
     '("is-online" "EMPATHY_CONTACT_LIST_STORE_COL_IS_ONLINE")
     '("is-separator" "EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR")
-    '("can-voip" "EMPATHY_CONTACT_LIST_STORE_COL_CAN_VOIP")
+    '("can-audio-call" "EMPATHY_CONTACT_LIST_STORE_COL_CAN_AUDIO_CALL")
+    '("can-video-call" "EMPATHY_CONTACT_LIST_STORE_COL_CAN_VIDEO_CALL")
     '("count" "EMPATHY_CONTACT_LIST_STORE_COL_COUNT")
   )
 )
   (return-type "GtkWidget*")
 )
 
-(define-method call_menu_item_new
+(define-method audio_call_menu_item_new
   (of-object "EmpathyContact")
-  (c-name "empathy_contact_call_menu_item_new")
+  (c-name "empathy_contact_audio_call_menu_item_new")
+  (return-type "GtkWidget*")
+)
+
+(define-method video_call_menu_item_new
+  (of-object "EmpathyContact")
+  (c-name "empathy_contact_video_call_menu_item_new")
   (return-type "GtkWidget*")
 )
 
index 60977d502a7f4a11af6ac11ecc156c31eafcc06b..9d20d1ab621d1d80192552e2255ddd3fc4411a78 100755 (executable)
@@ -5,9 +5,11 @@ import re
 import urllib
 import csv
 import datetime
+import time
 from string import Template
 from optparse import OptionParser
 
+last_tag_patern = 'EMPATHY_2_27*'
 username = 'xclaesse'
 upload_server = 'master.gnome.org'
 template = '''\
@@ -66,6 +68,10 @@ class Project:
                        version_dir = self.package_version[:second]
                self.package_dl_url = 'http://download.gnome.org/sources/%s/%s/' % (self.package_name.lower(), 
                                                                                    version_dir)
+               tags_str = self.exec_cmd('git tag -l %s' % (last_tag_patern))
+               tags = tags_str.splitlines()
+               self.last_tag = tags[len(tags)-1]
+
        def exec_cmd(self,cmd):
                return os.popen(cmd).read()
 
@@ -128,51 +134,46 @@ class Project:
                t = Template(template)
                return t.substitute(locals())
        
-       def get_last_tag(self):
-               tags_str = self.exec_cmd('git tag')
-               tags = tags_str.splitlines()
-
-               return tags[len(tags)-1]
-
-       def parse_commit(self, ref, author, date, message):
-               p1 = message.rfind('(')
-               p2 = message.rfind (')')
-               if len(message) - p2 <= 2 and \
-                  message[p1+1:].find('#') == -1:
-                       author = message[p1+1:p2]
-                       message = message[:p1]
-
-               msg = message.lower()
-               if msg.find('translation') != -1 and \
-                  (msg.find('added') != -1 or \
-                   msg.find('updated') != -1):
-                       self.translations += ' - ' + message + ' (' + author + ').\n' 
-               elif message.find('#') != -1:
-                       p1 = message.find('#')
-                       while p1 != -1:
-                               bug = Bug()
-                               p2 = p1 + 1
-                               while p2 < len (message) and \
-                                     message[p2].isdigit():
-                                       p2 = p2 + 1
-                               bug.number = message[p1+1:p2]
-                               bug.author = author
-                               self.bug_commits.append(bug)
-                               p1 = message.find('#', p2)
-               else:
-                       self.commits += ' - ' + message + ' (' + author + ').\n'
-
-       def query_bug_commits(self):
-               bugs = ''
-               for bug in self.bug_commits:
-                       bugs += bug.number + ','
-
-               # Bugzilla query to use
-               query = 'http://bugzilla.gnome.org/buglist.cgi?ctype=csv' \
-                       '&bug_status=RESOLVED,CLOSED,VERIFIED' \
-                       '&resolution=FIXED' \
-                       '&bug_id=' + bugs.replace(',', '%2c')
-
+       def get_translations(self, cmd, format):
+               translations = ''
+               files_str = self.exec_cmd(cmd)
+               files = files_str.splitlines()
+               for line in files:
+                       f = line[line.rfind(' '):]
+                       lang = f[f.rfind('/')+1:f.rfind('.')]
+                       commit_str = self.exec_cmd("git log %s..  %s" % (self.last_tag, f))
+                       if commit_str == '':
+                               continue
+
+                       authors = ''
+                       for line in commit_str.splitlines():
+                               if line.startswith('Author:'):
+                                       p1 = line.find(' ')
+                                       p2 = line.find('<')
+                                       author = line[p1:p2].strip()
+
+                                       if authors.find(author) != -1:
+                                               continue
+                                       if authors != '':
+                                               authors += ", "
+                                       authors += author
+
+                       translations += format % (lang, authors)
+               return translations
+
+       def get_bugs(self):
+               commit_str = self.exec_cmd('git show %s' % (self.last_tag))
+               for line in commit_str.splitlines():
+                       if line.startswith('Date:'):
+                               time_str = line[5:line.rfind('+')].strip()
+                               t = time.strptime(time_str)
+                               last_tag_date = time.strftime('%Y-%m-%d', t)
+                               break
+
+               query = 'http://bugzilla.gnome.org/buglist.cgi?' \
+                       'ctype=csv&product=empathy&' \
+                       'bug_status=RESOLVED,CLOSED,VERIFIED&resolution=FIXED&' \
+                       'chfieldfrom=%s&chfieldto=Now' % (last_tag_date)
                f = urllib.urlopen(query)
                s = f.read()
                f.close()
@@ -191,82 +192,28 @@ class Project:
                                col_description = i
                        i = i + 1
 
+               bugs = ''
                for row in reader:
                        bug_number = row[col_bug_id]
                        description = row[col_description]
-
-                       for bug in self.bug_commits:
-                               if bug.number == bug_number:
-                                       self.bugs += ' - Fixed #%s, %s (%s)\n' % (bug.number, description, bug.author)
-                                       break
-
-       def get_commits(self):
-               self.commits = ''
-               self.translations = ''
-               self.bugs = ''
-               self.bug_commits = []
-               last_tag = self.get_last_tag()
-               ref = None
-
-               changes = self.exec_cmd ("git log " + last_tag + "..")
-               for line in changes.splitlines(1):
-                       if line.startswith('commit'):
-                               if ref != None:
-                                       self.parse_commit (ref, author, date, message)
-                               p1 = line.find(' ')
-                               ref = line[p1:].strip()
-                               author = ''
-                               date = ''
-                               message = ''
-                       elif line.startswith('Author:'):
-                               p1 = line.find(' ')
-                               p2 = line.find('<')
-                               author = line[p1:p2].strip()
-                       elif line.startswith('Date:'):
-                               p1 = line.find(' ')
-                               date = line[p1:].strip()
-                       elif line.startswith('    git-svn-id:'):
-                               continue
-                       elif line.startswith('    Signed-off-by:'):
-                               continue
-                       elif line.startswith('    From:'):
-                               continue
-                       elif line.startswith('Merge:'):
-                               continue
-                       else:
-                               msg = line.strip()
-                               if msg == '':
-                                       continue
-                               if message != '':
-                                       message += '\n'
-                               message += msg
-
-               if len (self.bug_commits) > 0:
-                       self.query_bug_commits ()
-
-       def make_tag(self):
-               new_tag = self.package_name.upper() + '_' +\
-                         self.package_version.replace('.', '_')
-
-               info = self.exec_cmd('git svn info | grep URL')
-               url1 = info[info.find(" "):].strip()
-               
-               end = url1.find("empathy")
-               end = url1.find("/", end)
-               url2 = url1[:end] + '/tags/' + new_tag
-
-               self.exec_cmd('svn copy %s %s -m "Tagged for release %s."' % (url1, url2, self.package_version))
-               self.exec_cmd('git tag -m "Tagged for release %s." %s' % ( self.package_version, new_tag))
+                       bugs += ' - Fixed #%s, %s\n' % (bug_number, description)
+               return bugs
 
        def generate_news(self):
-               self.get_commits()
+               translations = self.get_translations("ls -l po/*.po", \
+                       " - Updated %s Translation (%s)\n")
+               help_translations = self.get_translations("ls -l help/*/*.po", \
+                       " - Updated %s Documentation translation (%s)\n")
+               bugs = self.get_bugs()
+
                news = 'NEW in '+ self.package_version + '\n==============\n'
-               if self.commits != '':
-                       news += self.commits + '\n'
-               if self.bugs != '':
-                       news += 'Bugs fixed:\n' + self.bugs + '\n'
-               if self.translations != '':
-                       news += 'Translations:\n' + self.translations + '\n'
+               if bugs != '':
+                       news += 'Bugs fixed:\n' + bugs + '\n'
+               if translations != '':
+                       news += 'Translations:\n' + translations + '\n'
+               if help_translations != '':
+                       news += 'Documentation translations:\n' + \
+                               help_translations + '\n'
 
                return news
 
@@ -280,6 +227,11 @@ class Project:
                self.exec_cmd('cat NEWS >> /tmp/NEWS')
                self.exec_cmd('mv /tmp/NEWS .')
 
+       def make_tag(self):
+               new_tag = self.package_name.upper() + '_' +\
+                         self.package_version.replace('.', '_')
+               self.exec_cmd('git tag -m "Tagged for release %s." %s' % ( self.package_version, new_tag))
+
        def upload_tarball(self):
                tarball = '%s-%s.tar.gz' % (self.package_name.lower(), self.package_version)
 
index f24ef3e95aa6873f2c60a4d8704b2d8939ffb0cb..58f30ad7d5b6263e5d664f21a184b997f5febf17 100644 (file)
@@ -22,12 +22,12 @@ BUILT_SOURCES= \
        empathy-tube-dispatch-enumtypes.h \
        empathy-tube-dispatch-enumtypes.c
 
-empathy_SOURCES =                                                      \
-       bacon-message-connection.c bacon-message-connection.h           \
+empathy_handwritten_source = \
        empathy.c                                                       \
        empathy-about-dialog.c empathy-about-dialog.h                   \
        empathy-accounts-dialog.c empathy-accounts-dialog.h             \
        empathy-call-window.c empathy-call-window.h                     \
+       empathy-call-window-fullscreen.c empathy-call-window-fullscreen.h                       \
        empathy-chatrooms-window.c empathy-chatrooms-window.h           \
        empathy-chat-window.c empathy-chat-window.h                     \
        empathy-event-manager.c empathy-event-manager.h                 \
@@ -40,17 +40,28 @@ empathy_SOURCES =                                                   \
        empathy-preferences.c empathy-preferences.h                     \
        empathy-sidebar.c empathy-sidebar.h                     \
        empathy-status-icon.c empathy-status-icon.h                     \
-       empathy-tube-dispatch.c empathy-tube-dispatch.h                 \
+       empathy-tube-dispatch.c empathy-tube-dispatch.h
+
+empathy_SOURCES =                                                      \
+       $(empathy_handwritten_source)                                   \
+       bacon-message-connection.c bacon-message-connection.h           \
        ephy-spinner.c ephy-spinner.h
 
 nodist_empathy_SOURCES = $(BUILT_SOURCES)
 
 empathy_logs_SOURCES = empathy-logs.c
 
+check_c_sources = \
+    $(empathy_handwritten_source) \
+    $(empathy_logs_SOURCES)
+include $(top_srcdir)/tools/check-coding-style.mk
+check-local: check-coding-style
+
 uidir = $(datadir)/empathy
 ui_DATA =                                      \
        empathy-accounts-dialog.ui              \
        empathy-call-window.ui                  \
+       empathy-call-window-fullscreen.ui                       \
        empathy-chatrooms-window.ui             \
        empathy-chat-window.ui                  \
        empathy-ft-manager.ui                   \
index a743f22c4913a372026c22fd2c2259428dae850b..dea3a51908871cfbe558c38ac5cfea43ac274d77 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Martyn Russell <martyn@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
  */
index e7eac5ff982f50f8bde46692bbccaeb925d2b562..3e8f405315e0c9b84f76e99380c28888cbd115d6 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Martyn Russell <martyn@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
  */
index e15c0eab1f070809d9d7372f84514fe0a7803d3f..e311ac6377a2b3381b70c4f901714f00f4178a98 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Martyn Russell <martyn@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
  */
@@ -217,9 +217,9 @@ accounts_dialog_update_account (EmpathyAccountsDialog *dialog,
        profile = mc_account_get_profile (account);
        config_ui = mc_profile_get_configuration_ui (profile);
        if (!tp_strdiff (config_ui, "jabber")) {
-               dialog->settings_widget = 
+               dialog->settings_widget =
                        empathy_account_widget_jabber_new (account);
-       } 
+       }
        else if (!tp_strdiff (config_ui, "msn")) {
                dialog ->settings_widget =
                        empathy_account_widget_msn_new (account);
@@ -232,11 +232,11 @@ accounts_dialog_update_account (EmpathyAccountsDialog *dialog,
                dialog->settings_widget =
                        empathy_account_widget_irc_new (account);
        }
-       else if (!tp_strdiff(config_ui, "icq")) {
+       else if (!tp_strdiff (config_ui, "icq")) {
                dialog->settings_widget =
                        empathy_account_widget_icq_new (account);
        }
-       else if (!tp_strdiff(config_ui, "aim")) {
+       else if (!tp_strdiff (config_ui, "aim")) {
                dialog->settings_widget =
                        empathy_account_widget_aim_new (account);
        }
@@ -253,7 +253,7 @@ accounts_dialog_update_account (EmpathyAccountsDialog *dialog,
                        empathy_account_widget_groupwise_new (account);
        }
        else {
-               dialog->settings_widget = 
+               dialog->settings_widget =
                        empathy_account_widget_generic_new (account);
        }
 
@@ -358,7 +358,7 @@ accounts_dialog_enable_toggled_cb (GtkCellRendererToggle *cell_renderer,
        mc_account_set_enabled (account, !enabled);
 
        DEBUG ("%s account %s", enabled ? "Disabled" : "Enable",
-               mc_account_get_display_name(account));
+               mc_account_get_display_name (account));
 
        g_object_unref (account);
 }
@@ -469,7 +469,7 @@ accounts_dialog_model_pixbuf_data_func (GtkTreeViewColumn    *tree_column,
 
        if (pixbuf) {
                if (status == TP_CONNECTION_STATUS_DISCONNECTED ||
-                   (status == TP_CONNECTION_STATUS_CONNECTING && 
+                   (status == TP_CONNECTION_STATUS_CONNECTING &&
                     !dialog->connecting_show)) {
                        GdkPixbuf *modded_pixbuf;
 
@@ -954,10 +954,10 @@ accounts_dialog_button_remove_clicked_cb (GtkWidget            *button,
                   "they will still be available."));
 
        gtk_dialog_add_button (GTK_DIALOG (message_dialog),
-                              GTK_STOCK_CANCEL, 
+                              GTK_STOCK_CANCEL,
                               GTK_RESPONSE_NO);
        gtk_dialog_add_button (GTK_DIALOG (message_dialog),
-                              GTK_STOCK_REMOVE, 
+                              GTK_STOCK_REMOVE,
                               GTK_RESPONSE_YES);
 
        gtk_widget_show (message_dialog);
index 369b2f75b025c883106df72dcfcbd4eab03b8ffb..40ea24f3e5ce17a68513e9c0a343af7c043ae185 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Martyn Russell <martyn@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
  */
diff --git a/src/empathy-call-window-fullscreen.c b/src/empathy-call-window-fullscreen.c
new file mode 100644 (file)
index 0000000..33f4085
--- /dev/null
@@ -0,0 +1,294 @@
+/*
+ * empathy-call-window-fullscreen.c - Source for EmpathyCallWindowFullscreen
+ * Copyright (C) 2009 Collabora Ltd.
+ *
+ * Some code is based on the Totem Movie Player, especially
+ * totem-fullscreen.c which has the following copyright:
+ * Copyright (C) 2001-2007 Bastien Nocera <hadess@hadess.net>
+ * Copyright (C) 2007 Sunil Mohan Adapa <sunilmohan@gnu.org.in>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include "empathy-call-window-fullscreen.h"
+
+#include <gtk/gtk.h>
+
+#include <libempathy/empathy-utils.h>
+#include <libempathy-gtk/empathy-ui-utils.h>
+
+/* The number of seconds for which the "leave fullscreen" popup should
+   be shown */
+#define FULLSCREEN_POPUP_TIMEOUT 5
+
+G_DEFINE_TYPE (EmpathyCallWindowFullscreen, empathy_call_window_fullscreen,
+    G_TYPE_OBJECT)
+
+/* private structure */
+typedef struct _EmpathyCallWindowFullscreenPriv
+    EmpathyCallWindowFullscreenPriv;
+
+struct _EmpathyCallWindowFullscreenPriv
+{
+  EmpathyCallWindow *parent_window;
+
+  GtkWidget *leave_fullscreen_popup;
+  GtkWidget *video_widget;
+
+  guint popup_timeout;
+  gboolean popup_creation_in_progress;
+  gboolean dispose_has_run;
+};
+
+#define GET_PRIV(o) \
+  (G_TYPE_INSTANCE_GET_PRIVATE ((o), EMPATHY_TYPE_CALL_WINDOW_FULLSCREEN, \
+    EmpathyCallWindowFullscreenPriv))
+
+static void empathy_call_window_fullscreen_dispose (GObject *object);
+static void empathy_call_window_fullscreen_finalize (GObject *object);
+
+static gboolean empathy_call_window_fullscreen_hide_popup (
+    EmpathyCallWindowFullscreen *fs);
+
+static void
+empathy_call_window_fullscreen_set_cursor_visible (
+    EmpathyCallWindowFullscreen *fs,
+    gboolean show_cursor)
+{
+  EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (fs);
+
+  if (priv->video_widget != NULL && !show_cursor)
+    {
+      gdk_window_set_cursor (priv->video_widget->window,
+          gdk_cursor_new (GDK_BLANK_CURSOR));
+    }
+  else
+    gdk_window_set_cursor (priv->video_widget->window, NULL);
+}
+
+static void
+empathy_call_window_fullscreen_add_popup_timeout (
+    EmpathyCallWindowFullscreen *self)
+{
+  EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (self);
+
+  if (priv->popup_timeout == 0)
+    {
+      priv->popup_timeout = g_timeout_add_seconds (FULLSCREEN_POPUP_TIMEOUT,
+          (GSourceFunc) empathy_call_window_fullscreen_hide_popup, self);
+    }
+}
+
+static void
+empathy_call_window_fullscreen_remove_popup_timeout (
+    EmpathyCallWindowFullscreen *self)
+{
+  EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (self);
+
+  if (priv->popup_timeout != 0)
+    {
+      g_source_remove (priv->popup_timeout);
+      priv->popup_timeout = 0;
+    }
+}
+
+void
+empathy_call_window_fullscreen_show_popup (EmpathyCallWindowFullscreen *self)
+{
+  gint leave_fullscreen_width, leave_fullscreen_height;
+  GdkScreen *screen;
+  GdkRectangle fullscreen_rect;
+  EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (self);
+
+  g_assert (self->is_fullscreen);
+
+  g_return_if_fail (priv->parent_window != NULL);
+
+  if (priv->popup_creation_in_progress)
+    return;
+
+  if (!gtk_window_is_active (GTK_WINDOW (priv->parent_window)))
+    return;
+
+  priv->popup_creation_in_progress = TRUE;
+
+  empathy_call_window_fullscreen_set_cursor_visible (self, TRUE);
+
+  /* Obtaining the screen rectangle */
+  screen = gtk_window_get_screen (GTK_WINDOW (priv->parent_window));
+  gdk_screen_get_monitor_geometry (screen,
+      gdk_screen_get_monitor_at_window (screen,
+          GTK_WIDGET (priv->parent_window)->window),
+      &fullscreen_rect);
+
+  /* Getting the popup window sizes */
+  gtk_window_get_size (GTK_WINDOW (priv->leave_fullscreen_popup),
+      &leave_fullscreen_width, &leave_fullscreen_height);
+
+  /* Moving the popup to the top-right corner (if the direction is LTR) or the
+     top-left corner (if the direction is RTL).*/
+  if (gtk_widget_get_direction (priv->leave_fullscreen_popup)
+        == GTK_TEXT_DIR_LTR)
+    {
+      gtk_window_move (GTK_WINDOW (priv->leave_fullscreen_popup),
+          fullscreen_rect.width + fullscreen_rect.x - leave_fullscreen_width,
+          fullscreen_rect.y);
+
+    }
+  else
+    {
+      gtk_window_move (GTK_WINDOW (priv->leave_fullscreen_popup),
+          fullscreen_rect.x, fullscreen_rect.y);
+    }
+
+  gtk_widget_show_all (priv->leave_fullscreen_popup);
+  empathy_call_window_fullscreen_add_popup_timeout (self);
+
+  priv->popup_creation_in_progress = FALSE;
+}
+
+static gboolean
+empathy_call_window_fullscreen_hide_popup (EmpathyCallWindowFullscreen *fs)
+{
+  EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (fs);
+
+  if (priv->video_widget == NULL || !fs->is_fullscreen)
+    return TRUE;
+
+  gtk_widget_hide (priv->leave_fullscreen_popup);
+  empathy_call_window_fullscreen_remove_popup_timeout (fs);
+
+  empathy_call_window_fullscreen_set_cursor_visible (fs, FALSE);
+
+  return FALSE;
+}
+
+static void
+empathy_call_window_fullscreen_init (EmpathyCallWindowFullscreen *self)
+{
+  EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (self);
+  GtkBuilder *gui;
+  gchar *filename;
+
+  filename = empathy_file_lookup ("empathy-call-window-fullscreen.ui", "src");
+  gui = empathy_builder_get_file (filename,
+    "leave_fullscreen_window", &priv->leave_fullscreen_popup,
+    "leave_fullscreen_button", &self->leave_fullscreen_button,
+    NULL);
+
+  gtk_widget_add_events (priv->leave_fullscreen_popup, GDK_POINTER_MOTION_MASK);
+
+  g_object_unref (gui);
+  g_free (filename);
+}
+
+static void
+empathy_call_window_fullscreen_class_init (
+    EmpathyCallWindowFullscreenClass *klass)
+{
+  GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+  g_type_class_add_private (klass, sizeof (EmpathyCallWindowFullscreenPriv));
+
+  object_class->dispose = empathy_call_window_fullscreen_dispose;
+  object_class->finalize = empathy_call_window_fullscreen_finalize;
+}
+
+void
+empathy_call_window_fullscreen_dispose (GObject *object)
+{
+  EmpathyCallWindowFullscreen *self = EMPATHY_CALL_WINDOW_FULLSCREEN (object);
+  EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (self);
+
+  if (priv->dispose_has_run)
+    return;
+
+  priv->dispose_has_run = TRUE;
+
+  if (priv->leave_fullscreen_popup != NULL)
+    gtk_widget_destroy (priv->leave_fullscreen_popup);
+  priv->leave_fullscreen_popup = NULL;
+
+  if (G_OBJECT_CLASS (empathy_call_window_fullscreen_parent_class)->dispose)
+    {
+      G_OBJECT_CLASS (
+          empathy_call_window_fullscreen_parent_class)->dispose (object);
+    }
+}
+
+void
+empathy_call_window_fullscreen_finalize (GObject *object)
+{
+  EmpathyCallWindowFullscreen *self = EMPATHY_CALL_WINDOW_FULLSCREEN (object);
+
+  empathy_call_window_fullscreen_remove_popup_timeout (self);
+
+  G_OBJECT_CLASS (
+      empathy_call_window_fullscreen_parent_class)->finalize (object);
+}
+
+static void
+empathy_call_window_fullscreen_parent_window_notify (GtkWidget *parent_window,
+    GParamSpec *property, EmpathyCallWindowFullscreen *fs)
+{
+  EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (fs);
+
+  if (!fs->is_fullscreen)
+    return;
+
+  if (parent_window == GTK_WIDGET (priv->parent_window) &&
+        !gtk_window_is_active (GTK_WINDOW (parent_window)))
+    {
+      empathy_call_window_fullscreen_hide_popup (fs);
+      empathy_call_window_fullscreen_set_cursor_visible (fs, TRUE);
+    }
+}
+
+EmpathyCallWindowFullscreen *
+empathy_call_window_fullscreen_new (EmpathyCallWindow *parent_window)
+{
+  EmpathyCallWindowFullscreen *self = EMPATHY_CALL_WINDOW_FULLSCREEN (
+    g_object_new (EMPATHY_TYPE_CALL_WINDOW_FULLSCREEN, NULL));
+  EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (self);
+
+  priv->parent_window = parent_window;
+  g_signal_connect (G_OBJECT (priv->parent_window), "notify::is-active",
+    G_CALLBACK (empathy_call_window_fullscreen_parent_window_notify), self);
+
+  return self;
+}
+
+void
+empathy_call_window_fullscreen_set_fullscreen (EmpathyCallWindowFullscreen *fs,
+  gboolean set_fullscreen)
+{
+
+  if (set_fullscreen)
+      empathy_call_window_fullscreen_remove_popup_timeout (fs);
+  else
+      empathy_call_window_fullscreen_hide_popup (fs);
+
+  empathy_call_window_fullscreen_set_cursor_visible (fs, !set_fullscreen);
+  fs->is_fullscreen = set_fullscreen;
+}
+
+void
+empathy_call_window_fullscreen_set_video_widget (
+    EmpathyCallWindowFullscreen *fs,
+    GtkWidget *video_widget)
+{
+  EmpathyCallWindowFullscreenPriv *priv = GET_PRIV (fs);
+  priv->video_widget = video_widget;
+}
diff --git a/src/empathy-call-window-fullscreen.h b/src/empathy-call-window-fullscreen.h
new file mode 100644 (file)
index 0000000..8bde16c
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * empathy-call-window-fullscreen.h - Header for EmpathyCallWindowFullscreen
+ * Copyright (C) 2009 Collabora Ltd.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#ifndef __EMPATHY_CALL_WINDOW_FULLSCREEN_H__
+#define __EMPATHY_CALL_WINDOW_FULLSCREEN_H__
+
+#include <glib-object.h>
+#include <gtk/gtk.h>
+
+#include "empathy-call-window.h"
+
+G_BEGIN_DECLS
+
+typedef struct _EmpathyCallWindowFullscreen EmpathyCallWindowFullscreen;
+typedef struct _EmpathyCallWindowFullscreenClass
+    EmpathyCallWindowFullscreenClass;
+
+struct _EmpathyCallWindowFullscreenClass {
+  GObjectClass parent_class;
+};
+
+struct _EmpathyCallWindowFullscreen {
+  GObject parent;
+  gboolean is_fullscreen;
+  GtkWidget *leave_fullscreen_button;
+};
+
+GType empathy_call_window_fullscreen_get_type (void);
+
+/* TYPE MACROS */
+#define EMPATHY_TYPE_CALL_WINDOW_FULLSCREEN \
+  (empathy_call_window_fullscreen_get_type ())
+#define EMPATHY_CALL_WINDOW_FULLSCREEN(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), EMPATHY_TYPE_CALL_WINDOW_FULLSCREEN, \
+    EmpathyCallWindowFullscreen))
+#define EMPATHY_CALL_WINDOW_FULLSCREEN_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), EMPATHY_TYPE_CALL_WINDOW_FULLSCREEN, \
+    EmpathyCallWindowClassFullscreen))
+#define EMPATHY_IS_CALL_WINDOW_FULLSCREEN(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj), EMPATHY_TYPE_CALL_WINDOW_FULLSCREEN))
+#define EMPATHY_IS_CALL_WINDOW_FULLSCREEN_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass), EMPATHY_TYPE_CALL_WINDOW_FULLSCREEN))
+#define EMPATHY_CALL_WINDOW_FULLSCREEN_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj), EMPATHY_TYPE_CALL_WINDOW_FULLSCREEN, \
+    EmpathyCallWindowFullscreenClass))
+
+EmpathyCallWindowFullscreen *empathy_call_window_fullscreen_new (
+    EmpathyCallWindow *parent);
+
+void empathy_call_window_fullscreen_set_fullscreen (
+    EmpathyCallWindowFullscreen *fs,
+    gboolean set_fullscreen);
+void empathy_call_window_fullscreen_set_video_widget (
+    EmpathyCallWindowFullscreen *fs,
+    GtkWidget *video_widget);
+void empathy_call_window_fullscreen_show_popup (
+    EmpathyCallWindowFullscreen *fs);
+
+G_END_DECLS
+
+#endif /* #ifndef __EMPATHY_CALL_WINDOW_FULLSCREEN_H__*/
diff --git a/src/empathy-call-window-fullscreen.ui b/src/empathy-call-window-fullscreen.ui
new file mode 100644 (file)
index 0000000..5bf5e50
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<interface>
+  <requires lib="gtk+" version="2.16"/>
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="GtkWindow" id="leave_fullscreen_window">
+    <property name="type">popup</property>
+    <property name="resizable">False</property>
+    <property name="skip_taskbar_hint">True</property>
+    <property name="skip_pager_hint">True</property>
+    <property name="decorated">False</property>
+    <property name="deletable">False</property>
+    <signal name="motion_notify_event" handler="empathy_call_window_fullscreen_motion_notify_cb"/>
+    <child>
+      <object class="GtkButton" id="leave_fullscreen_button">
+        <property name="label" translatable="yes">gtk-leave-fullscreen</property>
+        <property name="visible">True</property>
+        <property name="can_focus">True</property>
+        <property name="receives_default">True</property>
+        <property name="use_stock">True</property>
+      </object>
+    </child>
+  </object>
+</interface>
index 22a9eef44e1ee28b31f2021e8de286622fea202d..ceab7d00c74928523988fc7b425ec32add898104 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <math.h>
 
+#include <gdk/gdkkeysyms.h>
 #include <gst/gst.h>
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
 
 #include "empathy-call-window.h"
 
+#include "empathy-call-window-fullscreen.h"
 #include "empathy-sidebar.h"
 
 #define BUTTON_ID "empathy-call-dtmf-button-id"
 
+#define CONTENT_HBOX_BORDER_WIDTH 6
+#define CONTENT_HBOX_SPACING 3
+#define CONTENT_HBOX_CHILDREN_PACKING_PADDING 3
+
 G_DEFINE_TYPE(EmpathyCallWindow, empathy_call_window, GTK_TYPE_WINDOW)
 
 /* signal enum */
@@ -82,6 +88,17 @@ struct _EmpathyCallWindowPriv
   GtkWidget *toolbar;
   GtkWidget *pane;
   GtkAction *send_video;
+  GtkAction *menu_fullscreen;
+
+  /* We keep a reference on the hbox which contains the main content so we can
+     easilly repack everything when toggling fullscreen */
+  GtkWidget *content_hbox;
+
+  /* This vbox is contained in the content_hbox. When toggling fullscreen,
+     it needs to be repacked. We keep a reference on it for easier access. */
+  GtkWidget *vbox;
+
+  gulong video_output_motion_handler_id;
 
   gdouble volume;
   GtkAdjustment *audio_input_adj;
@@ -109,6 +126,15 @@ struct _EmpathyCallWindowPriv
   GMutex *lock;
   gboolean call_started;
   gboolean sending_video;
+
+  EmpathyCallWindowFullscreen *fullscreen;
+  gboolean is_fullscreen;
+
+  /* Those fields represent the state of the window before it actually was in
+     fullscreen mode. */
+  gboolean sidebar_was_visible_before_fs;
+  gint original_width_before_fs;
+  gint original_height_before_fs;
 };
 
 #define GET_PRIV(o) \
@@ -119,7 +145,10 @@ static void empathy_call_window_realized_cb (GtkWidget *widget,
   EmpathyCallWindow *window);
 
 static gboolean empathy_call_window_delete_cb (GtkWidget *widget,
-  GdkEvent*event, EmpathyCallWindow *window);
+  GdkEvent *event, EmpathyCallWindow *window);
+
+static gboolean empathy_call_window_state_event_cb (GtkWidget *widget,
+  GdkEventWindowState *event, EmpathyCallWindow *window);
 
 static void empathy_call_window_sidebar_toggled_cb (GtkToggleButton *toggle,
   EmpathyCallWindow *window);
@@ -139,9 +168,29 @@ static void empathy_call_window_mic_toggled_cb (
 static void empathy_call_window_sidebar_hidden_cb (EmpathySidebar *sidebar,
   EmpathyCallWindow *window);
 
+static void empathy_call_window_sidebar_shown_cb (EmpathySidebar *sidebar,
+  EmpathyCallWindow *window);
+
 static void empathy_call_window_hangup_cb (gpointer object,
   EmpathyCallWindow *window);
 
+static void empathy_call_window_fullscreen_cb (gpointer object,
+  EmpathyCallWindow *window);
+
+static void empathy_call_window_fullscreen_toggle (EmpathyCallWindow *window);
+
+static gboolean empathy_call_window_video_button_press_cb (GtkWidget *video_output,
+  GdkEventButton *event, EmpathyCallWindow *window);
+
+static gboolean empathy_call_window_key_press_cb (GtkWidget *video_output,
+  GdkEventKey *event, EmpathyCallWindow *window);
+
+static gboolean empathy_call_window_video_output_motion_notify (GtkWidget *widget,
+  GdkEventMotion *event, EmpathyCallWindow *window);
+
+static void empathy_call_window_video_menu_popup (EmpathyCallWindow *window,
+  guint button);
+
 static void empathy_call_window_status_message (EmpathyCallWindow *window,
   gchar *message);
 
@@ -459,8 +508,8 @@ empathy_call_window_init (EmpathyCallWindow *self)
 {
   EmpathyCallWindowPriv *priv = GET_PRIV (self);
   GtkBuilder *gui;
-  GtkWidget *vbox, *top_vbox;
-  GtkWidget *hbox, *h;
+  GtkWidget *top_vbox;
+  GtkWidget *h;
   GtkWidget *arrow;
   GtkWidget *page;
   GstBus *bus;
@@ -476,6 +525,7 @@ empathy_call_window_init (EmpathyCallWindow *self)
     "toolbar", &priv->toolbar,
     "send_video", &priv->send_video,
     "ui_manager", &priv->ui_manager,
+    "menufullscreen", &priv->menu_fullscreen,
     NULL);
 
   empathy_builder_connect (gui, self,
@@ -485,6 +535,7 @@ empathy_call_window_init (EmpathyCallWindow *self)
     "camera", "toggled", empathy_call_window_camera_toggled_cb,
     "send_video", "toggled", empathy_call_window_send_video_toggled_cb,
     "show_preview", "toggled", empathy_call_window_show_preview_toggled_cb,
+    "menufullscreen", "activate", empathy_call_window_fullscreen_cb,
     NULL);
 
   priv->lock = g_mutex_new ();
@@ -495,27 +546,34 @@ empathy_call_window_init (EmpathyCallWindow *self)
 
   priv->pipeline = gst_pipeline_new (NULL);
 
-  hbox = gtk_hbox_new (FALSE, 3);
-  gtk_container_set_border_width (GTK_CONTAINER (hbox), 6);
-  gtk_paned_pack1 (GTK_PANED (priv->pane), hbox, TRUE, FALSE);
+  priv->content_hbox = gtk_hbox_new (FALSE, CONTENT_HBOX_SPACING);
+  gtk_container_set_border_width (GTK_CONTAINER (priv->content_hbox),
+                                  CONTENT_HBOX_BORDER_WIDTH);
+  gtk_paned_pack1 (GTK_PANED (priv->pane), priv->content_hbox, TRUE, FALSE);
 
   bus = gst_pipeline_get_bus (GST_PIPELINE (priv->pipeline));
 
   gst_bus_add_watch (bus, empathy_call_window_bus_message, self);
 
   priv->video_output = empathy_video_widget_new (bus);
-  gtk_box_pack_start (GTK_BOX (hbox), priv->video_output, TRUE, TRUE, 3);
+  gtk_box_pack_start (GTK_BOX (priv->content_hbox), priv->video_output,
+                      TRUE, TRUE, CONTENT_HBOX_CHILDREN_PACKING_PADDING);
+  gtk_widget_add_events (priv->video_output,
+      GDK_BUTTON_PRESS_MASK | GDK_POINTER_MOTION_MASK);
+  g_signal_connect (G_OBJECT (priv->video_output), "button-press-event",
+      G_CALLBACK (empathy_call_window_video_button_press_cb), self);
 
   priv->video_tee = gst_element_factory_make ("tee", NULL);
   gst_object_ref (priv->video_tee);
   gst_object_sink (priv->video_tee);
 
-  vbox = gtk_vbox_new (FALSE, 3);
-  gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 3);
+  priv->vbox = gtk_vbox_new (FALSE, 3);
+  gtk_box_pack_start (GTK_BOX (priv->content_hbox), priv->vbox,
+                      FALSE, FALSE, CONTENT_HBOX_CHILDREN_PACKING_PADDING);
 
   priv->video_preview = empathy_video_widget_new_with_size (bus, 160, 120);
   g_object_set (priv->video_preview, "sync", FALSE, "async", TRUE, NULL);
-  gtk_box_pack_start (GTK_BOX (vbox), priv->video_preview, FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (priv->vbox), priv->video_preview, FALSE, FALSE, 0);
 
   priv->video_input = empathy_video_src_new ();
   gst_object_ref (priv->video_input);
@@ -539,13 +597,14 @@ empathy_call_window_init (EmpathyCallWindow *self)
   gtk_button_set_image (GTK_BUTTON (priv->sidebar_button), arrow);
 
   h = gtk_hbox_new (FALSE, 3);
-  gtk_box_pack_end (GTK_BOX (vbox), h, FALSE, FALSE, 3);
+  gtk_box_pack_end (GTK_BOX (priv->vbox), h, FALSE, FALSE, 3);
   gtk_box_pack_end (GTK_BOX (h), priv->sidebar_button, FALSE, FALSE, 3);
 
   priv->sidebar = empathy_sidebar_new ();
   g_signal_connect (G_OBJECT (priv->sidebar),
-    "hide", G_CALLBACK (empathy_call_window_sidebar_hidden_cb),
-    self);
+    "hide", G_CALLBACK (empathy_call_window_sidebar_hidden_cb), self);
+  g_signal_connect (G_OBJECT (priv->sidebar),
+    "show", G_CALLBACK (empathy_call_window_sidebar_shown_cb), self);
   gtk_paned_pack2 (GTK_PANED (priv->pane), priv->sidebar, FALSE, FALSE);
 
   priv->dtmf_panel = empathy_call_window_create_dtmf (self);
@@ -566,18 +625,30 @@ empathy_call_window_init (EmpathyCallWindow *self)
 
   gtk_widget_hide (priv->sidebar);
 
+  priv->fullscreen = empathy_call_window_fullscreen_new (self);
+  empathy_call_window_fullscreen_set_video_widget (priv->fullscreen, priv->video_output);
+  g_signal_connect (G_OBJECT (priv->fullscreen->leave_fullscreen_button),
+      "clicked", G_CALLBACK (empathy_call_window_fullscreen_cb), self);
+
   g_signal_connect (G_OBJECT (self), "realize",
     G_CALLBACK (empathy_call_window_realized_cb), self);
 
   g_signal_connect (G_OBJECT (self), "delete-event",
     G_CALLBACK (empathy_call_window_delete_cb), self);
 
+  g_signal_connect (G_OBJECT (self), "window-state-event",
+    G_CALLBACK (empathy_call_window_state_event_cb), self);
+
+  g_signal_connect (G_OBJECT (self), "key-press-event",
+      G_CALLBACK (empathy_call_window_key_press_cb), self);
+
   empathy_call_window_status_message (self, _("Connecting..."));
 
   priv->timer = g_timer_new ();
 
   g_object_ref (priv->ui_manager);
   g_object_unref (gui);
+  g_free (filename);
 }
 
 static void
@@ -748,6 +819,13 @@ empathy_call_window_finalize (GObject *object)
   EmpathyCallWindow *self = EMPATHY_CALL_WINDOW (object);
   EmpathyCallWindowPriv *priv = GET_PRIV (self);
 
+  if (priv->video_output_motion_handler_id != 0)
+    {
+      g_signal_handler_disconnect (G_OBJECT (priv->video_output),
+          priv->video_output_motion_handler_id);
+      priv->video_output_motion_handler_id = 0;
+    }
+
   /* free any data held directly by the object here */
   g_mutex_free (priv->lock);
 
@@ -1095,7 +1173,7 @@ empathy_call_window_bus_message (GstBus *bus, GstMessage *message,
         break;
       case GST_MESSAGE_ERROR:
         {
-          GError *error;
+          GError *error = NULL;
           gchar *debug;
 
           gst_message_parse_error (message, &error, &debug);
@@ -1165,6 +1243,108 @@ empathy_call_window_delete_cb (GtkWidget *widget, GdkEvent*event,
   return FALSE;
 }
 
+static void
+show_controls (EmpathyCallWindow *window, gboolean set_fullscreen)
+{
+  GtkWidget *menu;
+  EmpathyCallWindowPriv *priv = GET_PRIV (window);
+
+  menu = gtk_ui_manager_get_widget (priv->ui_manager,
+            "/menubar1");
+
+  if (set_fullscreen)
+    {
+      gtk_widget_hide (priv->sidebar);
+      gtk_widget_hide (menu);
+      gtk_widget_hide (priv->vbox);
+      gtk_widget_hide (priv->statusbar);
+      gtk_widget_hide (priv->toolbar);
+    }
+  else
+    {
+      if (priv->sidebar_was_visible_before_fs)
+        gtk_widget_show (priv->sidebar);
+
+      gtk_widget_show (menu);
+      gtk_widget_show (priv->vbox);
+      gtk_widget_show (priv->statusbar);
+      gtk_widget_show (priv->toolbar);
+
+      gtk_window_resize (GTK_WINDOW (window), priv->original_width_before_fs,
+          priv->original_height_before_fs);
+    }
+}
+
+static void
+show_borders (EmpathyCallWindow *window, gboolean set_fullscreen)
+{
+  EmpathyCallWindowPriv *priv = GET_PRIV (window);
+
+  gtk_container_set_border_width (GTK_CONTAINER (priv->content_hbox),
+      set_fullscreen ? 0 : CONTENT_HBOX_BORDER_WIDTH);
+  gtk_box_set_spacing (GTK_BOX (priv->content_hbox),
+      set_fullscreen ? 0 : CONTENT_HBOX_SPACING);
+  gtk_box_set_child_packing (GTK_BOX (priv->content_hbox),
+      priv->video_output, TRUE, TRUE,
+      set_fullscreen ? 0 : CONTENT_HBOX_CHILDREN_PACKING_PADDING,
+      GTK_PACK_START);
+  gtk_box_set_child_packing (GTK_BOX (priv->content_hbox),
+      priv->vbox, TRUE, TRUE,
+      set_fullscreen ? 0 : CONTENT_HBOX_CHILDREN_PACKING_PADDING,
+      GTK_PACK_START);
+}
+
+static gboolean
+empathy_call_window_state_event_cb (GtkWidget *widget,
+  GdkEventWindowState *event, EmpathyCallWindow *window)
+{
+  if (event->changed_mask & GDK_WINDOW_STATE_FULLSCREEN)
+    {
+      EmpathyCallWindowPriv *priv = GET_PRIV (window);
+      gboolean set_fullscreen = event->new_window_state & GDK_WINDOW_STATE_FULLSCREEN;
+
+      if (set_fullscreen)
+        {
+          gboolean sidebar_was_visible;
+          gint original_width = GTK_WIDGET (window)->allocation.width;
+          gint original_height = GTK_WIDGET (window)->allocation.height;
+
+          g_object_get (priv->sidebar, "visible", &sidebar_was_visible, NULL);
+
+          priv->sidebar_was_visible_before_fs = sidebar_was_visible;
+          priv->original_width_before_fs = original_width;
+          priv->original_height_before_fs = original_height;
+
+          if (priv->video_output_motion_handler_id == 0 &&
+                priv->video_output != NULL)
+            {
+              priv->video_output_motion_handler_id = g_signal_connect (
+                  G_OBJECT (priv->video_output), "motion-notify-event",
+                  G_CALLBACK (empathy_call_window_video_output_motion_notify), window);
+            }
+        }
+      else
+        {
+          if (priv->video_output_motion_handler_id != 0)
+            {
+              g_signal_handler_disconnect (G_OBJECT (priv->video_output),
+                  priv->video_output_motion_handler_id);
+              priv->video_output_motion_handler_id = 0;
+            }
+        }
+
+      empathy_call_window_fullscreen_set_fullscreen (priv->fullscreen,
+          set_fullscreen);
+      show_controls (window, set_fullscreen);
+      show_borders (window, set_fullscreen);
+      gtk_action_set_stock_id (priv->menu_fullscreen,
+          (set_fullscreen ? "gtk-leave-fullscreen" : "gtk-fullscreen"));
+      priv->is_fullscreen = set_fullscreen;
+  }
+
+  return FALSE;
+}
+
 static void
 empathy_call_window_sidebar_toggled_cb (GtkToggleButton *toggle,
   EmpathyCallWindow *window)
@@ -1289,6 +1469,16 @@ empathy_call_window_sidebar_hidden_cb (EmpathySidebar *sidebar,
     FALSE);
 }
 
+static void
+empathy_call_window_sidebar_shown_cb (EmpathySidebar *sidebar,
+  EmpathyCallWindow *window)
+{
+  EmpathyCallWindowPriv *priv = GET_PRIV (window);
+
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->sidebar_button),
+    TRUE);
+}
+
 static void
 empathy_call_window_hangup_cb (gpointer object,
                                EmpathyCallWindow *window)
@@ -1299,6 +1489,83 @@ empathy_call_window_hangup_cb (gpointer object,
   gtk_widget_destroy (GTK_WIDGET (window));
 }
 
+static void
+empathy_call_window_fullscreen_cb (gpointer object,
+                                   EmpathyCallWindow *window)
+{
+  empathy_call_window_fullscreen_toggle (window);
+}
+
+static void
+empathy_call_window_fullscreen_toggle (EmpathyCallWindow *window)
+{
+  EmpathyCallWindowPriv *priv = GET_PRIV (window);
+
+  if (priv->is_fullscreen)
+    gtk_window_unfullscreen (GTK_WINDOW (window));
+  else
+    gtk_window_fullscreen (GTK_WINDOW (window));
+}
+
+static gboolean
+empathy_call_window_video_button_press_cb (GtkWidget *video_output,
+  GdkEventButton *event, EmpathyCallWindow *window)
+{
+  if (event->button == 3 && event->type == GDK_BUTTON_PRESS)
+    {
+      empathy_call_window_video_menu_popup (window, event->button);
+      return TRUE;
+    }
+
+  return FALSE;
+}
+
+static gboolean
+empathy_call_window_key_press_cb (GtkWidget *video_output,
+  GdkEventKey *event, EmpathyCallWindow *window)
+{
+  EmpathyCallWindowPriv *priv = GET_PRIV (window);
+
+  if (priv->is_fullscreen && event->keyval == GDK_Escape)
+    {
+      /* Since we are in fullscreen mode, toggling will bring us back to
+         normal mode. */
+      empathy_call_window_fullscreen_toggle (window);
+      return TRUE;
+    }
+
+  return FALSE;
+}
+
+static gboolean
+empathy_call_window_video_output_motion_notify (GtkWidget *widget,
+    GdkEventMotion *event, EmpathyCallWindow *window)
+{
+  EmpathyCallWindowPriv *priv = GET_PRIV (window);
+
+  if (priv->is_fullscreen)
+    {
+      empathy_call_window_fullscreen_show_popup (priv->fullscreen);
+      return TRUE;
+    }
+
+  return FALSE;
+}
+
+static void
+empathy_call_window_video_menu_popup (EmpathyCallWindow *window,
+  guint button)
+{
+  GtkWidget *menu;
+  EmpathyCallWindowPriv *priv = GET_PRIV (window);
+
+  menu = gtk_ui_manager_get_widget (priv->ui_manager,
+            "/video-popup");
+  gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL,
+      button, gtk_get_current_event_time ());
+  gtk_menu_shell_select_first (GTK_MENU_SHELL (menu), FALSE);
+}
+
 static void
 empathy_call_window_status_message (EmpathyCallWindow *window,
   gchar *message)
index 26b0e7881128ae62b44fd7cb549d63449732f061..01ea5def785fdd50810a7464d7e97c60a19ad0da 100644 (file)
@@ -38,11 +38,11 @@ struct _EmpathyCallWindow {
     GtkWindow parent;
 };
 
-GType empathy_call_window_get_type(void);
+GType empathy_call_window_get_type (void);
 
 /* TYPE MACROS */
 #define EMPATHY_TYPE_CALL_WINDOW \
-  (empathy_call_window_get_type())
+  (empathy_call_window_get_type ())
 #define EMPATHY_CALL_WINDOW(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST((obj), EMPATHY_TYPE_CALL_WINDOW, \
     EmpathyCallWindow))
@@ -57,8 +57,7 @@ GType empathy_call_window_get_type(void);
   (G_TYPE_INSTANCE_GET_CLASS ((obj), EMPATHY_TYPE_CALL_WINDOW, \
     EmpathyCallWindowClass))
 
-EmpathyCallWindow *
-empathy_call_window_new (EmpathyCallHandler *handler);
+EmpathyCallWindow *empathy_call_window_new (EmpathyCallHandler *handler);
 
 G_END_DECLS
 
index ce3d85b56e11e1b0d264f2d7b9907948097c67e1..a0e1e1304a4f8feac8278479c9def2291dac8ad1 100644 (file)
             <property name="label" translatable="yes">Video preview</property>
           </object>
         </child>
+        <child>
+          <object class="GtkAction" id="menufullscreen">
+            <property name="stock_id">gtk-fullscreen</property>
+            <property name="name">menufullscreen</property>
+          </object>
+          <accelerator key="F11"/>
+        </child>
       </object>
     </child>
     <ui>
         </menu>
         <menu action="view">
           <menuitem action="show_preview"/>
+          <menuitem action="menufullscreen"/>
         </menu>
       </menubar>
+      <popup name="video-popup">
+          <menuitem name="menufullscreen" action="menufullscreen"/>
+      </popup>
     </ui>
   </object>
       <object class="GtkVBox" id="call_window_vbox">
index 0738f6e52386a255eca4c28d4fe45b40577f0539..4d6a092d3c8317fe9d70ab7e04a26b1b48e8eea0 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Richard Hult <richard@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
@@ -954,8 +954,8 @@ chat_window_new_message_cb (EmpathyChat       *chat,
                return;
        }
 
-       /* If empathy_chat_is_room() returns TRUE, that means it's a named MUC.
-        * If empathy_chat_get_remote_contact() returns NULL, that means it's
+       /* If empathy_chat_is_room () returns TRUE, that means it's a named MUC.
+        * If empathy_chat_get_remote_contact () returns NULL, that means it's
         * an unamed MUC (msn-like).
         * In case of a MUC, we set urgency only if the message contains our
         * alias. */
@@ -1213,7 +1213,7 @@ chat_window_drag_data_received (GtkWidget        *widget,
                /* We should return TRUE to remove the data when doing
                 * GDK_ACTION_MOVE, but we don't here otherwise it has
                 * weird consequences, and we handle that internally
-                * anyway with add_chat() and remove_chat().
+                * anyway with add_chat () and remove_chat ().
                 */
                gtk_drag_finish (context, TRUE, FALSE, time);
        }
@@ -1223,7 +1223,7 @@ chat_window_drag_data_received (GtkWidget        *widget,
 
                DEBUG ("DND tab");
 
-               chat = (void*) selection->data;
+               chat = (void *) selection->data;
                old_window = chat_window_find_chat (*chat);
 
                if (old_window) {
@@ -1244,7 +1244,7 @@ chat_window_drag_data_received (GtkWidget        *widget,
                /* We should return TRUE to remove the data when doing
                 * GDK_ACTION_MOVE, but we don't here otherwise it has
                 * weird consequences, and we handle that internally
-                * anyway with add_chat() and remove_chat().
+                * anyway with add_chat () and remove_chat ().
                 */
                gtk_drag_finish (context, TRUE, FALSE, time);
        } else {
@@ -1362,7 +1362,7 @@ empathy_chat_window_init (EmpathyChatWindow *window)
        priv->chatroom_manager = empathy_chatroom_manager_dup_singleton (NULL);
 
        priv->notebook = gtk_notebook_new ();
-       gtk_notebook_set_group (GTK_NOTEBOOK (priv->notebook), "EmpathyChatWindow"); 
+       gtk_notebook_set_group (GTK_NOTEBOOK (priv->notebook), "EmpathyChatWindow");
        gtk_box_pack_start (GTK_BOX (chat_vbox), priv->notebook, TRUE, TRUE, 0);
        gtk_widget_show (priv->notebook);
 
@@ -1539,7 +1539,7 @@ empathy_chat_window_add_chat (EmpathyChatWindow *window,
        }
 
        child = GTK_WIDGET (chat);
-       label = chat_window_create_label (window, chat); 
+       label = chat_window_create_label (window, chat);
        gtk_widget_show (child);
 
        g_signal_connect (chat, "notify::name",
@@ -1557,7 +1557,7 @@ empathy_chat_window_add_chat (EmpathyChatWindow *window,
        gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (priv->notebook), child, TRUE);
        gtk_notebook_set_tab_detachable (GTK_NOTEBOOK (priv->notebook), child, TRUE);
        gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (priv->notebook), child,
-                                           TRUE, TRUE, GTK_PACK_START); 
+                                           TRUE, TRUE, GTK_PACK_START);
 
        DEBUG ("Chat added (%d references)", G_OBJECT (chat)->ref_count);
 }
@@ -1713,6 +1713,6 @@ empathy_chat_window_present_chat (EmpathyChat *chat)
        empathy_chat_window_switch_to_chat (window, chat);
        empathy_window_present (GTK_WINDOW (priv->dialog), TRUE);
 
-       gtk_widget_grab_focus (chat->input_text_view); 
+       gtk_widget_grab_focus (chat->input_text_view);
 }
 
index 8b7fe06a974f837d10f7b12807b1816ff525bc10..835d6729662a06fd57c3df00e23dd8afe38a0324 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Richard Hult <richard@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
index fa63d5a514e044ce7d1856eea124c888d16e453f..a0fb8e6ec84188b172b95816f0d3a4f578244f0b 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  *          Martyn Russell <martyn@imendio.com>
@@ -154,7 +154,7 @@ empathy_chatrooms_window_show (GtkWindow *parent)
        empathy_account_chooser_set_filter (EMPATHY_ACCOUNT_CHOOSER (window->account_chooser),
                                            empathy_account_chooser_filter_is_connected,
                                            NULL);
-       g_object_set (window->account_chooser, 
+       g_object_set (window->account_chooser,
                      "has-all-option", TRUE,
                      NULL);
        empathy_account_chooser_set_account (EMPATHY_ACCOUNT_CHOOSER (window->account_chooser), NULL);
@@ -222,7 +222,7 @@ chatrooms_window_model_setup (EmpathyChatroomsWindow *window)
 
        gtk_tree_view_set_model (view, GTK_TREE_MODEL (store));
 
-       /* Selection */ 
+       /* Selection */
        selection = gtk_tree_view_get_selection (view);
        gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
 
@@ -273,8 +273,8 @@ chatrooms_window_model_add_columns (EmpathyChatroomsWindow *window)
 
        /* Room */
        cell = gtk_cell_renderer_text_new ();
-       column = gtk_tree_view_column_new_with_attributes (_("Room"), cell, 
-                                                          "text", COL_ROOM, 
+       column = gtk_tree_view_column_new_with_attributes (_("Room"), cell,
+                                                          "text", COL_ROOM,
                                                           NULL);
        count = gtk_tree_view_append_column (view, column);
        gtk_tree_view_column_set_sort_column_id (column, count - 1);
@@ -293,7 +293,7 @@ chatrooms_window_model_add_columns (EmpathyChatroomsWindow *window)
                          window);
 
        /* Sort model */
-       gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model), 0, 
+       gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model), 0,
                                              GTK_SORT_ASCENDING);
 }
 
@@ -323,7 +323,7 @@ chatrooms_window_model_refresh_data (EmpathyChatroomsWindow *window,
        chatrooms = empathy_chatroom_manager_get_chatrooms (window->manager, account);
 
        /* Sort out columns, we only show the server column for
-        * selected protocol types, such as Jabber. 
+        * selected protocol types, such as Jabber.
         */
        if (account) {
                column = gtk_tree_view_get_column (view, window->room_column);
index 727188f01d31d75f98972f49d6270ce21346409a..1d8476eccfc4262e01edb4feaa0fb3f661acad7b 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  *          Martyn Russell <martyn@imendio.com>
index 0b4fa775a73157045907cb52d2017d89011daf28..57434e912a3d3f2e0569c89fd15634059dba6ebd 100644 (file)
@@ -14,7 +14,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  *          Sjoerd Simons <sjoerd.simons@collabora.co.uk>
  */
@@ -572,7 +572,7 @@ static void
 event_manager_tube_dispatch_ability_cb (GObject *object,
    GParamSpec *spec, gpointer user_data)
 {
-  EventManagerApproval *approval = (EventManagerApproval *)user_data;
+  EventManagerApproval *approval = (EventManagerApproval *) user_data;
   EmpathyTubeDispatchAbility dispatchability;
 
   dispatchability =
@@ -593,7 +593,7 @@ event_manager_tube_got_contact_cb (EmpathyTpContactFactory *factory,
                                    gpointer user_data,
                                    GObject *object)
 {
-  EventManagerApproval *approval = (EventManagerApproval *)user_data;
+  EventManagerApproval *approval = (EventManagerApproval *) user_data;
   EmpathyTubeDispatchAbility dispatchability;
 
   if (error != NULL)
@@ -1053,7 +1053,7 @@ empathy_event_manager_get_top_event (EmpathyEventManager *manager)
 void
 empathy_event_activate (EmpathyEvent *event_public)
 {
-  EventPriv *event = (EventPriv*) event_public;
+  EventPriv *event = (EventPriv *) event_public;
 
   g_return_if_fail (event_public != NULL);
 
index 87531f0fe72266fa7f250c3229a169094c9a4086..66e33aefd53e876216e766694a1cb9f1f4166853 100644 (file)
@@ -16,8 +16,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Xan Lopez
  *          Marco Barisione <marco@barisione.org>
@@ -165,7 +165,7 @@ ft_manager_state_change_reason_to_string (TpFileTransferStateChangeReason reason
       case TP_FILE_TRANSFER_STATE_CHANGE_REASON_NONE:
         return _("No reason was specified");
       case TP_FILE_TRANSFER_STATE_CHANGE_REASON_REQUESTED:
-        return _("The change in state was requested");      
+        return _("The change in state was requested");
       case TP_FILE_TRANSFER_STATE_CHANGE_REASON_LOCAL_STOPPED:
         return _("You canceled the file transfer");
       case TP_FILE_TRANSFER_STATE_CHANGE_REASON_REMOTE_STOPPED:
@@ -307,7 +307,7 @@ ft_manager_update_ft_row (EmpathyFTManager *ft_manager,
   if (remaining < 0)
     {
       if (state == TP_FILE_TRANSFER_STATE_OPEN)
-        remaining_str = g_strdup (C_("remaining time", "Stalled"));      
+        remaining_str = g_strdup (C_("remaining time", "Stalled"));
       else if (state != TP_FILE_TRANSFER_STATE_COMPLETED &&
                state != TP_FILE_TRANSFER_STATE_CANCELLED)
         remaining_str = g_strdup (C_("remaining time", "Unknown"));
index 4803bc8145c82059a3e29f5ea242eecea54f0f35..ef2dd8e41b4ba6109e24cb186671ec554be42b7d 100644 (file)
@@ -15,8 +15,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Marco Barisione <marco@barisione.org>
  *          Jonny Lamb <jonny.lamb@collabora.co.uk>
index c7c321f96b31195dbab488feea3397649656c198..8e9a04595d666703f1152bd7fd2127496920d629 100644 (file)
@@ -13,8 +13,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Jonny Lamb <jonny.lamb@collabora.co.uk>
  * */
@@ -396,10 +396,10 @@ empathy_import_dialog_show (GtkWindow *parent,
 
       return;
     }
-  
+
   /* We have accounts, let's display the window with them */
   dialog = g_slice_new0 (EmpathyImportDialog);
-  dialog->accounts = accounts;  
+  dialog->accounts = accounts;
 
   filename = empathy_file_lookup ("empathy-import-dialog.ui", "src");
   gui = empathy_builder_get_file (filename,
index 278afc701f21af6d3e17de0541f729201ee893f7..a3ef3e13c782168079c6f3ba2280d81d06e7bc5c 100644 (file)
@@ -13,8 +13,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Jonny Lamb <jonny.lamb@collabora.co.uk>
  */
index 76295c702bccdecbeb57287cc7305f03c74859a5..a58111d5920e771ee23048bd9abfa310e70c367a 100644 (file)
@@ -13,8 +13,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Jonny Lamb <jonny.lamb@collabora.co.uk>
  * */
@@ -294,7 +294,7 @@ empathy_import_pidgin_load (void)
     }
 
 OUT:
-  xmlFreeDoc(doc);
+  xmlFreeDoc (doc);
   xmlFreeParserCtxt (ctxt);
 
 FILENAME:
index fc7d2e491c2075bb5d2e81421095a3cf51e6eeec..b72acf55311633020793e1817403adcb8de3cd37 100644 (file)
@@ -13,8 +13,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Jonny Lamb <jonny.lamb@collabora.co.uk>
  */
index 502be67d7076615f59e95bc10ce17e9d5719869a..b9f38e0e7faabba9993193c3492a7eaf5b015f8e 100644 (file)
@@ -14,9 +14,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
index 5cbf877e5b739a8b38931bec4ee45625c2af159b..d2a7b2d4514d2290c25c47f581e1f391bcbe45d7 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
@@ -133,7 +133,7 @@ main_window_flash_foreach (GtkTreeModel *model,
                           GtkTreeIter  *iter,
                           gpointer      user_data)
 {
-       FlashForeachData *data = (FlashForeachData*) user_data;
+       FlashForeachData *data = (FlashForeachData *) user_data;
        EmpathyContact   *contact;
        const gchar      *icon_name;
        GtkTreePath      *parent_path = NULL;
@@ -165,7 +165,7 @@ main_window_flash_foreach (GtkTreeModel *model,
 
        /* To make sure the parent is shown correctly, we emit
         * the row-changed signal on the parent so it prompts
-        * it to be refreshed by the filter func. 
+        * it to be refreshed by the filter func.
         */
        if (gtk_tree_model_iter_parent (model, &parent_iter, iter)) {
                parent_path = gtk_tree_model_get_path (model, &parent_iter);
@@ -1053,7 +1053,7 @@ main_window_notify_sort_criterium_cb (EmpathyConf       *conf,
                g_free (str);
 
                if (enum_value) {
-                       empathy_contact_list_store_set_sort_criterium (window->list_store, 
+                       empathy_contact_list_store_set_sort_criterium (window->list_store,
                                                                       enum_value->value);
                }
        }
index 7960c460cb44c55cabe10e4f2c15377462fe51d1..562fa12c63b99bded6bc9a9f28d65a4db5461843 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
index 0a943bb6dc7018a5bcff10945276e85bca171f44..a1a0847401d736015f22d31571c40fd5c31793c2 100644 (file)
@@ -14,9 +14,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Author: Cosimo Cecchi <cosimo.cecchi@collabora.co.uk>
  *
  */
index aaa743ca637ce6565055f1c0cdaa06bb9c433d5f..b3fe8fdbf648092a329ba3ffadc99d0846f076f2 100644 (file)
@@ -14,9 +14,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Author: Cosimo Cecchi <cosimo.cecchi@collabora.co.uk>
  *
  */
index 837d9acfe466ad889d4a82f16b2948b8affdb2ee..5f8d19b3ccc4c6202c6c631b4dee677030d8f3d9 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Martyn Russell <martyn@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
  */
@@ -75,6 +75,7 @@ enum {
        COL_NAME,
        COL_ROOM,
        COL_MEMBERS,
+       COL_MEMBERS_INT,
        COL_TOOLTIP,
        COL_COUNT
 };
@@ -227,7 +228,7 @@ new_chatroom_dialog_destroy_cb (GtkWidget               *widget,
        if (dialog->room_list) {
                g_object_unref (dialog->room_list);
        }
-       g_object_unref (dialog->model);  
+       g_object_unref (dialog->model);
 
        g_free (dialog);
 }
@@ -253,6 +254,7 @@ new_chatroom_dialog_model_setup (EmpathyNewChatroomDialog *dialog)
                                    G_TYPE_STRING,       /* Name */
                                    G_TYPE_STRING,       /* Room */
                                    G_TYPE_STRING,       /* Member count */
+                                   G_TYPE_INT,          /* Member count int */
                                    G_TYPE_STRING);      /* Tool tip */
 
        dialog->model = GTK_TREE_MODEL (store);
@@ -295,12 +297,16 @@ new_chatroom_dialog_model_add_columns (EmpathyNewChatroomDialog *dialog)
                                                           cell,
                                                           "stock-id", COL_INVITE_ONLY,
                                                           NULL);
+
+       gtk_tree_view_column_set_sort_column_id (column, COL_INVITE_ONLY);
        gtk_tree_view_append_column (view, column);
 
        column = gtk_tree_view_column_new_with_attributes (NULL,
                                                           cell,
                                                           "stock-id", COL_NEED_PASSWORD,
                                                           NULL);
+
+       gtk_tree_view_column_set_sort_column_id (column, COL_NEED_PASSWORD);
        gtk_tree_view_append_column (view, column);
 
        cell = gtk_cell_renderer_text_new ();
@@ -315,6 +321,7 @@ new_chatroom_dialog_model_add_columns (EmpathyNewChatroomDialog *dialog)
                                                           "text", COL_NAME,
                                                           NULL);
 
+       gtk_tree_view_column_set_sort_column_id (column, COL_NAME);
        gtk_tree_view_column_set_expand (column, TRUE);
        gtk_tree_view_append_column (view, column);
 
@@ -329,6 +336,8 @@ new_chatroom_dialog_model_add_columns (EmpathyNewChatroomDialog *dialog)
                                                           cell,
                                                           "text", COL_MEMBERS,
                                                           NULL);
+
+       gtk_tree_view_column_set_sort_column_id (column, COL_MEMBERS_INT);
        gtk_tree_view_append_column (view, column);
 }
 
@@ -379,6 +388,7 @@ new_chatroom_dialog_account_changed_cb (GtkComboBox             *combobox,
        EmpathyAccountChooser *account_chooser;
        McAccount             *account;
        gboolean               listing = FALSE;
+       gboolean               expanded = FALSE;
 
        if (dialog->room_list) {
                g_object_unref (dialog->room_list);
@@ -402,6 +412,11 @@ new_chatroom_dialog_account_changed_cb (GtkComboBox             *combobox,
                                  G_CALLBACK (new_chatroom_dialog_listing_cb),
                                  dialog);
 
+               expanded = gtk_expander_get_expanded (GTK_EXPANDER (dialog->expander_browse));
+               if (expanded) {
+                       new_chatroom_dialog_browse_start (dialog);
+               }
+
                listing = empathy_tp_roomlist_is_listing (dialog->room_list);
                if (listing) {
                        ephy_spinner_start (EPHY_SPINNER (dialog->throbber));
@@ -463,6 +478,7 @@ new_chatroom_dialog_new_room_cb (EmpathyTpRoomlist        *room_list,
                            COL_NAME, empathy_chatroom_get_name (chatroom),
                            COL_ROOM, empathy_chatroom_get_room (chatroom),
                            COL_MEMBERS, members,
+                           COL_MEMBERS_INT, empathy_chatroom_get_members_count (chatroom),
                            COL_TOOLTIP, tooltip,
                            -1);
 
index ae8b2385e7b20eec3756e523b89c26088741ef82..b1cef0daa0c30665e60e5a68f26e81cd10b2f152 100644 (file)
@@ -15,9 +15,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Martyn Russell <martyn@imendio.com>
  *          Xavier Claessens <xclaesse@gmail.com>
  */
index b2388f88deff4458efebb923155280b0b5343512..628db52da2035ed8ec95a9c708b0bbd608d5cdc3 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Richard Hult <richard@imendio.com>
@@ -422,7 +422,7 @@ preferences_languages_add (EmpathyPreferences *preferences)
 
        codes = empathy_spell_get_language_codes ();
 
-       empathy_conf_set_bool (empathy_conf_get(),
+       empathy_conf_set_bool (empathy_conf_get (),
                               EMPATHY_PREFS_CHAT_SPELL_CHECKER_ENABLED,
                               codes != NULL);
        if (!codes) {
@@ -668,7 +668,7 @@ preferences_widget_sync_string (const gchar *key, GtkWidget *widget)
                                enum_class = G_ENUM_CLASS (g_type_class_peek (type));
                                enum_value = g_enum_get_value_by_nick (enum_class, value);
                                
-                               if (enum_value) { 
+                               if (enum_value) {
                                        list = gtk_radio_button_get_group (GTK_RADIO_BUTTON (widget));
                                        toggle_widget = g_slist_nth_data (list, enum_value->value);
                                        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (toggle_widget), TRUE);
@@ -1003,7 +1003,7 @@ preferences_radio_button_toggled_cb (GtkWidget *button,
                enum_value = g_enum_get_value (enum_class, g_slist_index (group, button));
                
                if (!enum_value) {
-                       g_warning ("No GEnumValue for EmpathyContactListSort with GtkRadioButton index:%d", 
+                       g_warning ("No GEnumValue for EmpathyContactListSort with GtkRadioButton index:%d",
                                   g_slist_index (group, button));
                        return;
                }
index 07ae6b523666d23c463a28e05db409a856f4d5e5..6cc86d1d6f5d736db6476e324946a1e25199f351 100644 (file)
@@ -14,8 +14,8 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  *
  * Authors: Mikael Hallendal <micke@imendio.com>
  *          Richard Hult <richard@imendio.com>
index a66abc757c7e1d8480779d77f64a024ec2670dc1..caca6b5e3980d42247449063f835487f4241b7df 100644 (file)
@@ -3,7 +3,7 @@
  * Copyright (C) 2007 The Free Software Foundation
  * Copyright (C) 2008 Marco Barisione <marco@barisione.org>
  *
- * Based on evince code (shell/ev-sidebar.c) by: 
+ * Based on evince code (shell/ev-sidebar.c) by:
  *     - Jonathan Blandford <jrb@alum.mit.edu>
  *
  * Base on eog code (src/eog-sidebar.c) by:
@@ -21,7 +21,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
 #ifdef HAVE_CONFIG_H
@@ -102,7 +102,7 @@ empathy_sidebar_select_page (EmpathySidebar *sidebar,
   gint index;
 
   gtk_tree_model_get (sidebar->priv->page_model, iter,
-      PAGE_COLUMN_TITLE, &title, 
+      PAGE_COLUMN_TITLE, &title,
       PAGE_COLUMN_NOTEBOOK_INDEX, &index,
       -1);
 
@@ -397,7 +397,7 @@ empathy_sidebar_init (EmpathySidebar *sidebar)
   gtk_widget_show (hbox);
 
   sidebar->priv->select_button = gtk_toggle_button_new ();
-  gtk_button_set_relief (GTK_BUTTON (sidebar->priv->select_button), 
+  gtk_button_set_relief (GTK_BUTTON (sidebar->priv->select_button),
       GTK_RELIEF_NONE);
 
   g_signal_connect (sidebar->priv->select_button, "button_press_event",
@@ -514,7 +514,7 @@ empathy_sidebar_add_page (EmpathySidebar *sidebar,
       -1);
 
   gtk_list_store_move_before (GTK_LIST_STORE(sidebar->priv->page_model),
-      &iter, 
+      &iter,
       NULL);
 
   /* Set the first item added as active */
@@ -571,15 +571,15 @@ empathy_sidebar_remove_page (EmpathySidebar *sidebar,
 
   if (valid)
     {
-      gtk_notebook_remove_page (GTK_NOTEBOOK (sidebar->priv->notebook), 
+      gtk_notebook_remove_page (GTK_NOTEBOOK (sidebar->priv->notebook),
           index);
 
       gtk_container_remove (GTK_CONTAINER (sidebar->priv->menu), menu_item);
 
-      gtk_list_store_remove (GTK_LIST_STORE (sidebar->priv->page_model), 
+      gtk_list_store_remove (GTK_LIST_STORE (sidebar->priv->page_model),
           &iter);
 
-      g_signal_emit (G_OBJECT (sidebar), 
+      g_signal_emit (G_OBJECT (sidebar),
           signals[SIGNAL_PAGE_REMOVED], 0, main_widget);
     }
 }
index 6e88e789d0ed3a123fcac2d41e1f74fc3407b23f..095336facc04c79081ef066b370ee59cbe552edf 100644 (file)
@@ -3,7 +3,7 @@
  * Copyright (C) 2007 The Free Software Foundation
  * Copyright (C) 2008 Marco Barisione <marco@barisione.org>
  *
- * Based on evince code (shell/ev-sidebar.h) by: 
+ * Based on evince code (shell/ev-sidebar.h) by:
  *     - Jonathan Blandford <jrb@alum.mit.edu>
  *
  * Base on eog code (src/eog-sidebar.c) by:
@@ -21,7 +21,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
 #ifndef __EMPATHY_SIDEBAR_H__
@@ -53,10 +53,10 @@ struct _EmpathySidebarClass
 {
   GtkVBoxClass base_class;
 
-  void (* page_added)   (EmpathySidebar *sidebar, 
+  void (* page_added)   (EmpathySidebar *sidebar,
                          GtkWidget *main_widget);
 
-  void (* page_removed) (EmpathySidebar *sidebar, 
+  void (* page_removed) (EmpathySidebar *sidebar,
                          GtkWidget *main_widget);
 };
 
index 1824be5e6f55371986d89fcae7504de61f9d1189..5d45e83f3cd1720b7eba9b2f98bf88ff8a875fba 100644 (file)
@@ -15,7 +15,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- * 
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
index 63b31b2b6f1e190b624ea963cbe443d190d5d59b..545f67935b08388572de3ada2e883b985021683f 100644 (file)
@@ -149,7 +149,7 @@ empathy_tube_dispatch_constructed (GObject *object)
   const gchar *channel_type;
   TpTubeType type;
 
-  priv->dbus = tp_dbus_daemon_new (tp_get_bus());
+  priv->dbus = tp_dbus_daemon_new (tp_get_bus ());
 
   channel = empathy_dispatch_operation_get_channel (priv->operation);
   properties = tp_channel_borrow_immutable_properties (channel);
index f1328bb68fbad200f27712cf677388ca634f1cd4..844c881452fbc1112b8be399e97da04d55fdfce1 100644 (file)
@@ -44,11 +44,11 @@ struct _EmpathyTubeDispatch {
     GObject parent;
 };
 
-GType empathy_tube_dispatch_get_type(void);
+GType empathy_tube_dispatch_get_type (void);
 
 /* TYPE MACROS */
 #define EMPATHY_TYPE_TUBE_DISPATCH \
-  (empathy_tube_dispatch_get_type())
+  (empathy_tube_dispatch_get_type ())
 #define EMPATHY_TUBE_DISPATCH(obj) \
   (G_TYPE_CHECK_INSTANCE_CAST((obj), EMPATHY_TYPE_TUBE_DISPATCH, \
     EmpathyTubeDispatch))
index 817b9bc37fe6cdd6344522f01c014acd0f7aba65..fe122e01f2d7510ddacbddb0c5bd25a602a137c9 100644 (file)
@@ -14,9 +14,9 @@
  *
  * You should have received a copy of the GNU General Public
  * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- * 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ *
  * Authors: Xavier Claessens <xclaesse@gmail.com>
  */
 
@@ -229,7 +229,7 @@ create_salut_account (void)
        GError     *error = NULL;
 
        /* Check if we already created a salut account */
-       empathy_conf_get_bool (empathy_conf_get(),
+       empathy_conf_get_bool (empathy_conf_get (),
                               EMPATHY_PREFS_SALUT_ACCOUNT_CREATED,
                               &salut_created);
        if (salut_created) {
@@ -312,7 +312,7 @@ create_salut_account (void)
 /* The code that handles single-instance and startup notification is
  * copied from gedit.
  *
- * Copyright (C) 2005 - Paolo Maggi 
+ * Copyright (C) 2005 - Paolo Maggi
  */
 static void
 on_bacon_message_received (const char *message,
@@ -427,7 +427,7 @@ main (int argc, char *argv[])
        MissionControl    *mc;
        EmpathyIdle       *idle;
        gboolean           autoconnect = TRUE;
-       gboolean           no_connect = FALSE; 
+       gboolean           no_connect = FALSE;
        gboolean           hide_contact_list = FALSE;
        gboolean           accounts_dialog = FALSE;
        GError            *error = NULL;
@@ -462,7 +462,7 @@ main (int argc, char *argv[])
 
        empathy_gtk_init ();
        g_set_application_name (_(PACKAGE_NAME));
-       g_setenv("PULSE_PROP_media.role", "phone", TRUE);
+       g_setenv ("PULSE_PROP_media.role", "phone", TRUE);
 
        gst_init (&argc, &argv);
 
@@ -533,7 +533,7 @@ main (int argc, char *argv[])
                                 use_nm_notify_cb, idle);
 
        /* Autoconnect */
-       empathy_conf_get_bool (empathy_conf_get(),
+       empathy_conf_get_bool (empathy_conf_get (),
                               EMPATHY_PREFS_AUTOCONNECT,
                               &autoconnect);
        if (autoconnect && ! no_connect &&
index 43b9bc9909c710ea05997548e2d643d303466186..be82ca71b3183500c26ed2277f09fe6bc72557ae 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
  * Copyright © 2000 Eazel, Inc.
  * Copyright © 2002-2004 Marco Pesenti Gritti
  * Copyright © 2004, 2006 Christian Persch
@@ -20,7 +20,7 @@
  * Author: Andy Hertzfeld <andy@eazel.com>
  *
  * Ephy port by Marco Pesenti Gritti <marco@it.gnome.org>
- * 
+ *
  * $Id: ephy-spinner.c 2114 2006-12-25 12:15:00Z mr $
  */
 
@@ -455,7 +455,7 @@ ephy_spinner_cache_init (EphySpinnerCache *cache)
 static void
 ephy_spinner_cache_finalize (GObject *object)
 {
-       EphySpinnerCache *cache = EPHY_SPINNER_CACHE (object); 
+       EphySpinnerCache *cache = EPHY_SPINNER_CACHE (object);
        EphySpinnerCachePrivate *priv = cache->priv;
 
        g_hash_table_destroy (priv->hash);
index 5348331261728883cdbb607eac0cbac725bec52b..84356f20b9e3e8e3974681709d7d96edefc048bf 100644 (file)
@@ -8,10 +8,11 @@ then
   fail=1
 fi
 
-if grep -n '   ' "$@"
-then
-  echo "^^^ The above files contain tabs"
-  fail=1
-fi
+# TODO: enable tab checking once all Empathy switched to TP coding style
+#if grep -n '  ' "$@"
+#then
+#  echo "^^^ The above files contain tabs"
+#  fail=1
+#fi
 
 exit $fail