Пример #1
0
 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);
     }
 }
Пример #2
0
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;
}
Пример #3
0
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();
}
Пример #4
0
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)));
}
Пример #5
0
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;
}
Пример #6
0
 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;
 }
Пример #7
0
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);

  }