int searchStart(int A[], int target, int left, int right) { if (left > right) return -1; if (left == right && A[left] == target) return left; if (A[left] > target || A[right] < target) return -1; int mid = (left + right) / 2; if (target > A[mid]) { return searchStart(A, target, mid + 1, right); } else { return searchStart(A, target, left, mid); } }
static PassRefPtr<Range> findStringBetweenPositions(const String& target, const Position& start, const Position& end, FindOptions options) { Position searchStart(start); Position searchEnd(end); bool forward = !(options & Backwards); while (true) { Position resultStart; Position resultEnd; findPlainText(searchStart, searchEnd, target, options, resultStart, resultEnd); if (resultStart == resultEnd) return nullptr; RefPtr<Range> resultRange = Range::create(*resultStart.document(), resultStart, resultEnd); if (!resultRange->collapsed()) return resultRange.release(); // Found text spans over multiple TreeScopes. Since it's impossible to return such section as a Range, // we skip this match and seek for the next occurrence. // FIXME: Handle this case. if (forward) searchStart = resultStart.next(); else searchEnd = resultEnd.previous(); } ASSERT_NOT_REACHED(); return nullptr; }
SetupPluginsDialog::SetupPluginsDialog(IPluginManager *APluginManager, QDomDocument APluginsSetup, QWidget *AParent) : QDialog(AParent) { REPORT_VIEW; ui.setupUi(this); setAttribute(Qt::WA_DeleteOnClose, true); IconStorage::staticStorage(RSR_STORAGE_MENUICONS)->insertAutoIcon(this,MNI_PLUGINMANAGER_SETUP,0,0,"windowIcon"); FPluginManager = APluginManager; FPluginsSetup = APluginsSetup; FModel.setColumnCount(1); FProxy.setSourceModel(&FModel); FProxy.setFilterRole(PDR_FILTER); FProxy.setFilterCaseSensitivity(Qt::CaseInsensitive); ui.tbvPlugins->setModel(&FProxy); ui.tbvPlugins->verticalHeader()->hide(); ui.tbvPlugins->horizontalHeader()->hide(); ui.tbvPlugins->setItemDelegate(new AdvancedItemDelegate(ui.tbvPlugins)); connect(ui.sleSearch,SIGNAL(searchStart()),SLOT(onSearchLineEditSearchStart())); connect(ui.chbDisabled,SIGNAL(clicked(bool)),SLOT(onDisabledCheckButtonClicked())); connect(ui.chbWithErrors,SIGNAL(clicked(bool)),SLOT(onWithErrorsCheckButtonClicked())); connect(ui.dbbButtons,SIGNAL(clicked(QAbstractButton *)),SLOT(onDialogButtonClicked(QAbstractButton *))); connect(ui.lblHomePage, SIGNAL(linkActivated(const QString &)),SLOT(onHomePageLinkActivated(const QString &))); connect(ui.lblDependsOn, SIGNAL(linkActivated(const QString &)),SLOT(onDependsLinkActivated(const QString &))); connect(ui.lblDependsFor, SIGNAL(linkActivated(const QString &)),SLOT(onDependsLinkActivated(const QString &))); connect(ui.tbvPlugins->selectionModel(),SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)),SLOT(onCurrentPluginChanged(const QModelIndex &, const QModelIndex &))); restoreGeometry(Options::fileValue("misc.setup-plugins-dialog.geometry").toByteArray()); updatePlugins(); }
ConsoleWidget::ConsoleWidget(IPluginManager *APluginManager, QWidget *AParent) : QWidget(AParent) { REPORT_VIEW; ui.setupUi(this); setAttribute(Qt::WA_DeleteOnClose,true); IconStorage::staticStorage(RSR_STORAGE_MENUICONS)->insertAutoIcon(this,MNI_CONSOLE,0,0,"windowIcon"); FXmppStreams = NULL; FStanzaProcessor = NULL; FSearchMoveCursor = false; ui.cmbStreamJid->addItem(tr("<All Streams>")); initialize(APluginManager); if (!Options::isNull()) onOptionsOpened(); ui.cmbCondition->view()->setTextElideMode(Qt::ElideNone); QPalette palette = ui.tbrConsole->palette(); palette.setColor(QPalette::Inactive,QPalette::Highlight,palette.color(QPalette::Active,QPalette::Highlight)); palette.setColor(QPalette::Inactive,QPalette::HighlightedText,palette.color(QPalette::Active,QPalette::HighlightedText)); ui.tbrConsole->setPalette(palette); FTextHilightTimer.setSingleShot(true); connect(&FTextHilightTimer,SIGNAL(timeout()),SLOT(onTextHilightTimerTimeout())); connect(ui.tbrConsole,SIGNAL(visiblePositionBoundaryChanged()),SLOT(onTextVisiblePositionBoundaryChanged())); ui.lneTextSearch->setPlaceholderText(tr("Search")); ui.tlbTextSearchNext->setIcon(style()->standardIcon(QStyle::SP_ArrowDown, NULL, this)); ui.tlbTextSearchPrev->setIcon(style()->standardIcon(QStyle::SP_ArrowUp, NULL, this)); connect(ui.tlbTextSearchNext,SIGNAL(clicked()),SLOT(onTextSearchNextClicked())); connect(ui.tlbTextSearchPrev,SIGNAL(clicked()),SLOT(onTextSearchPreviousClicked())); connect(ui.lneTextSearch,SIGNAL(searchStart()),SLOT(onTextSearchStart())); connect(ui.lneTextSearch,SIGNAL(searchNext()),SLOT(onTextSearchNextClicked())); connect(ui.lneTextSearch,SIGNAL(textChanged(const QString &)),SLOT(onTextSearchTextChanged(const QString &))); connect(ui.tlbAddCondition,SIGNAL(clicked()),SLOT(onAddConditionClicked())); connect(ui.tlbRemoveCondition,SIGNAL(clicked()),SLOT(onRemoveConditionClicked())); connect(ui.tlbClearCondition,SIGNAL(clicked()),ui.ltwConditions,SLOT(clear())); connect(ui.cmbCondition->lineEdit(),SIGNAL(returnPressed()),SLOT(onAddConditionClicked())); connect(ui.tlbAddContext,SIGNAL(clicked()),SLOT(onAddContextClicked())); connect(ui.tlbRemoveContext,SIGNAL(clicked()),SLOT(onRemoveContextClicked())); connect(ui.cmbContext,SIGNAL(currentIndexChanged(int)),SLOT(onContextChanged(int))); connect(ui.tlbSendXML,SIGNAL(clicked()),SLOT(onSendXMLClicked())); connect(ui.tlbClearConsole,SIGNAL(clicked()),ui.tbrConsole,SLOT(clear())); connect(ui.tlbClearConsole,SIGNAL(clicked()),SLOT(onTextSearchStart())); connect(ui.chbWordWrap,SIGNAL(toggled(bool)),SLOT(onWordWrapButtonToggled(bool))); }
bool GameUI::keyPressEvent(QKeyEvent *event) { if (GetFocusWidget()->keyPressEvent(event)) return true; bool handled = false; QStringList actions; handled = GetMythMainWindow()->TranslateKeyPress("Game", event, actions); for (int i = 0; i < actions.size() && !handled; i++) { QString action = actions[i]; handled = true; if (action == "MENU") showMenu(); else if (action == "EDIT") edit(); else if (action == "INFO") showInfo(); else if (action == "TOGGLEFAV") toggleFavorite(); else if (action == "INCSEARCH") searchStart(); else if (action == "INCSEARCHNEXT") searchStart(); else if (action == "DOWNLOADDATA") gameSearch(); else handled = false; } if (!handled && MythScreenType::keyPressEvent(event)) handled = true; return handled; }
vector<int> searchRange(int A[], int n, int target) { // Start typing your C/C++ solution below // DO NOT write int main() function vector<int> ans; int start, end; start = searchStart(A, target, 0, n - 1); end = searchEnd(A, target, 0, n - 1); ans.push_back(start); ans.push_back(end); return ans; }
Frame::Frame(QWidget *parent) : QFrame(parent) { this->resize(Config::FrameWidth, Config::FrameHeight); this->setMinimumSize(Config::FrameWidth, Config::FrameHeight); this->setMaximumSize(Config::FrameWidth, Config::FrameHeight); this->setWindowFlags(Qt::FramelessWindowHint); this->setStyleSheet(Config::FrameStyleSheet); _titlebar = new TitleBar(this); _toolbar = new ToolBar(this); _panel = new PanelWin(this); _statebar = new StateBar(this); _layout = new QVBoxLayout(this); _layout->setSpacing(0); _layout->setMargin(0); _layout->addWidget(_titlebar); _layout->addWidget(_toolbar); _layout->addWidget(_panel); _layout->addWidget(_statebar); connect(_titlebar->_btnMin, SIGNAL(clicked()), this, SLOT(minwin())); connect(_titlebar->_btnClose, SIGNAL(clicked()), this, SLOT(closewin())); connect(_toolbar->_btnKey, SIGNAL(clicked()), _panel, SLOT(selectKey())); connect(_toolbar->_btnCust, SIGNAL(clicked()), _panel, SLOT(selectCust())); connect(_panel->_btnExtractStart, SIGNAL(clicked()), this, SLOT(extractStart())); connect(_panel->_btnExtractCancel, SIGNAL(clicked()), this, SLOT(extractCancel())); connect(_panel->_btnSearchBrowse, SIGNAL(clicked()), this, SLOT(openFolder())); connect(_panel->_btnSearchStart, SIGNAL(clicked()), this, SLOT(searchStart())); connect(_panel->_btnSearchCancel, SIGNAL(clicked()), this, SLOT(searchCancel())); connect(_panel->_btnClearLogs, SIGNAL(clicked()), this, SLOT(clearLogs())); connect(_panel->_btnBackupBrowse, SIGNAL(clicked()), this, SLOT(openFolder())); connect(_panel->_btnBackupStart, SIGNAL(clicked()), this, SLOT(backupStart())); connect(_panel->_btnBackupCancel, SIGNAL(clicked()), this, SLOT(backupCancel())); _panel->_btnSearchCancel->setEnabled(false); _panel->_btnBackupCancel->setEnabled(false); _panel->_btnClearLogs->setEnabled(false); }