Factor out window logic to ChatWindow.
Hook the sketchpad to ctrl+s combination
This commit is contained in:
parent
9d7a7f8050
commit
3553882352
28
sugar/chat/ChatWindow.py
Normal file
28
sugar/chat/ChatWindow.py
Normal file
@ -0,0 +1,28 @@
|
||||
import pygtk
|
||||
pygtk.require('2.0')
|
||||
import gtk
|
||||
|
||||
from sugar.chat.Chat import Chat
|
||||
|
||||
class ChatWindow(gtk.Window):
|
||||
def __init__(self):
|
||||
gtk.Window.__init__(self)
|
||||
self._chat = None
|
||||
self.connect("key-press-event", self.__key_press_event_cb)
|
||||
|
||||
def set_chat(self, chat):
|
||||
if self._chat != None:
|
||||
self.remove(self._chat)
|
||||
|
||||
self._chat = chat
|
||||
self.add(self._chat)
|
||||
self._chat.show()
|
||||
|
||||
def __key_press_event_cb(self, window, event):
|
||||
if event.keyval == gtk.keysyms.s and \
|
||||
event.state & gtk.gdk.CONTROL_MASK:
|
||||
if self._chat.get_mode() == Chat.SKETCH_MODE:
|
||||
self._chat.set_mode(Chat.TEXT_MODE)
|
||||
elif self._chat.get_mode() == Chat.TEXT_MODE:
|
||||
self._chat.set_mode(Chat.SKETCH_MODE)
|
||||
|
Loading…
Reference in New Issue
Block a user