merge in from git
This commit is contained in:
@@ -24,6 +24,21 @@
|
|||||||
<column type="gchararray"/>
|
<column type="gchararray"/>
|
||||||
</columns>
|
</columns>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="GtkMenu" id="fprclipboard_menu">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="ubuntu_local">True</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkMenuItem" id="copyfprclipboard_item">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="use_action_appearance">False</property>
|
||||||
|
<property name="label" translatable="yes" comments="Context menu item">Copy to clipboard</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
<signal name="activate" handler="clipboard_button_cb"/>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
<object class="GtkNotebook" id="notebook1">
|
<object class="GtkNotebook" id="notebook1">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
@@ -53,7 +68,7 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="GtkLabel" id="fingerprint_label_desc">
|
<object class="GtkLabel" id="fingerprint_label_desc">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="label" translatable="yes">Fingerprint:</property>
|
<property name="label" translatable="yes" comments="Descriptive label">Fingerprint:</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
@@ -63,10 +78,9 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="GtkLabel" id="fingerprint_label">
|
<object class="GtkLabel" id="fingerprint_label">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="label" translatable="yes"><tt>-------- -------- -------- -------- -------- </tt></property>
|
<property name="label"><tt>-------- -------- -------- -------- -------- </tt></property>
|
||||||
<property name="use_markup">True</property>
|
<property name="use_markup">True</property>
|
||||||
<property name="selectable">True</property>
|
<property name="selectable">True</property>
|
||||||
<property name="ellipsize">end</property>
|
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="position">1</property>
|
<property name="position">1</property>
|
||||||
@@ -80,7 +94,7 @@
|
|||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="regenerate_button">
|
<object class="GtkButton" id="regenerate_button">
|
||||||
<property name="label" translatable="yes">(Re-)generate</property>
|
<property name="label" translatable="yes" comments="Generate Fingerprint button">(Re-)generate</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
@@ -107,7 +121,7 @@
|
|||||||
<property name="orientation">vertical</property>
|
<property name="orientation">vertical</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCheckButton" id="enable_check">
|
<object class="GtkCheckButton" id="enable_check">
|
||||||
<property name="label" translatable="yes">Enable private (Off-the-Record) messaging</property>
|
<property name="label" translatable="yes" comments="checkbox">Enable private (Off-the-Record) messaging</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">False</property>
|
<property name="receives_default">False</property>
|
||||||
@@ -120,7 +134,7 @@
|
|||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCheckButton" id="advertise_check">
|
<object class="GtkCheckButton" id="advertise_check">
|
||||||
<property name="label" translatable="yes">Advertise Off-the-Record messaging support</property>
|
<property name="label" translatable="yes" comments="checkbox">Advertise Off-the-Record messaging support</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">False</property>
|
<property name="receives_default">False</property>
|
||||||
@@ -133,7 +147,7 @@
|
|||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCheckButton" id="autoinitiate_check">
|
<object class="GtkCheckButton" id="autoinitiate_check">
|
||||||
<property name="label" translatable="yes">Automatically start private messaging</property>
|
<property name="label" translatable="yes" comments="checkbox">Automatically start private messaging</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">False</property>
|
<property name="receives_default">False</property>
|
||||||
@@ -146,7 +160,7 @@
|
|||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCheckButton" id="require_check">
|
<object class="GtkCheckButton" id="require_check">
|
||||||
<property name="label" translatable="yes">Require private messaging</property>
|
<property name="label" translatable="yes" comments="checkbox">Require private messaging</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">False</property>
|
<property name="receives_default">False</property>
|
||||||
@@ -164,7 +178,7 @@
|
|||||||
<child type="label">
|
<child type="label">
|
||||||
<object class="GtkLabel" id="label3">
|
<object class="GtkLabel" id="label3">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="label" translatable="yes"><b>Default OTR Settings</b></property>
|
<property name="label" translatable="yes" comments="title above options"><b>Default OTR Settings</b></property>
|
||||||
<property name="use_markup">True</property>
|
<property name="use_markup">True</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
@@ -185,7 +199,7 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="GtkLabel" id="label4">
|
<object class="GtkLabel" id="label4">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="label" translatable="yes"><b>Off-the-Record settings for:</b></property>
|
<property name="label" translatable="yes" comments="label for account selector"><b>Off-the-Record settings for:</b></property>
|
||||||
<property name="use_markup">True</property>
|
<property name="use_markup">True</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
@@ -222,7 +236,7 @@
|
|||||||
<child type="tab">
|
<child type="tab">
|
||||||
<object class="GtkLabel" id="label1">
|
<object class="GtkLabel" id="label1">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="label" translatable="yes">OTR Settings</property>
|
<property name="label" translatable="yes" comments="tab label">OTR Settings</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="tab_fill">False</property>
|
<property name="tab_fill">False</property>
|
||||||
@@ -246,10 +260,11 @@
|
|||||||
<property name="model">fingerprint_store</property>
|
<property name="model">fingerprint_store</property>
|
||||||
<property name="search_column">0</property>
|
<property name="search_column">0</property>
|
||||||
<property name="tooltip_column">5</property>
|
<property name="tooltip_column">5</property>
|
||||||
|
<signal name="button-press-event" handler="fpr_button_pressed_cb" swapped="no"/>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkTreeViewColumn" id="name_column">
|
<object class="GtkTreeViewColumn" id="name_column">
|
||||||
<property name="resizable">True</property>
|
<property name="resizable">True</property>
|
||||||
<property name="title" translatable="yes">Name</property>
|
<property name="title">Name</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCellRendererText" id="cellrenderertext2"/>
|
<object class="GtkCellRendererText" id="cellrenderertext2"/>
|
||||||
<attributes>
|
<attributes>
|
||||||
@@ -261,7 +276,7 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="GtkTreeViewColumn" id="status_column">
|
<object class="GtkTreeViewColumn" id="status_column">
|
||||||
<property name="resizable">True</property>
|
<property name="resizable">True</property>
|
||||||
<property name="title" translatable="yes">Status</property>
|
<property name="title">Status</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCellRendererText" id="cellrenderertext3"/>
|
<object class="GtkCellRendererText" id="cellrenderertext3"/>
|
||||||
<attributes>
|
<attributes>
|
||||||
@@ -273,7 +288,7 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="GtkTreeViewColumn" id="validated_column">
|
<object class="GtkTreeViewColumn" id="validated_column">
|
||||||
<property name="resizable">True</property>
|
<property name="resizable">True</property>
|
||||||
<property name="title" translatable="yes">Validated</property>
|
<property name="title">Validated</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCellRendererToggle" id="cellrenderertoggle1"/>
|
<object class="GtkCellRendererToggle" id="cellrenderertoggle1"/>
|
||||||
<attributes>
|
<attributes>
|
||||||
@@ -285,7 +300,7 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="GtkTreeViewColumn" id="fingerprint_column">
|
<object class="GtkTreeViewColumn" id="fingerprint_column">
|
||||||
<property name="resizable">True</property>
|
<property name="resizable">True</property>
|
||||||
<property name="title" translatable="yes">Fingerprint</property>
|
<property name="title">Fingerprint</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCellRendererText" id="cellrenderertext4"/>
|
<object class="GtkCellRendererText" id="cellrenderertext4"/>
|
||||||
<attributes>
|
<attributes>
|
||||||
@@ -297,7 +312,7 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="GtkTreeViewColumn" id="account_column">
|
<object class="GtkTreeViewColumn" id="account_column">
|
||||||
<property name="resizable">True</property>
|
<property name="resizable">True</property>
|
||||||
<property name="title" translatable="yes">Account</property>
|
<property name="title">Account</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCellRendererText" id="cellrenderertext5"/>
|
<object class="GtkCellRendererText" id="cellrenderertext5"/>
|
||||||
<attributes>
|
<attributes>
|
||||||
@@ -320,7 +335,7 @@
|
|||||||
<property name="homogeneous">True</property>
|
<property name="homogeneous">True</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="verify_button">
|
<object class="GtkButton" id="verify_button">
|
||||||
<property name="label" translatable="yes">Verify Fingerprint</property>
|
<property name="label" translatable="yes" comments="button">Verify Fingerprint</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
@@ -332,7 +347,7 @@
|
|||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="forget_button">
|
<object class="GtkButton" id="forget_button">
|
||||||
<property name="label" translatable="yes">Forget Fingerprint</property>
|
<property name="label" translatable="yes" comments="button">Forget Fingerprint</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
@@ -356,7 +371,7 @@
|
|||||||
<child type="tab">
|
<child type="tab">
|
||||||
<object class="GtkLabel" id="label2">
|
<object class="GtkLabel" id="label2">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="label" translatable="yes">Known Fingerprints</property>
|
<property name="label" translatable="yes" comments="tab label">Known Fingerprints</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="position">1</property>
|
<property name="position">1</property>
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
<object class="GtkLabel" id="our_fp_label">
|
<object class="GtkLabel" id="our_fp_label">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="xalign">0</property>
|
<property name="xalign">0</property>
|
||||||
<property name="label" translatable="yes">Your fingerprint:
|
<property name="label">Your fingerprint:
|
||||||
<span weight="bold" face="monospace">01234567 89ABCDEF 01234567 89ABCDEF 01234567</span></property>
|
<span weight="bold" face="monospace">01234567 89ABCDEF 01234567 89ABCDEF 01234567</span></property>
|
||||||
<property name="use_markup">True</property>
|
<property name="use_markup">True</property>
|
||||||
<property name="selectable">True</property>
|
<property name="selectable">True</property>
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
<object class="GtkLabel" id="their_fp_label">
|
<object class="GtkLabel" id="their_fp_label">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="xalign">0</property>
|
<property name="xalign">0</property>
|
||||||
<property name="label" translatable="yes">Purported fingerprint for asdfasdf@xyzxyzxyz.de:
|
<property name="label">Purported fingerprint for asdfasdf@xyzxyzxyz.de:
|
||||||
<span weight="bold" face="monospace">01234567 89ABCDEF 01234567 89ABCDEF 01234567</span></property>
|
<span weight="bold" face="monospace">01234567 89ABCDEF 01234567 89ABCDEF 01234567</span></property>
|
||||||
<property name="use_markup">True</property>
|
<property name="use_markup">True</property>
|
||||||
<property name="selectable">True</property>
|
<property name="selectable">True</property>
|
||||||
@@ -39,37 +39,16 @@
|
|||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkHBox" id="hbox1">
|
<object class="GtkComboBox" id="verified_combobox">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="model">verifiedmodel</property>
|
||||||
|
<property name="active">0</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkComboBox" id="verified_combobox">
|
<object class="GtkCellRendererText" id="cellrenderertext1"/>
|
||||||
<property name="visible">True</property>
|
<attributes>
|
||||||
<property name="can_focus">True</property>
|
<attribute name="text">0</attribute>
|
||||||
<property name="model">verifiedmodel</property>
|
</attributes>
|
||||||
<property name="active">0</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkCellRendererText" id="cellrenderertext1"/>
|
|
||||||
<attributes>
|
|
||||||
<attribute name="text">0</attribute>
|
|
||||||
</attributes>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="position">0</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkLabel" id="label5">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="xalign">0.20000000298023224</property>
|
|
||||||
<property name="label" translatable="yes">verified that the purported fingerprint is in fact the correct fingerprint for that contact.</property>
|
|
||||||
<property name="wrap">True</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="position">1</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
@@ -81,7 +60,7 @@
|
|||||||
<child type="tab">
|
<child type="tab">
|
||||||
<object class="GtkLabel" id="label1">
|
<object class="GtkLabel" id="label1">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="label" translatable="yes">Authentication</property>
|
<property name="label" translatable="yes" comments="tab label">Authentication</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="position">1</property>
|
<property name="position">1</property>
|
||||||
@@ -102,7 +81,7 @@
|
|||||||
<property name="homogeneous">True</property>
|
<property name="homogeneous">True</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCheckButton" id="otr_policy_allow_v2_checkbutton">
|
<object class="GtkCheckButton" id="otr_policy_allow_v2_checkbutton">
|
||||||
<property name="label" translatable="yes">OTR version 2 allowed</property>
|
<property name="label" translatable="yes" comments="checkbox">OTR version 2 allowed</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">False</property>
|
<property name="receives_default">False</property>
|
||||||
@@ -115,7 +94,7 @@
|
|||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCheckButton" id="otr_policy_require_checkbutton">
|
<object class="GtkCheckButton" id="otr_policy_require_checkbutton">
|
||||||
<property name="label" translatable="yes">Encryption required</property>
|
<property name="label" translatable="yes" comments="checkbox">Encryption required</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">False</property>
|
<property name="receives_default">False</property>
|
||||||
@@ -127,7 +106,7 @@
|
|||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCheckButton" id="otr_policy_send_tag_checkbutton">
|
<object class="GtkCheckButton" id="otr_policy_send_tag_checkbutton">
|
||||||
<property name="label" translatable="yes">Show others we understand OTR</property>
|
<property name="label" translatable="yes" comments="checkbox">Show others we understand OTR</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">False</property>
|
<property name="receives_default">False</property>
|
||||||
@@ -140,7 +119,7 @@
|
|||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCheckButton" id="otr_policy_start_on_tag_checkbutton">
|
<object class="GtkCheckButton" id="otr_policy_start_on_tag_checkbutton">
|
||||||
<property name="label" translatable="yes">Automatically initiate encryption if partner understands OTR</property>
|
<property name="label" translatable="yes" comments="checkbox">Automatically initiate encryption if partner understands OTR</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">False</property>
|
<property name="receives_default">False</property>
|
||||||
@@ -155,7 +134,7 @@
|
|||||||
</child>
|
</child>
|
||||||
<child type="label">
|
<child type="label">
|
||||||
<object class="GtkCheckButton" id="otr_default_checkbutton">
|
<object class="GtkCheckButton" id="otr_default_checkbutton">
|
||||||
<property name="label" translatable="yes">Use the default settings</property>
|
<property name="label" translatable="yes" comments="checkbox">Use the default settings</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">False</property>
|
<property name="receives_default">False</property>
|
||||||
@@ -171,7 +150,7 @@
|
|||||||
<child type="tab">
|
<child type="tab">
|
||||||
<object class="GtkLabel" id="label2">
|
<object class="GtkLabel" id="label2">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="label" translatable="yes">OTR Settings</property>
|
<property name="label" translatable="yes" comments="tab label">OTR Settings</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="position">1</property>
|
<property name="position">1</property>
|
||||||
@@ -186,10 +165,10 @@
|
|||||||
</columns>
|
</columns>
|
||||||
<data>
|
<data>
|
||||||
<row>
|
<row>
|
||||||
<col id="0" translatable="yes">I have NOT</col>
|
<col id="0" translatable="yes" comments="unverified option (dropdown label)">I have NOT verified that the purported fingerprint is in fact the correct fingerprint for that contact.</col>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<col id="0" translatable="yes">I have</col>
|
<col id="0" translatable="yes" comments="verified option (dropdown label)">I have verified that the purported fingerprint is in fact the correct fingerprint for that contact.</col>
|
||||||
</row>
|
</row>
|
||||||
</data>
|
</data>
|
||||||
</object>
|
</object>
|
||||||
@@ -208,7 +187,7 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="GtkLabel" id="desclabel1">
|
<object class="GtkLabel" id="desclabel1">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="label" translatable="yes">label</property>
|
<property name="label">label</property>
|
||||||
<property name="use_markup">True</property>
|
<property name="use_markup">True</property>
|
||||||
<property name="wrap">True</property>
|
<property name="wrap">True</property>
|
||||||
</object>
|
</object>
|
||||||
@@ -221,7 +200,7 @@
|
|||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkCheckButton" id="qcheckbutton">
|
<object class="GtkCheckButton" id="qcheckbutton">
|
||||||
<property name="label" translatable="yes">Use question: </property>
|
<property name="label" translatable="yes" comments="checkbox for socialist millionaire protocol with question support">Use question: </property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">False</property>
|
<property name="receives_default">False</property>
|
||||||
@@ -250,7 +229,7 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="GtkLabel" id="desclabel2">
|
<object class="GtkLabel" id="desclabel2">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="label" translatable="yes">label</property>
|
<property name="label">label</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="position">2</property>
|
<property name="position">2</property>
|
||||||
@@ -333,14 +312,14 @@
|
|||||||
<object class="GtkMenuItem" id="otr_submenu">
|
<object class="GtkMenuItem" id="otr_submenu">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="sensitive">False</property>
|
<property name="sensitive">False</property>
|
||||||
<property name="label" translatable="yes">Off-the-Record Encryption</property>
|
<property name="label" translatable="yes" comments="contact's submenu entry">Off-the-Record Encryption</property>
|
||||||
<property name="use_underline">True</property>
|
<property name="use_underline">True</property>
|
||||||
<child type="submenu">
|
<child type="submenu">
|
||||||
<object class="GtkMenu" id="otr_submenu_menu">
|
<object class="GtkMenu" id="otr_submenu_menu">
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkMenuItem" id="otr_settings_menuitem">
|
<object class="GtkMenuItem" id="otr_settings_menuitem">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="label" translatable="yes">OTR settings / fingerprint</property>
|
<property name="label" translatable="yes" comments="menu entry for contact's otr settings">OTR settings / fingerprint</property>
|
||||||
<property name="use_underline">True</property>
|
<property name="use_underline">True</property>
|
||||||
<signal name="activate" handler="_on_otr_settings_menuitem_activate"/>
|
<signal name="activate" handler="_on_otr_settings_menuitem_activate"/>
|
||||||
</object>
|
</object>
|
||||||
@@ -348,7 +327,7 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="GtkMenuItem" id="smp_otr_menuitem">
|
<object class="GtkMenuItem" id="smp_otr_menuitem">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="label" translatable="yes">Authenticate contact</property>
|
<property name="label" translatable="yes" comments="menu entry for SMP authentication">Authenticate contact</property>
|
||||||
<property name="use_underline">True</property>
|
<property name="use_underline">True</property>
|
||||||
<signal name="activate" handler="_on_smp_otr_menuitem_activate"/>
|
<signal name="activate" handler="_on_smp_otr_menuitem_activate"/>
|
||||||
</object>
|
</object>
|
||||||
@@ -356,7 +335,7 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="GtkMenuItem" id="start_otr_menuitem">
|
<object class="GtkMenuItem" id="start_otr_menuitem">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="label" translatable="yes">Start / Refresh OTR</property>
|
<property name="label" translatable="yes" comments="menu entry for starting OTR session">Start / Refresh OTR</property>
|
||||||
<property name="use_underline">True</property>
|
<property name="use_underline">True</property>
|
||||||
<signal name="activate" handler="_on_start_otr_menuitem_activate"/>
|
<signal name="activate" handler="_on_start_otr_menuitem_activate"/>
|
||||||
</object>
|
</object>
|
||||||
@@ -365,7 +344,7 @@
|
|||||||
<object class="GtkMenuItem" id="end_otr_menuitem">
|
<object class="GtkMenuItem" id="end_otr_menuitem">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="sensitive">False</property>
|
<property name="sensitive">False</property>
|
||||||
<property name="label" translatable="yes">End OTR </property>
|
<property name="label" translatable="yes" comments="menu entry for killing an OTR session">End OTR</property>
|
||||||
<property name="use_underline">True</property>
|
<property name="use_underline">True</property>
|
||||||
<signal name="activate" handler="_on_end_otr_menuitem_activate"/>
|
<signal name="activate" handler="_on_end_otr_menuitem_activate"/>
|
||||||
</object>
|
</object>
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ import os
|
|||||||
import pickle
|
import pickle
|
||||||
import time
|
import time
|
||||||
import sys
|
import sys
|
||||||
|
import logging
|
||||||
|
|
||||||
import common.xmpp
|
import common.xmpp
|
||||||
from common import gajim
|
from common import gajim
|
||||||
@@ -89,6 +90,13 @@ try:
|
|||||||
if not hasattr(potr, 'VERSION') or potr.VERSION < MINVERSION:
|
if not hasattr(potr, 'VERSION') or potr.VERSION < MINVERSION:
|
||||||
raise ImportError('old / unsupported python-otr version')
|
raise ImportError('old / unsupported python-otr version')
|
||||||
|
|
||||||
|
potrrootlog = logging.getLogger('potr')
|
||||||
|
potrrootlog.handlers = []
|
||||||
|
potrrootlog.propagate = False
|
||||||
|
gajimrootlog = logging.getLogger('gajim')
|
||||||
|
for h in gajimrootlog.handlers:
|
||||||
|
potrrootlog.addHandler(h)
|
||||||
|
|
||||||
def get_jid_from_fjid(fjid):
|
def get_jid_from_fjid(fjid):
|
||||||
return gajim.get_room_and_nick_from_fjid(fjid)[0]
|
return gajim.get_room_and_nick_from_fjid(fjid)[0]
|
||||||
|
|
||||||
@@ -540,7 +548,16 @@ class OtrPlugin(GajimPlugin):
|
|||||||
# got a protocol error
|
# got a protocol error
|
||||||
self.gajim_log(_('We received the following OTR error '
|
self.gajim_log(_('We received the following OTR error '
|
||||||
'message from %(jid)s: [%(error)s]') % {'jid': event.fjid,
|
'message from %(jid)s: [%(error)s]') % {'jid': event.fjid,
|
||||||
'error': e.args[0].error})
|
'error': e.args[0].error},
|
||||||
|
account, event.fjid)
|
||||||
|
return IGNORE
|
||||||
|
except potr.crypt.InvalidParameterError, e:
|
||||||
|
# received a packet we cannot process (probably tampered or
|
||||||
|
# sent to wrong session)
|
||||||
|
self.gajim_log(_('We received an unreadable OTR message '
|
||||||
|
'from %(jid)s. It has probably been tampered with, '
|
||||||
|
'or was sent from an older OTR session.')
|
||||||
|
% {'jid':event.fjid}, account, event.fjid)
|
||||||
return IGNORE
|
return IGNORE
|
||||||
except RuntimeError, e:
|
except RuntimeError, e:
|
||||||
# generic library bug?
|
# generic library bug?
|
||||||
|
|||||||
50
gotr/ui.py
50
gotr/ui.py
@@ -24,12 +24,11 @@ from common import gajim
|
|||||||
from plugins.gui import GajimPluginConfigDialog
|
from plugins.gui import GajimPluginConfigDialog
|
||||||
|
|
||||||
import otrmodule
|
import otrmodule
|
||||||
HAS_PORT = True
|
|
||||||
try:
|
try:
|
||||||
import potr
|
import potr
|
||||||
import potr.proto
|
import potr.proto
|
||||||
except:
|
except ImportError:
|
||||||
HAS_POTR = False
|
pass
|
||||||
|
|
||||||
|
|
||||||
class OtrPluginConfigDialog(GajimPluginConfigDialog):
|
class OtrPluginConfigDialog(GajimPluginConfigDialog):
|
||||||
@@ -49,9 +48,9 @@ class OtrPluginConfigDialog(GajimPluginConfigDialog):
|
|||||||
for account in sorted(gajim.contacts.get_accounts()):
|
for account in sorted(gajim.contacts.get_accounts()):
|
||||||
self.otr_account_store.append(row=(account,))
|
self.otr_account_store.append(row=(account,))
|
||||||
|
|
||||||
fpr_view = self.B.get_object('fingerprint_view')
|
self.fpr_view = self.B.get_object('fingerprint_view')
|
||||||
fpr_view.set_model(self.fpr_model)
|
self.fpr_view.set_model(self.fpr_model)
|
||||||
fpr_view.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
|
self.fpr_view.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
|
||||||
|
|
||||||
if len(self.otr_account_store) > 0:
|
if len(self.otr_account_store) > 0:
|
||||||
self.B.get_object('account_combobox').set_active(0)
|
self.B.get_object('account_combobox').set_active(0)
|
||||||
@@ -74,6 +73,38 @@ class OtrPluginConfigDialog(GajimPluginConfigDialog):
|
|||||||
self.plugin.update_context_list()
|
self.plugin.update_context_list()
|
||||||
self.account_combobox_changed_cb(self.B.get_object('account_combobox'))
|
self.account_combobox_changed_cb(self.B.get_object('account_combobox'))
|
||||||
|
|
||||||
|
def fpr_button_pressed_cb(self, tw, event):
|
||||||
|
if event.button == 3:
|
||||||
|
pthinfo = tw.get_path_at_pos(int(event.x), int(event.y))
|
||||||
|
|
||||||
|
if pthinfo is None:
|
||||||
|
# only show the popup when we right clicked on list content
|
||||||
|
# ie. don't show it when we click at empty rows
|
||||||
|
return False
|
||||||
|
|
||||||
|
# if the row under the mouse is already selected, we keep the
|
||||||
|
# selection, otherwise we only select the new item
|
||||||
|
keep_selection = tw.get_selection().path_is_selected(pthinfo[0])
|
||||||
|
|
||||||
|
pop = self.B.get_object('fprclipboard_menu')
|
||||||
|
pop.popup(None, None, None, event.button, event.time)
|
||||||
|
|
||||||
|
# keep_selection=True -> no further processing of click event
|
||||||
|
# keep_selection=False-> further processing -> GTK usually selects
|
||||||
|
# the item below the cursor
|
||||||
|
return keep_selection
|
||||||
|
|
||||||
|
def clipboard_button_cb(self, menuitem):
|
||||||
|
mod, paths = self.fpr_view.get_selection().get_selected_rows()
|
||||||
|
|
||||||
|
fprs = []
|
||||||
|
for path in paths:
|
||||||
|
it = mod.get_iter(path)
|
||||||
|
jid, fpr = mod.get(it, 0, 6)
|
||||||
|
fprs.append('%s: %s' % (jid, potr.human_hash(fpr)))
|
||||||
|
gtk.Clipboard().set_text('\n'.join(fprs))
|
||||||
|
gtk.Clipboard(selection='PRIMARY').set_text('\n'.join(fprs))
|
||||||
|
|
||||||
def flags_toggled_cb(self, button):
|
def flags_toggled_cb(self, button):
|
||||||
if button == self.B.get_object('enable_check'):
|
if button == self.B.get_object('enable_check'):
|
||||||
new_status = button.get_active()
|
new_status = button.get_active()
|
||||||
@@ -127,9 +158,8 @@ class OtrPluginConfigDialog(GajimPluginConfigDialog):
|
|||||||
for acc in gajim.connections.iterkeys():
|
for acc in gajim.connections.iterkeys():
|
||||||
accounts[gajim.get_jid_from_account(acc)] = acc
|
accounts[gajim.get_jid_from_account(acc)] = acc
|
||||||
|
|
||||||
tw = self.B.get_object('fingerprint_view')
|
|
||||||
|
|
||||||
mod, paths = tw.get_selection().get_selected_rows()
|
mod, paths = self.fpr_view.get_selection().get_selected_rows()
|
||||||
|
|
||||||
for path in paths:
|
for path in paths:
|
||||||
it = mod.get_iter(path)
|
it = mod.get_iter(path)
|
||||||
@@ -161,9 +191,7 @@ class OtrPluginConfigDialog(GajimPluginConfigDialog):
|
|||||||
for acc in gajim.connections.iterkeys():
|
for acc in gajim.connections.iterkeys():
|
||||||
accounts[gajim.get_jid_from_account(acc)] = acc
|
accounts[gajim.get_jid_from_account(acc)] = acc
|
||||||
|
|
||||||
tw = self.B.get_object('fingerprint_view')
|
mod, paths = self.fpr_view.get_selection().get_selected_rows()
|
||||||
|
|
||||||
mod, paths = tw.get_selection().get_selected_rows()
|
|
||||||
|
|
||||||
# open the window for the first selected row
|
# open the window for the first selected row
|
||||||
for path in paths[0:1]:
|
for path in paths[0:1]:
|
||||||
|
|||||||
Reference in New Issue
Block a user