| |
|
|
| """ |
| Module implementing ChooseMTModelDialog. |
| """ |
|
|
| import sys |
|
|
| from PyQt4.QtCore import ( |
| pyqtSignature, |
| QObject, |
| SIGNAL, |
| ) |
| from PyQt4.QtGui import QDialog |
| from PyQt4.QtSql import QSqlQueryModel |
|
|
| from Ui_chooseMTModel import Ui_Dialog |
| from util import doAlert |
|
|
|
|
| class ChooseMTModelDialog(QDialog, Ui_Dialog): |
| """ |
| Class documentation goes here. |
| """ |
| def __init__(self, parent=None, datamodel=None): |
| """ |
| Constructor |
| """ |
| QDialog.__init__(self, parent) |
| self.setupUi(self) |
| self.model = QSqlQueryModel() |
| self.selTableView.setModel(self.model) |
| self.database = datamodel.getQSqlDatabase() |
| self.updateModel() |
| self.selTableView.hideColumn(0) |
| self.selTableView.hideColumn(5) |
| self.selTableView.hideColumn(6) |
| |
| QObject.connect( |
| datamodel, SIGNAL("modelInstalled()"), |
| self.on_datamodel_modelInstalled) |
|
|
| def updateModel(self): |
| self.model.setQuery( |
| 'SELECT ID, name, srclang, trglang, status, path, mosesini ' |
| 'FROM models ' |
| 'WHERE status = "READY" AND deleted != "True"', |
| self.database) |
|
|
| def on_datamodel_recordUpdated(self, bRecord): |
| """Deal with the selection changed problem.""" |
| try: |
| if bRecord: |
| current = self.selTableView.currentIndex() |
| if current and current.row() != -1: |
| self.curSelection = current.row() |
| else: |
| self.curSelection = None |
| else: |
| if self.curSelection is not None: |
| self.selTableView.selectRow(self.curSelection) |
| except Exception as e: |
| print >> sys.stderr, str(e) |
|
|
| def on_datamodel_modelInstalled(self): |
| self.updateModel() |
|
|
| @pyqtSignature("") |
| def on_buttonBox_accepted(self): |
| """ |
| Slot documentation goes here. |
| """ |
| current = self.selTableView.currentIndex() |
| if not current: |
| doAlert("Please choose a model to start.") |
| return |
| record = self.model.record(current.row()) |
| self.ID = record.value("ID").toString() |
| self.modelName = record.value("name").toString() |
| self.srcLang = record.value('srclang').toString() |
| self.trgLang = record.value('trglang').toString() |
| self.path = record.value("path").toString() |
| self.mosesini = record.value("mosesini").toString() |
| self.accept() |
|
|