void ExplorerTreeWidget::ui_renameCollection() { ExplorerCollectionTreeItem *collectionItem = selectedCollectionItem(); if (!collectionItem) return; MongoCollection *collection = collectionItem->collection(); MongoDatabase *database = collection->database(); MongoServer *server = database->server(); ConnectionSettings *settings = server->connectionRecord(); CreateDatabaseDialog dlg(settings->getFullAddress(), database->name(), collection->name()); dlg.setWindowTitle("Rename Collection"); dlg.setOkButtonText("&Rename"); dlg.setInputLabelText("New Collection Name:"); dlg.setInputText(collection->name()); int result = dlg.exec(); if (result == QDialog::Accepted) { database->renameCollection(collection->name(), dlg.databaseName()); // refresh list of collections database->loadCollections(); } }
void ExplorerTreeWidget::ui_editUser() { ExplorerUserTreeItem *userItem = selectedUserItem(); if (!userItem) return; MongoUser user = userItem->user(); MongoDatabase *database = userItem->database(); MongoServer *server = database->server(); CreateUserDialog dlg(server->connectionRecord()->getFullAddress(), database->name(), user); dlg.setWindowTitle("Edit User"); dlg.setUserPasswordLabelText("New Password:"); int result = dlg.exec(); if (result == QDialog::Accepted) { MongoUser user = dlg.user(); database->createUser(user, true); // refresh list of users database->loadUsers(); } }
void ExplorerTreeWidget::ui_editFunction() { ExplorerFunctionTreeItem *functionItem = selectedFunctionItem(); if (!functionItem) return; MongoFunction function= functionItem->function(); MongoDatabase *database = functionItem->database(); MongoServer *server = database->server(); QString name = function.name(); FunctionTextEditor dlg(server->connectionRecord()->getFullAddress(), database->name(), function); dlg.setWindowTitle("Edit Function"); int result = dlg.exec(); if (result == QDialog::Accepted) { MongoFunction editedFunction = dlg.function(); database->updateFunction(name, editedFunction); // refresh list of functions database->loadFunctions(); } }
void ExplorerTreeWidget::ui_dropCollection() { ExplorerCollectionTreeItem *collectionItem = selectedCollectionItem(); if (!collectionItem) return; MongoCollection *collection = collectionItem->collection(); MongoDatabase *database = collection->database(); MongoServer *server = database->server(); ConnectionSettings *settings = server->connectionRecord(); // Ask user int answer = QMessageBox::question(this, "Drop Collection", QString("Drop <b>%1</b> collection?").arg(collection->name()), QMessageBox::Yes, QMessageBox::No, QMessageBox::NoButton); if (answer != QMessageBox::Yes) return; database->dropCollection(collection->name()); database->loadCollections(); //openCurrentCollectionShell("db.%1.drop()", false); }
void ExplorerTreeWidget::ui_removeAllDocuments() { ExplorerCollectionTreeItem *collectionItem = selectedCollectionItem(); if (!collectionItem) return; MongoCollection *collection = collectionItem->collection(); MongoDatabase *database = collection->database(); MongoServer *server = database->server(); ConnectionSettings *settings = server->connectionRecord(); // Ask user int answer = QMessageBox::question(this, "Remove All Documents", QString("Remove all documents from <b>%1</b> collection?").arg(collection->name()), QMessageBox::Yes, QMessageBox::No, QMessageBox::NoButton); if (answer != QMessageBox::Yes) return; mongo::BSONObjBuilder builder; mongo::BSONObj bsonQuery = builder.obj(); mongo::Query query(bsonQuery); server->removeDocuments(query, database->name(), collection->name(), false); }
void ExplorerTreeWidget::ui_addDocument() { ExplorerCollectionTreeItem *collectionItem = selectedCollectionItem(); if (!collectionItem) return; MongoCollection *collection = collectionItem->collection(); MongoDatabase *database = collection->database(); MongoServer *server = database->server(); ConnectionSettings *settings = server->connectionRecord(); DocumentTextEditor editor(settings->getFullAddress(), database->name(), collection->name(), "{\n \n}"); editor.setCursorPosition(1, 4); editor.setWindowTitle("Insert Document"); int result = editor.exec(); activateWindow(); if (result == QDialog::Accepted) { mongo::BSONObj obj = editor.bsonObj(); server->insertDocument(obj, database->name(), collection->name()); } /* openCurrentCollectionShell( "db.%1.insert({\n" " '' : '',\n" "})" , false, CursorPosition(1, 5)); */ }
void ExplorerCollectionTreeItem::ui_copyToCollectionToDiffrentServer() { MongoDatabase *databaseFrom = _collection->database(); MongoServer *server = databaseFrom->server(); ConnectionSettings *settings = server->connectionRecord(); CopyCollection dlg(QtUtils::toQString(settings->getFullAddress()), QtUtils::toQString(databaseFrom->name()), QtUtils::toQString(_collection->name()) ); int result = dlg.exec(); if (result == QDialog::Accepted) { MongoDatabase *databaseTo = dlg.selectedDatabase(); databaseTo->copyCollection(server, databaseFrom->name(), _collection->name()); databaseTo->loadCollections(); } }
void ExplorerCollectionTreeItem::ui_removeAllDocuments() { MongoDatabase *database = _collection->database(); // Ask user int answer = QMessageBox::question(treeWidget(), "Remove All Documents", QString("Remove all documents from <b>%1</b> collection?").arg(QtUtils::toQString(_collection->name())), QMessageBox::Yes, QMessageBox::No, QMessageBox::NoButton); if (answer == QMessageBox::Yes) { MongoServer *server = database->server(); mongo::BSONObjBuilder builder; mongo::BSONObj bsonQuery = builder.obj(); mongo::Query query(bsonQuery); server->removeDocuments(query, MongoNamespace(database->name(), _collection->name()), false); } }
void ExplorerCollectionTreeItem::ui_addDocument() { MongoDatabase *database = _collection->database(); MongoServer *server = database->server(); ConnectionSettings *settings = server->connectionRecord(); DocumentTextEditor editor(CollectionInfo(settings->getFullAddress(), database->name(), _collection->name()), "{\n \n}"); editor.setCursorPosition(1, 4); editor.setWindowTitle("Insert Document"); int result = editor.exec(); treeWidget()->activateWindow(); if (result == QDialog::Accepted) { server->insertDocuments(editor.bsonObj(), MongoNamespace(database->name(), _collection->name()) ); } }
void ExplorerCollectionTreeItem::ui_renameCollection() { MongoDatabase *database = _collection->database(); MongoServer *server = database->server(); ConnectionSettings *connSettings = server->connectionRecord(); CreateDatabaseDialog dlg(QtUtils::toQString(connSettings->getFullAddress()), QtUtils::toQString(database->name()), QtUtils::toQString(_collection->name()), treeWidget()); dlg.setWindowTitle("Rename Collection"); dlg.setOkButtonText("&Rename"); dlg.setInputLabelText("New Collection Name:"); dlg.setInputText(QtUtils::toQString(_collection->name())); int result = dlg.exec(); if (result == QDialog::Accepted) { database->renameCollection(_collection->name(), QtUtils::toStdString(dlg.databaseName())); } }
void ExplorerTreeWidget::ui_dropUser() { ExplorerUserTreeItem *userItem = selectedUserItem(); if (!userItem) return; MongoUser user = userItem->user(); MongoDatabase *database = userItem->database(); MongoServer *server = database->server(); // Ask user int answer = QMessageBox::question(this, "Remove User", QString("Remove <b>%1</b> user?").arg(user.name()), QMessageBox::Yes, QMessageBox::No, QMessageBox::NoButton); if (answer != QMessageBox::Yes) return; database->dropUser(user.id()); database->loadUsers(); // refresh list of users }
void ExplorerTreeWidget::ui_dbDrop() { ExplorerDatabaseTreeItem *dbItem = selectedDatabaseItem(); if (!dbItem) return; MongoDatabase *database = dbItem->database(); MongoServer *server = database->server(); // Ask user int answer = QMessageBox::question(this, "Drop Database", QString("Drop <b>%1</b> database?").arg(database->name()), QMessageBox::Yes, QMessageBox::No, QMessageBox::NoButton); if (answer != QMessageBox::Yes) return; server->dropDatabase(database->name()); server->loadDatabases(); // refresh list of databases //openCurrentDatabaseShell("db.dropDatabase()", false); }