changeset 666f9b2321dc in /home/hg/repos/gajim
details:http://hg.gajim.org/gajim?cmd=changeset;node=666f9b2321dc description: ability to see out own video in the same time we send it and show both outging and incoming videos inside chat control
diffstat:
data/gui/chat_control.ui | 1154 +++++++++++++++++++------------------ data/gui/preferences_window.ui | 17 +- src/chat_control.py | 19 +- src/common/config.py | 1 + src/common/jingle.py | 8 +- src/common/jingle_rtp.py | 43 +- src/common/multimedia_helpers.py | 2 +- src/config.py | 5 + src/gajim.py | 2 +- 9 files changed, 689 insertions(+), 562 deletions(-)
diffs (truncated from 1615 to 300 lines):
diff -r 0653d16d8713 -r 666f9b2321dc data/gui/chat_control.ui --- a/data/gui/chat_control.ui Sun Dec 30 18:54:49 2012 +0100 +++ b/data/gui/chat_control.ui Sun Dec 30 18:59:48 2012 +0100 @@ -12,111 +12,171 @@ <property name="orientation">vertical</property> <property name="spacing">1</property> <child> - <object class="GtkVBox" id="vbox2"> + <object class="GtkHPaned" id="hpaned1"> <property name="visible">True</property> - <property name="orientation">vertical</property> + <property name="can_focus">True</property> <child> - <object class="GtkAlignment" id="alignment"> + <object class="GtkVBox" id="vbox2"> <property name="visible">True</property> - <property name="left_padding">3</property> - <property name="right_padding">3</property> + <property name="orientation">vertical</property> <child> - <object class="GtkEventBox" id="banner_eventbox"> + <object class="GtkAlignment" id="alignment"> <property name="visible">True</property> + <property name="left_padding">3</property> + <property name="right_padding">3</property> <child> - <object class="GtkHBox" id="hbox3004"> + <object class="GtkEventBox" id="banner_eventbox"> <property name="visible">True</property> <child> - <object class="GtkImage" id="banner_status_image"> + <object class="GtkHBox" id="hbox3004"> <property name="visible">True</property> - <property name="ypad">5</property> - <property name="stock">gtk-missing-image</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="padding">5</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkVBox" id="banner_vbox"> - <property name="visible">True</property> - <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> - <property name="border_width">5</property> - <property name="orientation">vertical</property> <child> - <object class="GtkLabel" id="banner_name_label"> + <object class="GtkImage" id="banner_status_image"> <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label"><span weight="heavy" size="large">Contact name</span></property> - <property name="use_markup">True</property> + <property name="ypad">5</property> + <property name="stock">gtk-missing-image</property> </object> <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="padding">5</property> <property name="position">0</property> </packing> </child> <child> - <object class="GtkLabel" id="banner_label"> + <object class="GtkVBox" id="banner_vbox"> <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label">label</property> - <property name="use_markup">True</property> - <property name="selectable">True</property> - <signal name="populate_popup" handler="on_banner_label_populate_popup"/> - </object> - <packing> - <property name="position">1</property> - </packing> - </child> - </object> - <packing> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkHBox" id="hbox2"> - <property name="visible">True</property> - <property name="spacing">4</property> - <child> - <object class="GtkImage" id="mood_image"> - <property name="no_show_all">True</property> - <property name="stock">None</property> - <property name="icon-size">1</property> - </object> - <packing> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkImage" id="activity_image"> - <property name="no_show_all">True</property> - <property name="stock">None</property> - <property name="icon-size">1</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="border_width">5</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkLabel" id="banner_name_label"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label"><span weight="heavy" size="large">Contact name</span></property> + <property name="use_markup">True</property> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="banner_label"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label">label</property> + <property name="use_markup">True</property> + <property name="selectable">True</property> + <signal name="populate_popup" handler="on_banner_label_populate_popup"/> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> </object> <packing> <property name="position">1</property> </packing> </child> <child> - <object class="GtkImage" id="tune_image"> - <property name="no_show_all">True</property> - <property name="stock">None</property> - <property name="icon-size">1</property> + <object class="GtkHBox" id="hbox2"> + <property name="visible">True</property> + <property name="spacing">4</property> + <child> + <object class="GtkImage" id="mood_image"> + <property name="no_show_all">True</property> + <property name="stock">None</property> + <property name="icon-size">1</property> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkImage" id="activity_image"> + <property name="no_show_all">True</property> + <property name="stock">None</property> + <property name="icon-size">1</property> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + <child> + <object class="GtkImage" id="tune_image"> + <property name="no_show_all">True</property> + <property name="stock">None</property> + <property name="icon-size">1</property> + </object> + <packing> + <property name="position">2</property> + </packing> + </child> + <child> + <object class="GtkEventBox" id="location_eventbox"> + <property name="visible">True</property> + <property name="visible_window">False</property> + <child> + <object class="GtkImage" id="location_image"> + <property name="no_show_all">True</property> + <property name="stock">None</property> + <property name="icon-size">1</property> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">3</property> + </packing> + </child> + <child> + <object class="GtkImage" id="audio_banner_image"> + <property name="visible">True</property> + <property name="stock">None</property> + <property name="icon-size">1</property> + </object> + <packing> + <property name="position">4</property> + </packing> + </child> + <child> + <object class="GtkImage" id="video_banner_image"> + <property name="visible">True</property> + <property name="stock">None</property> + <property name="icon-size">1</property> + </object> + <packing> + <property name="position">5</property> + </packing> + </child> + <child> + <object class="GtkAlignment" id="alignment3"> + <property name="width_request">11</property> + <property name="visible">True</property> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="position">6</property> + </packing> + </child> </object> <packing> + <property name="expand">False</property> + <property name="fill">False</property> <property name="position">2</property> </packing> </child> <child> - <object class="GtkEventBox" id="location_eventbox"> + <object class="GtkEventBox" id="avatar_eventbox"> <property name="visible">True</property> <property name="visible_window">False</property> <child> - <object class="GtkImage" id="location_image"> - <property name="no_show_all">True</property> + <object class="GtkImage" id="avatar_image"> + <property name="visible">True</property> <property name="stock">None</property> - <property name="icon-size">1</property> </object> </child> </object> @@ -126,109 +186,105 @@ <property name="position">3</property> </packing> </child> + </object> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkVBox" id="vbox106"> + <property name="visible">True</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkScrolledWindow" id="conversation_scrolledwindow"> + <property name="height_request">60</property> + <property name="can_focus">True</property> + <property name="border_width">3</property> + <property name="hscrollbar_policy">automatic</property> + <property name="vscrollbar_policy">automatic</property> + <property name="shadow_type">in</property> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox"> + <property name="visible">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <child> + <object class="GtkButton" id="authentication_button"> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="no_show_all">True</property> + <property name="relief">none</property> + <property name="focus_on_click">False</property> <child> - <object class="GtkImage" id="audio_banner_image"> - <property name="visible">True</property> - <property name="stock">None</property> + <object class="GtkImage" id="lock_image"> + <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> + <property name="stock">gtk-dialog-authentication</property>