//============================================================================== // Client Operation Finished Slot //============================================================================== void ClientListModel::clientFinished(TestClient* aClient) { qDebug() << "ClientListModel::clientFinished - aClient: " << aClient; // Emit Client Updated Signal emit clientUpdated(); }
// TODO: Refresh client display with newly added client's void CaseFinder::addClientDetails() { // Load NEW form and save where necessary ClientFormDialog form(this, false, rootDir, clientSelect->currentText()); // Upload client listing and refresh form.setWindowTitle("Adding A New Client"); form.setModal( true ); form.exec(); // Refresh client info display if (form.isReloadRequired()) { QString clientDirName = form.getClientEntry(); for (int i=0; i<clientDirName.length(); i++) { if (clientDirName[i] == ' ') clientDirName[i] = '_'; } // Append selection menu with new entry clientSelect->addItem(clientDirName); clientSelect->setCurrentIndex(clientSelect->count() - 1); emit clientUpdated(clientDirName); // Load new client details to client info display loadClientDetails(clientDirName); } }
//============================================================================== // Init //============================================================================== void TestDialog::init() { // Set Context Properties QQmlContext* ctx = ui->testView->rootContext(); // Set Context Properties - Main Controller ctx->setContextProperty(DEFAULT_MAIN_CONTROLLER_NAME, this); // Set Context Properties - File List Model ctx->setContextProperty(DEFAULT_CLIENT_LIST_MODEL_NAME, clientListModel); // Set Resize Mode ui->testView->setResizeMode(QQuickWidget::SizeRootObjectToView); // Set Source ui->testView->setSource(QUrl("qrc:/qml/testMain.qml")); // Connect Signals connect(clientListModel, SIGNAL(clientUpdated()), this, SLOT(clientUpdated())); // ... }
void CaseFinder::editClientDetails() { // Make sure a client a valid client is chose first if(!QFile::exists(rootDir->absoluteFilePath(clientSelect->currentText()))) { QMessageBox notify_msg; notify_msg.setText("Please select a client before editing a client!"); notify_msg.exec(); return; } // Load contents into form, and save ClientFormDialog form(this, true, rootDir, QString(clientSelect->currentText())); QString name = clientSelect->currentText(); for (int i=0; i<name.length(); i++) { if (name[i] == '_') name[i] = ' '; } form.setWindowTitle("Editing " + clientSelect->currentText()); form.loadForm(name, clientEmail->text(), clientNumber->text(), clientAddress->text()); form.setModal( true ); form.exec(); // Check for necessary reload if (form.isReloadRequired()) { QString clientDirName = form.getClientEntry(); for (int i=0; i<clientDirName.length(); i++) { if (clientDirName[i] == ' ') clientDirName[i] = '_'; } // Reload selector clientSelect->setItemText(clientSelect->currentIndex(), clientDirName); emit clientUpdated(clientDirName); // Reload descriptor loadClientDetails(clientDirName); } }
//============================================================================== // Admin Mode Changed Slot //============================================================================== void ClientListModel::clientAdminModeChanged(TestClient* aClient, const bool& aAdminModeIsOn) { qDebug() << "ClientListModel::clientStatusChanged - aClient: " << aClient << " - aAdminModeIsOn: " << aAdminModeIsOn; // Get Client List Count int tclCount = clientList.count(); // Go Thru Client List for (int i=0; i<tclCount; ++i) { // Get Client TestClient* client = clientList[i]; // Check Client if (client == aClient) { // Get Index QModelIndex updateIndex = createIndex(i, 0); // Emit Data Changed emit dataChanged(updateIndex, updateIndex); // Emit Client Updated Signal emit clientUpdated(); return; } } }