void OutputItemHeaderWidget::maximizePart() { if (_maximized) { //item->_output->restoreSize(); emit restoredSize(); _maxButton->setIcon(GuiRegistry::instance().maximizeIcon()); } else { //item->_output->maximizePart(item); emit maximizedPart(); _maxButton->setIcon(GuiRegistry::instance().maximizeHighlightedIcon()); } _maximized = !_maximized; }
void OutputWidget::present(MongoShell *shell, const std::vector<MongoShellResult> &results) { if (_prevResultsCount > 0) { clearAllParts(); } int const RESULTS_SIZE = _prevResultsCount = results.size(); bool const multipleResults = (RESULTS_SIZE > 1); _outputItemContentWidgets.clear(); for (int i = 0; i < RESULTS_SIZE; ++i) { MongoShellResult shellResult = results[i]; double secs = shellResult.elapsedMs() / 1000.f; ViewMode viewMode = AppRegistry::instance().settingsManager()->viewMode(); if (_prevViewModes.size()) { viewMode = _prevViewModes.back(); _prevViewModes.pop_back(); } bool const firstItem = (0 == i); bool const lastItem = (RESULTS_SIZE-1 == i); OutputItemContentWidget* item = nullptr; if (shellResult.documents().size() > 0) { item = new OutputItemContentWidget(viewMode, shell, QtUtils::toQString(shellResult.type()), shellResult.documents(), shellResult.queryInfo(), secs, multipleResults, firstItem, lastItem, shellResult.aggrInfo(), this); } else { item = new OutputItemContentWidget(viewMode, shell, QtUtils::toQString(shellResult.response()), secs, multipleResults, firstItem, lastItem, shellResult.aggrInfo(), this); } VERIFY(connect(item, SIGNAL(maximizedPart()), this, SLOT(maximizePart()))); VERIFY(connect(item, SIGNAL(restoredSize()), this, SLOT(restoreSize()))); _splitter->addWidget(item); _outputItemContentWidgets.push_back(item); } tryToMakeAllPartsEqualInSize(); }
void OutputItemHeaderWidget::maximizeMinimizePart() { // No maximize/minimize behaviour if there is only one query result if (!_multipleResults) return; if (_maximized) { // restoring original size emit restoredSize(); _maxButton->setIcon(GuiRegistry::instance().maximizeIcon()); _maxButton->setToolTip("Maximize this output result (double-click on result header)"); updateDockButtonOnToggleOrientation(); } else { // maximizing emit maximizedPart(); _maxButton->setIcon(GuiRegistry::instance().minimizeIcon()); _maxButton->setToolTip("Restore back to original size (double-click on result header)"); _verticalLine->setVisible(true); _dockUndockButton->setVisible(true); } _maximized = !_maximized; }