Exemplo n.º 1
0
SearchWindow::SearchWindow()
    : QWidget(0), d(new Private)
{
    QVBoxLayout* layout = new QVBoxLayout;

    d->scrollArea       = new QScrollArea(this);
    d->scrollArea->setWidgetResizable(true);
    d->scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);

    d->searchView       = new SearchView;
    d->searchView->setup();

    d->bottomBar        = new SearchViewBottomBar(d->searchView);
    d->searchView->setBottomBar(d->bottomBar);

    d->scrollArea->setWidget(d->searchView);
    d->scrollArea->setFrameStyle(QFrame::NoFrame);

    layout->addWidget(d->scrollArea);
    layout->addWidget(d->bottomBar);
    layout->setMargin(0);
    layout->setSpacing(0);
    setLayout(layout);

    setVisible(false);
    setWindowTitle(i18n("Advanced Search"));
    resize(800, 600);

    connect(d->searchView, SIGNAL(searchOk()),
            this, SLOT(searchOk()));

    connect(d->searchView, SIGNAL(searchCancel()),
            this, SLOT(searchCancel()));

    connect(d->searchView, SIGNAL(searchTryout()),
            this, SLOT(searchTryout()));
}
Exemplo n.º 2
0
void SearchWindow::keyPressEvent(QKeyEvent* e)
{
    // Implement keys like in a dialog
    if (!e->modifiers() || ((e->modifiers() & Qt::KeypadModifier) && e->key() == Qt::Key_Enter))
    {
        switch (e->key())
        {
            case Qt::Key_Enter:
            case Qt::Key_Return:
            case Qt::Key_Select:
                searchOk();
                break;
            case Qt::Key_F4:
            case Qt::Key_Escape:
            case Qt::Key_Back:
                searchCancel();
                break;
            default:
                break;
        }
    }
}