From: NeilBrown Date: Tue, 24 Mar 2015 03:46:49 +0000 (+1100) Subject: sendsms: embed keyboard in send screen. X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=96f923ee41122c245f18d93e49099591dcccb4ce;p=plato.git sendsms: embed keyboard in send screen. That way it doesn't obscure what I am typing. Signed-off-by: NeilBrown --- diff --git a/sms/sendsms.py b/sms/sendsms.py index 94db1c1..0c38540 100755 --- a/sms/sendsms.py +++ b/sms/sendsms.py @@ -104,6 +104,7 @@ from subprocess import Popen, PIPE from storesms import SMSstore, SMSmesg import dnotify from fingerscroll2 import FingerScroll +from tapboard import TapBoard ########################################################### # Writing recognistion code @@ -1228,6 +1229,11 @@ class SendSMS(gtk.Window): sw.add(self.message) self.message.get_buffer().connect('changed', self.buff_changed) + # keyboard + t = TapBoard(); t.show() + v.pack_start(t, expand=False) + t.connect('key', self.use_key) + h = gtk.HBox() h.set_size_request(-1,80) h.set_homogeneous(True) @@ -1402,6 +1408,15 @@ class SendSMS(gtk.Window): w.insert_at_cursor(self.cutbuffer) pass + def use_key(self, tb, str): + w = self.get_toplevel().get_focus() + if w == None: + w = self.message + if str == '\b': + w.emit('backspace') + else: + w.emit('insert_at_cursor', str) + def watch_clip(self, board): self.cb = gtk.Clipboard(selection=board) self.targets = [ (gtk.gdk.SELECTION_TYPE_STRING, 0, 0) ]