X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fipypbx%2Fcontrollers.py;h=19680d3a8a2b4eaf64ef0684d3eaa1e32f38d164;hb=5632d39d210cd6d456319ec9e1f1482f88e23efe;hp=c4e962e475035baf42b612e632267e5f6c7cb912;hpb=34b381a8a6eab96d9dc5ad949e53f00da006dd3c;p=ipypbx diff --git a/src/ipypbx/controllers.py b/src/ipypbx/controllers.py index c4e962e..19680d3 100644 --- a/src/ipypbx/controllers.py +++ b/src/ipypbx/controllers.py @@ -285,13 +285,21 @@ class ConnectionChangeListenerController(BaseController): connection_id, _ok = index.model().data( index.sibling(index.row(), 0)).toInt() self.connection_id = connection_id - self.model.setFilter( - 'ipypbxweb_%s.connection_id = %i' % - (self.basename, connection_id)) + + # Filter is customizable in order to allow ugly hacks :-) + self.model.setFilter(self.getFilter(connection_id)) + + # Select first row. self.view_list.selectRow(0) + + # Create a new object if none exist. if not self.model.rowCount(): self.add() + def getFilter(self, connection_id): + return 'ipypbxweb_%s.connection_id = %i' % ( + self.basename, connection_id) + def objectAdded(self, row, record): """ Set connection_id from currently selected connection. @@ -392,3 +400,9 @@ class ExtensionController(ConnectionChangeListenerController): 'xml_dialplan', '') super(ExtensionController, self).objectAdded(row, record) + def getFilter(self, connection_id): + # Workaround for Qt bug: + # http://bugreports.qt.nokia.com/browse/QTBUG-8217 . Apparently they + # don't hurry to fix it. + return '1 = 1) or (ipypbxweb_%s.connection_id = %i' % ( + self.basename, connection_id)