query = QtSql.QSqlQuery()
for query_string in sql_queries[:-1]:
query.exec_(query_string)
+
+ return db, created
else:
# Something went horribly wrong.
QtGui.QMessageBox.warning(
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
+ # Localize UI.
locale = QtCore.QLocale.system().name()
translator = QtCore.QTranslator()
if translator.load("ipypbx_%s" % locale.toLower(), "ipypbx/locale"):
QtGui.QApplication.installTranslator(translator)
- setupDb()
+ # Initialize main window.
+ db, created = setupDb()
main = QtGui.QMainWindow()
views = ui.Ui_MainWindow()
views.setupUi(main)
main.show()
- main.controllers = []
+ # Setup controllers.
+ main.controllers = {}
for basename in ('Connection', 'SipProfile', 'Domain', 'Gateway',
'Endpoint', 'Extension'):
- main.controllers.append(getattr(
+ main.controllers[basename.lower()] = getattr(
controllers, basename + 'Controller'
- )(parent=main, views=views))
+ )(parent=main, views=views)
- connection_model = main.controllers[0].model
+ # Select first row.
+ connection_model = main.controllers['connection'].model
connection_index = connection_model.index(0, 0)
+
+ # Get first row index.
first_row_id, ok = connection_model.data(
connection_index.sibling(0, 0)).toInt()
-
- if ok:
+
+ if ok:
+ # We have to explicitly emit row selection signal since previous state
+ # was unselected.
QtCore.QObject.emit(
- main.controllers[0].view_list.selectionModel(),
+ main.controllers['connection'].view_list.selectionModel(),
QtCore.SIGNAL('currentRowChanged(QModelIndex, QModelIndex)'),
connection_index, connection_index)
-
-
+ # TODO: not needed anymore?
+ if created:
+ main.controllers['connection'].add()
sys.exit(app.exec_())