]> git.neil.brown.name Git - plato.git/commitdiff
sendsms: embed keyboard in send screen.
authorNeilBrown <neil@brown.name>
Tue, 24 Mar 2015 03:46:49 +0000 (14:46 +1100)
committerNeilBrown <neil@brown.name>
Tue, 24 Mar 2015 03:47:26 +0000 (14:47 +1100)
That way it doesn't obscure what I am typing.

Signed-off-by: NeilBrown <neil@brown.name>
sms/sendsms.py

index 94db1c1ba84282755c0575005332ccfd0c3d45eb..0c385408d4dd7274e6e71327f9b43f7906e03ee1 100755 (executable)
@@ -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) ]