Esempio n. 1
0
void ExplorerTreeWidget::ui_addFunction()
{
    ExplorerDatabaseCategoryTreeItem *categoryItem = selectedDatabaseCategoryItem();
    if (!categoryItem)
        return;

    ExplorerDatabaseTreeItem *databaseItem = categoryItem->databaseItem();

    FunctionTextEditor dlg(databaseItem->database()->server()->connectionRecord()->getFullAddress(),
                           databaseItem->database()->name(), MongoFunction());
    dlg.setWindowTitle("Create Function");
    dlg.setCode(
        "function() {\n"
        "    // write your code here\n"
        "}");
    dlg.setCursorPosition(1, 4);

    int result = dlg.exec();

    if (result == QDialog::Accepted) {

        MongoFunction function = dlg.function();
        databaseItem->database()->createFunction(function);

        // refresh list of functions
        databaseItem->expandFunctions();
    }
}
 void ExplorerDatabaseCategoryTreeItem::ui_viewUsers()
 {
     ExplorerDatabaseTreeItem *databaseItem = ExplorerDatabaseCategoryTreeItem::databaseItem();
     if (databaseItem) {
         openDatabaseShell(databaseItem->database(), "db.getUsers()");
     }
 }
 void ExplorerDatabaseCategoryTreeItem::ui_viewFunctions()
 {
     ExplorerDatabaseTreeItem *databaseItem = ExplorerDatabaseCategoryTreeItem::databaseItem();
     if (databaseItem) {
         openDatabaseShell(databaseItem->database(), "db.system.js.find()");
     }
 }
 void ExplorerDatabaseCategoryTreeItem::ui_dbCollectionsStatistics()
 {
     ExplorerDatabaseTreeItem *databaseItem = ExplorerDatabaseCategoryTreeItem::databaseItem();
     if (databaseItem) {
         openDatabaseShell(databaseItem->database(), "db.printCollectionStats()");
     }
 } 
 void ExplorerDatabaseCategoryTreeItem::ui_refreshFunctions()
 {
     ExplorerDatabaseTreeItem *databaseItem = ExplorerDatabaseCategoryTreeItem::databaseItem();
     if (databaseItem) {
         databaseItem->expandFunctions();
     }
 }
