class Model: """ class model """ def __init__(self, view, config, parent=None): """ Constructor for class model @param view: @param config: """ self.parent = parent self.view = view self.config = config self.pageModel = QStandardItemModel() self.view.listView.setModel(self.pageModel) def createConnector(self): self.view.statusBar().showMessage('connecting...') self.c = Connector(self.view.serverLineEdit.text(), self.view.userLineEdit.text(), self.view.passwdLineEdit.text(), '') print (self.c.getWikiVersion()) self.allPages = self.c.getAllPages() if (self.allPages != None): self.view.statusBar().showMessage('connected.') parentItem = self.pageModel.invisibleRootItem() for i in self.allPages: parentItem.appendRow(QStandardItem(i['id'])) self.connected = True else: self.view.statusBar().showMessage("Couldn't get pages.") print ("Couldn't get pages.") def copySettings(self): self.config.settings['app_x'] = self.view.pos().x() self.config.settings['app_y'] = self.view.pos().y() self.config.settings['app_w'] = self.view.size().width() self.config.settings['app_h'] = self.view.size().height() self.config.settings['user'] = str(self.view.userLineEdit.text()) self.config.settings['serverAddress'] = str(self.view.serverLineEdit.text()) self.config.writeConfig() def readyToSave(self): if (self.connected): self.view.save.setDisabled(False) def displayPage(self, newSelection, oldSelection): self.pageIndex = self.view.listView.selectionModel().selectedIndexes() if (self.pageIndex != None): self.pageName = self.pageIndex[0].data().toString() if (self.pageName != None): print ('Selected item: ' + self.pageName) self.view.statusBar().showMessage('Loading page ' + str(self.pageName)) self.view.textEdit.setText(self.c.getPageText(self.pageName)) def saveCurrentPage(self): attr = QVariant() if (self.pageName != None): self.c.setPageText(self.pageName, self.view.textEdit.document().toPlainText(), attr) self.view.statusBar().showMessage('Page ' + str(self.pageName) + ' saved.') def insertBoldText(self): print ('insert bold text or change text to bold') self.textCursor = self.view.textEdit.textCursor() self.view.textEdit.insertPlainText('**' + str(self.textCursor.selectedText()) + '**') # self.textCursor.setPosition(self.textCursor.position() - 2) # print self.textCursor.movePosition(QTextCursor.Left, 2) def insertItalicText(self): print ('insert italic text or change text to bold') textCursor = self.view.textEdit.textCursor() self.view.textEdit.insertPlainText('//' + str(textCursor.selectedText()) + '//') def insertH1Text(self): print ('insert H1 text or change text to H1') textCursor = self.view.textEdit.textCursor() self.view.textEdit.insertPlainText('======' + str(textCursor.selectedText()) + '======') def insertH2Text(self): print ('insert H2 text or change text to H2') textCursor = self.view.textEdit.textCursor() self.view.textEdit.insertPlainText('=====' + str(textCursor.selectedText()) + '=====') def insertH3Text(self): print ('insert H3 text or change text to H3') textCursor = self.view.textEdit.textCursor() self.view.textEdit.insertPlainText('====' + str(textCursor.selectedText()) + '====') def insertH4Text(self): print ('insert H4 text or change text to H4') textCursor = self.view.textEdit.textCursor() self.view.textEdit.insertPlainText('===' + str(textCursor.selectedText()) + '===') def insertH5Text(self): print ('insert H5 text or change text to H5') textCursor = self.view.textEdit.textCursor() self.view.textEdit.insertPlainText('==' + str(textCursor.selectedText()) + '==') def searchFor(self): print ('TODO: search for pages')