comparison cagou/plugins/plugin_wid_contact_list.py @ 365:9c6fe392d623

core (widgets_handler): use a StencilView + BoxLayout instead of ScrollView as wrapper: The default wrapping when no Carousel or ScreenManager was used was a ScrollView. This was causing bugs as the touch event is not propagated correctly when a ScrollView is in children of ScrollView (notably causing trouble with ModernMenu on ContactList and FileSharing widgets). To avoid that, a simple StencilView with BoxLayout is now used instead. If a ScrollView is needed, it can be added inside the widget (this is the case for WidgetSelector).
author Goffi <goffi@goffi.org>
date Mon, 27 Jan 2020 21:17:08 +0100
parents e2b51663d8b8
children 4d660b252487
comparison
equal deleted inserted replaced
364:a1f3af7c0b67 365:9c6fe392d623
16 16
17 # You should have received a copy of the GNU Affero General Public License 17 # You should have received a copy of the GNU Affero General Public License
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. 18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
19 19
20 20
21 from functools import partial
22 import bisect
23 import re
21 from sat.core import log as logging 24 from sat.core import log as logging
22 log = logging.getLogger(__name__)
23 from cagou.core.constants import Const as C
24 from ..core.common import ContactItem
25 from sat.core.i18n import _ 25 from sat.core.i18n import _
26 from sat_frontends.quick_frontend.quick_contact_list import QuickContactList 26 from sat_frontends.quick_frontend.quick_contact_list import QuickContactList
27 from sat_frontends.tools import jid 27 from sat_frontends.tools import jid
28 from cagou.core.utils import FilterBehavior
29 from cagou.core.menu import SideMenu, TouchMenuBehaviour, TouchMenuItemBehaviour
30 from kivy import properties 28 from kivy import properties
31 from cagou.core import cagou_widget
32 from cagou import G 29 from cagou import G
33 from functools import partial 30 from ..core import cagou_widget
34 import bisect 31 from ..core.constants import Const as C
35 import re 32 from ..core.common import ContactItem
33 from ..core.utils import FilterBehavior
34 from ..core.menu import SideMenu, TouchMenuBehaviour, TouchMenuItemBehaviour
35
36
37 log = logging.getLogger(__name__)
36 38
37 39
38 PLUGIN_INFO = { 40 PLUGIN_INFO = {
39 "name": _("contacts"), 41 "name": _("contacts"),
40 "main": "ContactList", 42 "main": "ContactList",