diff --git a/src/controller/userActionsController.py b/src/controller/userActionsController.py index a3696932..abc3c448 100644 --- a/src/controller/userActionsController.py +++ b/src/controller/userActionsController.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- -from wxUI.dialogs import userActions -from pubsub import pub import re import widgetUtils import output +from wxUI.dialogs import userActions +from pubsub import pub from twython import TwythonError +from extra import autocompletionUsers class userActionsController(object): def __init__(self, buffer, users=[], default="follow"): @@ -12,9 +13,14 @@ class userActionsController(object): self.buffer = buffer self.session = buffer.session self.dialog = userActions.UserActionsDialog(users, default) + widgetUtils.connect_event(self.dialog.autocompletion, widgetUtils.BUTTON_PRESSED, self.autocomplete_users) if self.dialog.get_response() == widgetUtils.OK: self.process_action() + def autocomplete_users(self, *args, **kwargs): + c = autocompletionUsers.completion.autocompletionUsers(self.dialog, self.session.session_id) + c.show_menu("dm") + def process_action(self): action = self.dialog.get_action() user = self.dialog.get_user() diff --git a/src/wxUI/dialogs/userActions.py b/src/wxUI/dialogs/userActions.py index 2f9f6dc1..97369db6 100644 --- a/src/wxUI/dialogs/userActions.py +++ b/src/wxUI/dialogs/userActions.py @@ -10,8 +10,10 @@ class UserActionsDialog(wx.Dialog): userLabel = wx.StaticText(panel, -1, _(u"User")) self.cb = wx.ComboBox(panel, -1, choices=users, value=users[0]) self.cb.SetFocus() + self.autocompletion = wx.Button(panel, -1, _(u"&Autocomplete users")) userSizer.Add(userLabel, 0, wx.ALL, 5) userSizer.Add(self.cb, 0, wx.ALL, 5) + userSizer.Add(self.autocompletion, 0, wx.ALL, 5) actionSizer = wx.BoxSizer(wx.VERTICAL) label2 = wx.StaticText(panel, -1, _(u"Action")) self.follow = wx.RadioButton(panel, -1, _(u"Follow"), style=wx.RB_GROUP) @@ -78,4 +80,10 @@ class UserActionsDialog(wx.Dialog): return self.ShowModal() def get_user(self): - return self.cb.GetValue() \ No newline at end of file + return self.cb.GetValue() + + def get_position(self): + return self.cb.GetPosition() + + def popup_menu(self, menu): + self.PopupMenu(menu, self.cb.GetPosition()) diff --git a/src/wxUI/dialogs/userSelection.py b/src/wxUI/dialogs/userSelection.py index 22a3711f..8f4af3a2 100644 --- a/src/wxUI/dialogs/userSelection.py +++ b/src/wxUI/dialogs/userSelection.py @@ -10,8 +10,10 @@ class selectUserDialog(wx.Dialog): userLabel = wx.StaticText(panel, -1, _(u"User")) self.cb = wx.ComboBox(panel, -1, choices=users, value=users[0]) self.cb.SetFocus() + self.autocompletion = wx.Button(panel, -1, _(u"&Autocomplete users")) userSizer.Add(userLabel, 0, wx.ALL, 5) userSizer.Add(self.cb, 0, wx.ALL, 5) + userSizer.Add(self.autocompletion, 0, wx.ALL, 5) actionSizer = wx.BoxSizer(wx.VERTICAL) label2 = wx.StaticText(panel, -1, _(u"Buffer type")) self.tweets = wx.RadioButton(panel, -1, _(u"Tweets"), style=wx.RB_GROUP) @@ -48,4 +50,10 @@ class selectUserDialog(wx.Dialog): return self.ShowModal() def get_user(self): - return self.cb.GetValue() \ No newline at end of file + return self.cb.GetValue() + + def get_position(self): + return self.cb.GetPosition() + + def popup_menu(self, menu): + self.PopupMenu(menu, self.cb.GetPosition()) diff --git a/src/wxUI/dialogs/utils.py b/src/wxUI/dialogs/utils.py index eaf75e5e..09da8e4a 100644 --- a/src/wxUI/dialogs/utils.py +++ b/src/wxUI/dialogs/utils.py @@ -26,8 +26,10 @@ class selectUserDialog(baseDialog.BaseWXDialog): userSizer = wx.BoxSizer() self.cb = wx.ComboBox(panel, -1, choices=users, value=users[0], size=wx.DefaultSize) self.cb.SetFocus() + self.autocompletion = wx.Button(panel, -1, _(u"&Autocomplete users")) userSizer.Add(wx.StaticText(panel, -1, _(u"User")), 0, wx.ALL, 5) - userSizer.Add(self.cb) + userSizer.Add(self.cb, 0, wx.ALL, 5) + userSizer.Add(self.autocompletion, 0, wx.ALL, 5) sizer = wx.BoxSizer(wx.VERTICAL) ok = wx.Button(panel, wx.ID_OK, _(u"OK")) ok.SetDefault()