Esempio n. 6
0
void ExplorerTreeWidget::ui_refreshDatabase()
{
    ExplorerDatabaseTreeItem *databaseItem = selectedDatabaseItem();
    if (!databaseItem)
        return;

    databaseItem->expandCollections();
}
Esempio n. 7
0
void ExplorerTreeWidget::openCurrentDatabaseShell(const QString &script, bool execute,
                                                  const CursorPosition &cursor)
{
    ExplorerDatabaseTreeItem *collectionItem = selectedDatabaseItem();
    if (!collectionItem)
        return;

    MongoDatabase *database = collectionItem->database();
    openDatabaseShell(database, script, execute, cursor);
}
    void ExplorerDatabaseCategoryTreeItem::ui_addUser()
    {
        ExplorerDatabaseTreeItem *databaseItem = ExplorerDatabaseCategoryTreeItem::databaseItem();
        if (!databaseItem)
            return;

        std::unique_ptr<CreateUserDialog> dlg = nullptr;

        float const version = databaseItem->database()->server()->version();
        if (version < MongoUser::minimumSupportedVersion) {
            dlg.reset(new CreateUserDialog(
                QtUtils::toQString(databaseItem->database()->server()->connectionRecord()->getFullAddress()),
                QtUtils::toQString(databaseItem->database()->name()), MongoUser(version), treeWidget()));
        }
        else {
            dlg.reset(new CreateUserDialog(databaseItem->database()->server()->getDatabasesNames(), 
                QtUtils::toQString(databaseItem->database()->server()->connectionRecord()->getFullAddress()),
                QtUtils::toQString(databaseItem->database()->name()), MongoUser(version), treeWidget()));
        }

        if (dlg->exec() != QDialog::Accepted)
            return;

        MongoUser user = dlg->user();
        databaseItem->database()->createUser(user);
    }
    void ExplorerDatabaseCategoryTreeItem::ui_addUser()
    {
        ExplorerDatabaseTreeItem *databaseItem = ExplorerDatabaseCategoryTreeItem::databaseItem();
        if (!databaseItem)
            return;

        float version = databaseItem->database()->server()->version();
        CreateUserDialog *dlg = NULL;

        if (version < MongoUser::minimumSupportedVersion) {
            dlg = new CreateUserDialog(QtUtils::toQString(databaseItem->database()->server()->connectionRecord()->getFullAddress()),
                QtUtils::toQString(databaseItem->database()->name()), MongoUser(version));
        }
        else {
            dlg = new CreateUserDialog(databaseItem->database()->server()->getDatabasesNames(), QtUtils::toQString(databaseItem->database()->server()->connectionRecord()->getFullAddress()),
            QtUtils::toQString(databaseItem->database()->name()), MongoUser(version));
        }

        int result = dlg->exec();
        if (result != QDialog::Accepted)
            return;

        MongoUser user = dlg->user();
        databaseItem->database()->createUser(user, false);
        // refresh list of users
        databaseItem->expandUsers();
    }
 void ExplorerDatabaseCategoryTreeItem::ui_addUser()
 {
     ExplorerDatabaseTreeItem *databaseItem = ExplorerDatabaseCategoryTreeItem::databaseItem();
     if(databaseItem){
         CreateUserDialog dlg(QtUtils::toQString(databaseItem->database()->server()->connectionRecord()->getFullAddress()),
             QtUtils::toQString(databaseItem->database()->name()));
         int result = dlg.exec();
         if (result == QDialog::Accepted) {
             MongoUser user = dlg.user();
             databaseItem->database()->createUser(user, false);
             // refresh list of users
             databaseItem->expandUsers();
         }
     }
 }
 void ExplorerDatabaseCategoryTreeItem::ui_createCollection()
 {
     ExplorerDatabaseTreeItem *databaseItem = ExplorerDatabaseCategoryTreeItem::databaseItem();
     if (databaseItem){
         CreateDatabaseDialog dlg(QtUtils::toQString(databaseItem->database()->server()->connectionRecord()->getFullAddress()),
             QtUtils::toQString(databaseItem->database()->name()));
         dlg.setWindowTitle("Create Collection");
         dlg.setOkButtonText("&Create");
         dlg.setInputLabelText("Collection Name:");
         int result = dlg.exec();
         if (result == QDialog::Accepted) {
             databaseItem->database()->createCollection(QtUtils::toStdString<std::string>(dlg.databaseName()));
             // refresh list of databases
             databaseItem->expandCollections();
         }
     }
 }
    void ExplorerCollectionDirIndexesTreeItem::ui_addIndexGui()
    {
        ExplorerCollectionTreeItem *par = dynamic_cast<ExplorerCollectionTreeItem *const>(parent());
        if (!par)
            return;
        EnsureIndexInfo fakeInfo(par->collection()->info(),"");
        EditIndexDialog dlg(fakeInfo , QtUtils::toQString(par->databaseItem()->database()->name()),QtUtils::toQString(par->databaseItem()->database()->server()->connectionRecord()->getFullAddress()), treeWidget());
        int result = dlg.exec();
        if (result != QDialog::Accepted)
            return;

        ExplorerDatabaseTreeItem *databaseTreeItem = static_cast<ExplorerDatabaseTreeItem *>(par->databaseItem());
        if (!databaseTreeItem)
            return;

        databaseTreeItem->enshureIndex(par,fakeInfo, dlg.info());
    }
 void ExplorerDatabaseCategoryTreeItem::expand()
 {
     ExplorerDatabaseTreeItem *databaseItem = ExplorerDatabaseCategoryTreeItem::databaseItem();
     if(databaseItem){
         switch(_category) {
         case Collections:
             databaseItem->expandCollections();
             break;
         case Files:
              break;
         case Functions:
             databaseItem->expandFunctions();
             break;
         case Users:
             databaseItem->expandUsers();
             break;
         }
     }
 }
    void ExplorerDatabaseCategoryTreeItem::ui_addFunction()
    {
        ExplorerDatabaseTreeItem *databaseItem = ExplorerDatabaseCategoryTreeItem::databaseItem();
        if (!databaseItem)
            return;

        FunctionTextEditor dlg(QtUtils::toQString(databaseItem->database()->server()->connectionRecord()->getFullAddress()), QtUtils::toQString(databaseItem->database()->name()), MongoFunction());
        dlg.setWindowTitle("Create Function");
        dlg.setCode(
            "function() {\n"
            "    // write your code here\n"
            "}");
        dlg.setCursorPosition(1, 4);
        int result = dlg.exec();
        if (result != QDialog::Accepted)
            return;

        MongoFunction function = dlg.function();
        databaseItem->database()->createFunction(function);
    }
