Adding notification support back in and fixing a dialog bug
[gc-dialer] / src / gv_views.py
index 4205240..ee5739d 100644 (file)
@@ -60,9 +60,19 @@ class Dialpad(object):
                smsIcon = self._app.get_icon("messages.png")
                self._smsButton = QtGui.QPushButton(smsIcon, "SMS")
                self._smsButton.clicked.connect(self._on_sms_clicked)
+               self._smsButton.setSizePolicy(QtGui.QSizePolicy(
+                       QtGui.QSizePolicy.MinimumExpanding,
+                       QtGui.QSizePolicy.MinimumExpanding,
+                       QtGui.QSizePolicy.PushButton,
+               ))
                callIcon = self._app.get_icon("dialpad.png")
                self._callButton = QtGui.QPushButton(callIcon, "Call")
                self._callButton.clicked.connect(self._on_call_clicked)
+               self._callButton.setSizePolicy(QtGui.QSizePolicy(
+                       QtGui.QSizePolicy.MinimumExpanding,
+                       QtGui.QSizePolicy.MinimumExpanding,
+                       QtGui.QSizePolicy.PushButton,
+               ))
 
                self._padLayout = QtGui.QGridLayout()
                rows = [0, 0, 0, 1, 1, 1, 2, 2, 2]
@@ -82,13 +92,18 @@ class Dialpad(object):
                        self._padLayout.addWidget(self._generate_key_button(num, letters), row, column)
                self._zerothButton = QtGui.QPushButton("0")
                self._zerothButton.clicked.connect(lambda: self._on_keypress("0"))
+               self._zerothButton.setSizePolicy(QtGui.QSizePolicy(
+                       QtGui.QSizePolicy.MinimumExpanding,
+                       QtGui.QSizePolicy.MinimumExpanding,
+                       QtGui.QSizePolicy.PushButton,
+               ))
                self._padLayout.addWidget(self._smsButton, 3, 0)
                self._padLayout.addWidget(self._zerothButton)
                self._padLayout.addWidget(self._callButton, 3, 2)
 
                self._layout = QtGui.QVBoxLayout()
-               self._layout.addLayout(self._entryLayout)
-               self._layout.addLayout(self._padLayout)
+               self._layout.addLayout(self._entryLayout, 0)
+               self._layout.addLayout(self._padLayout, 1000000)
                self._widget = QtGui.QWidget()
                self._widget.setLayout(self._layout)
 
@@ -118,6 +133,11 @@ class Dialpad(object):
 
        def _generate_key_button(self, center, letters):
                button = QtGui.QPushButton("%s\n%s" % (center, letters))
+               button.setSizePolicy(QtGui.QSizePolicy(
+                       QtGui.QSizePolicy.MinimumExpanding,
+                       QtGui.QSizePolicy.MinimumExpanding,
+                       QtGui.QSizePolicy.PushButton,
+               ))
                button.clicked.connect(lambda: self._on_keypress(center))
                return button
 
@@ -202,8 +222,15 @@ class TimeCategories(object):
                self._today = newToday
                for item in self._timeItems:
                        item.removeRows(0, item.rowCount())
-               self._timeItems[self._NOW_SECTION].setText(self._today.strftime("%X"))
-               self._timeItems[self._TODAY_SECTION].setText(self._today.strftime("%x"))
+               try:
+                       hour = self._today.strftime("%X")
+                       day = self._today.strftime("%x")
+               except ValueError:
+                       _moduleLogger.exception("Can't format times")
+                       hour = "Now"
+                       day = "Today"
+               self._timeItems[self._NOW_SECTION].setText(hour)
+               self._timeItems[self._TODAY_SECTION].setText(day)
 
        def add_row(self, rowDate, row):
                elapsedTime = self._today - rowDate
@@ -364,7 +391,7 @@ class History(object):
                        fromItem = self._categoryManager.get_item(timeRow, row, self.FROM_IDX)
                        contactDetails = detailsItem.data().toPyObject()
 
-                       title = str(fromItem.text())
+                       title = unicode(fromItem.text())
                        number = str(contactDetails[QtCore.QString("number")])
                        contactId = number # ids don't seem too unique so using numbers
 
@@ -585,16 +612,16 @@ class Messages(object):
                        item = self._categoryManager.get_item(timeRow, row, 0)
                        contactDetails = item.data().toPyObject()
 
-                       name = str(contactDetails[QtCore.QString("name")])
+                       name = unicode(contactDetails[QtCore.QString("name")])
                        number = str(contactDetails[QtCore.QString("number")])
                        if not name or name == number:
-                               name = str(contactDetails[QtCore.QString("location")])
+                               name = unicode(contactDetails[QtCore.QString("location")])
                        if not name:
                                name = "Unknown"
 
                        contactId = str(contactDetails[QtCore.QString("id")])
                        title = name
-                       description = str(contactDetails[QtCore.QString("expandedMessages")])
+                       description = unicode(contactDetails[QtCore.QString("expandedMessages")])
                        numbersWithDescriptions = [(number, "")]
                        self._session.draft.add_contact(contactId, title, description, numbersWithDescriptions)
 
@@ -784,9 +811,9 @@ class Contacts(object):
                        item = letterItem.child(rowIndex, 0)
                        contactDetails = item.data().toPyObject()
 
-                       name = str(contactDetails[QtCore.QString("name")])
+                       name = unicode(contactDetails[QtCore.QString("name")])
                        if not name:
-                               name = str(contactDetails[QtCore.QString("location")])
+                               name = unicode(contactDetails[QtCore.QString("location")])
                        if not name:
                                name = "Unknown"