Bump to 1.2.19
[gc-dialer] / src / session.py
index 345fdc5..c002945 100644 (file)
@@ -53,15 +53,18 @@ class Draft(QtCore.QObject):
                self._pool = pool
                self._backend = backend
                self._busyReason = None
+               self._message = ""
 
-       def send(self, text):
+       def send(self):
                assert 0 < len(self._contacts), "No contacts selected"
+               assert 0 < len(self._message), "No message to send"
                numbers = [misc_utils.make_ugly(contact.selectedNumber) for contact in self._contacts.itervalues()]
                le = concurrent.AsyncLinearExecution(self._pool, self._send)
-               le.start(numbers, text)
+               le.start(numbers, self._message)
 
        def call(self):
                assert len(self._contacts) == 1, "Must select 1 and only 1 contact"
+               assert len(self._message) == 0, "Cannot send message with call"
                (contact, ) = self._contacts.itervalues()
                number = misc_utils.make_ugly(contact.selectedNumber)
                le = concurrent.AsyncLinearExecution(self._pool, self._call)
@@ -71,6 +74,16 @@ class Draft(QtCore.QObject):
                le = concurrent.AsyncLinearExecution(self._pool, self._cancel)
                le.start()
 
+       def _get_message(self):
+               return self._message
+
+       def _set_message(self, message):
+               if self._busyReason is not None:
+                       raise RuntimeError("Please wait for %r" % self._busyReason)
+               self._message = message
+
+       message = property(_get_message, _set_message)
+
        def add_contact(self, contactId, title, description, numbersWithDescriptions):
                if self._busyReason is not None:
                        raise RuntimeError("Please wait for %r" % self._busyReason)
@@ -122,6 +135,7 @@ class Draft(QtCore.QObject):
        def _clear(self):
                oldContacts = self._contacts
                self._contacts = {}
+               self._message = ""
                if oldContacts:
                        self.recipientsChanged.emit()