Esempio n. 15
0
void ExplorerTreeWidget::ui_addUser()
{
    ExplorerDatabaseCategoryTreeItem *categoryItem = selectedDatabaseCategoryItem();
    if (!categoryItem)
        return;

    ExplorerDatabaseTreeItem *databaseItem = categoryItem->databaseItem();

    CreateUserDialog dlg(databaseItem->database()->server()->connectionRecord()->getFullAddress(),
                         databaseItem->database()->name());
    int result = dlg.exec();

    if (result == QDialog::Accepted) {

        MongoUser user = dlg.user();
        databaseItem->database()->createUser(user, false);

        // refresh list of users
        databaseItem->expandUsers();
    }
}
Esempio n. 16
0
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);
}
Esempio n. 17
0
void ExplorerTreeWidget::ui_createCollection()
{
    ExplorerDatabaseCategoryTreeItem *categoryItem = selectedDatabaseCategoryItem();
    if (!categoryItem)
        return;

    ExplorerDatabaseTreeItem *databaseItem = categoryItem->databaseItem();
    if (!databaseItem)
        return;

    CreateDatabaseDialog dlg(databaseItem->database()->server()->connectionRecord()->getFullAddress(),
                             databaseItem->database()->name());
    dlg.setWindowTitle("Create Collection");
    dlg.setOkButtonText("&Create");
    dlg.setInputLabelText("Collection Name:");
    int result = dlg.exec();

    if (result == QDialog::Accepted) {
        databaseItem->database()->createCollection(dlg.databaseName());

        // refresh list of databases
        databaseItem->expandCollections();
    }
}
    void ExplorerDatabaseCategoryTreeItem::ui_createCollection()
    {
        ExplorerDatabaseTreeItem *databaseItem = ExplorerDatabaseCategoryTreeItem::databaseItem();
        if (!databaseItem)
            return;

        const float dbVersion = databaseItem->database()->server()->version();
        const std::string& engineName = databaseItem->database()->server()->getStorageEngineType();
        const QString& serverName = QtUtils::toQString(databaseItem->database()->server()->connectionRecord()->getFullAddress());
        const QString& dbName = QtUtils::toQString(databaseItem->database()->name());

        CreateCollectionDialog dlg(serverName, dbVersion, engineName, dbName, QString(), treeWidget());
        int result = dlg.exec();
        if (result != QDialog::Accepted)
            return;
        std::string collectionName = QtUtils::toStdString(dlg.getCollectionName());
        databaseItem->database()->createCollection(collectionName, 
            dlg.getSizeInputValue(), dlg.isCapped(), dlg.getMaxDocNumberInputValue(), dlg.getExtraOptions());
    }
 void ExplorerDatabaseCategoryTreeItem::ui_refreshCollections()
 {
     ExplorerDatabaseTreeItem *databaseItem = ExplorerDatabaseCategoryTreeItem::databaseItem();
     if (databaseItem) 
         databaseItem->expandCollections();
 }