Philipp Hörist pushed to branch master at gajim / gajim
Commits:
ba1f88a0 by Daniel Brötzmann at 2019-04-27T12:04:19Z
RosterWindow: Remove blocked contacts from contact list if not in roster
When blocking a contact which is not in the roster, the contact is
removed and the ChatControl is closed (if any).
- - - - -
2 changed files:
- gajim/data/gui/blocking_list.ui
- gajim/roster_window.py
Changes:
=====================================
gajim/data/gui/blocking_list.ui
=====================================
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.1 -->
<interface>
- <requires lib="gtk+" version="3.12"/>
+ <requires lib="gtk+" version="3.20"/>
<object class="GtkListStore" id="blocking_store">
<columns>
<!-- column-name jid -->
@@ -13,10 +13,7 @@
<property name="height_request">300</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="margin_left">18</property>
- <property name="margin_right">18</property>
- <property name="margin_top">18</property>
- <property name="margin_bottom">18</property>
+ <property name="border_width">18</property>
<property name="row_spacing">5</property>
<property name="column_spacing">10</property>
<child>
@@ -83,6 +80,9 @@
<property name="halign">end</property>
<property name="always_show_image">True</property>
<signal name="clicked" handler="_on_save" swapped="no"/>
+ <style>
+ <class name="suggested-action"/>
+ </style>
</object>
<packing>
<property name="left_attach">1</property>
=====================================
gajim/roster_window.py
=====================================
@@ -64,8 +64,8 @@ from gajim.common.dbus import location
from gajim.common import ged
from gajim.message_window import MessageWindowMgr
-from gajim.gtk.dialogs import ConfirmationDialogCheck
from gajim.gtk.dialogs import ConfirmationDialog
+from gajim.gtk.dialogs import ConfirmationDialogCheck
from gajim.gtk.dialogs import ErrorDialog
from gajim.gtk.dialogs import InputDialog
from gajim.gtk.dialogs import WarningDialog
@@ -2789,6 +2789,15 @@ class RosterWindow:
con = app.connections[acct]
con.get_module('PrivacyLists').block_contacts(l_, msg)
for contact in l_:
+ ctrl = app.interface.msg_win_mgr.get_control(
+ contact.jid, acct)
+ if ctrl:
+ ctrl.parent_win.remove_tab(
+ ctrl, ctrl.parent_win.CLOSE_COMMAND,
force=True)
+ if contact.show == 'not in roster':
+ self.remove_contact(contact.jid, acct, force=True,
+ backend=True)
+ return
self.draw_contact(contact.jid, acct)
else:
for acct in accounts:
@@ -2801,7 +2810,7 @@ class RosterWindow:
def _block_it(is_checked=None):
if is_checked is not None: # dialog has been shown
- if is_checked: # user does not want to be asked again
+ if is_checked: # user does not want to be asked again
app.config.set('confirm_block', 'no')
else:
app.config.set('confirm_block', 'yes')
@@ -2811,12 +2820,17 @@ class RosterWindow:
if confirm_block == 'no':
_block_it()
return
- pritext = _('You are about to block a contact. Are you sure you want'
- ' to continue?')
- sectext = _('This contact will see you offline and you will not '
- 'receive messages it sends you.')
- ConfirmationDialogCheck(pritext, sectext,
- _('_Do not ask me again'), on_response_ok=_block_it)
+ NewConfirmationCheckDialog(_('Block Contact'),
+ _('Really block this contact?'),
+ _('This contact will see you offline and '
+ 'you will not receive messages sent to '
+ 'you by this contact.'),
+ _('_Do not ask me again'),
+ [DialogButton.make('Cancel'),
+ DialogButton.make('Remove',
+ text=_('Block Contact'),
+ callback=_block_it)],
+ modal=False).show()
def on_unblock(self, widget, list_, group=None):
"""
View it on GitLab:
https://dev.gajim.org/gajim/gajim/commit/ba1f88a006909856d94ea9f827678b25cc062a73
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/commit/ba1f88a006909856d94ea9f827678b25cc062a73
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits