コード例 #1
0
FacebookContactUI::FacebookContactUI(const QRectF &rect) :
    PlexyDesk::DesktopWidget(rect),
    d (new PrivateFacebookContactUI)
{
    enableDefaultBackground(true);

    QRectF scrollRect = QRect(0.0, 24.0, rect.width(), rect.height() - 80);
    d->mScrollView = new ContactList(scrollRect, this);
    d->mScrollView->setVisible(true);
    d->mScrollView->enableDefaultBackground(false);
    d->mScrollView->enableShadow(false);
    d->mScrollView->setLabelName("Contacts");
    d->mScrollView->setFlag(QGraphicsItem::ItemIsMovable, false);
    d->mScrollView->enableDockMode(false);
    d->mScrollView->enableWindowMode(false);

    d->mSearchBox = new PlexyDesk::LineEdit(this);
    d->mSearchBox->setSize (QSizeF(rect.width() - 40, 32));
    d->mSearchBox->show();
    d->mSearchBox->setPos( (rect.width() / 2) - (d->mSearchBox->boundingRect().width() / 2) ,
                           38 + d->mScrollView->boundingRect().height() );

    connect(d->mSearchBox, SIGNAL(text(QString)), d->mScrollView, SLOT(filter(QString)));
    connect(d->mScrollView, SIGNAL(clicked(QString)), this, SLOT(onViewClicked(QString)));

    setCacheMode(QGraphicsItem::ItemCoordinateCache);
}
コード例 #2
0
ファイル: openfiledialog.cpp プロジェクト: DrawTable/GUI
OpenFileDialog::OpenFileDialog(QWidget *parent) : QDialog(parent)
{

    /* layouts */

    QVBoxLayout* layout = new QVBoxLayout();
    QHBoxLayout* hlayout;

    /* title area */

    title = new QLabel("Open File");
    title->setStyleSheet("font: 24pt; color: white;");

    QFrame* line = new QFrame;
    line->setFrameStyle(QFrame::HLine | QFrame::Raised);
    line->setStyleSheet("background: white; border: 2px solid white;");

    layout->addWidget(title);
    layout->addWidget(line);

    /* files header */

    path = new QLabel(QDir::homePath());
    path->setStyleSheet("color: white; font: 14pt;");

    drive = new QPushButton("Drives");
    drive->setFixedSize(QSize(150, 50));
    drive->setStyleSheet("QPushButton{color: white; border: 0px; font: 14pt;} QPushButton::hover{border: 2px solid white;}");
    connect(drive, SIGNAL(clicked(bool)), this, SLOT(onDriveClicked()));

    hlayout = new QHBoxLayout();
    hlayout->addWidget(path);
    hlayout->addStretch();
    hlayout->addWidget(drive);

    layout->addLayout(hlayout);

    /* files area */

    model = new QFileSystemModel();
    model->setFilter(QDir::AllEntries | QDir::NoDot);

    view = new QListView();
    view->setModel(model);
    view->setRootIndex(model->setRootPath(path->text()));
    view->setStyleSheet("QListView{border: 2px solid white; } QListView::item{color: white; height: 50px;} QListView::item:hover{border: 2px solid white; } QListView::item:selected{border: 2px solid white;}");
    view->verticalScrollBar()->setStyleSheet("QScrollBar:vertical { width: 45px; }");

    connect(view, SIGNAL(clicked(QModelIndex)), this, SLOT(onViewClicked(QModelIndex)));

    layout->addWidget(view);

    /* open area */

    input = new Input();
    input->setFixedHeight(50);
    input->setStyleSheet("color: white; font: 14pt;");

    open = new QPushButton("Open");
    open->setFixedSize(QSize(150, 50));
    open->setStyleSheet("QPushButton{color: white; border: 0px; font: 14pt;} QPushButton::hover{border: 2px solid white;}");
    connect(open, SIGNAL(clicked(bool)), this, SLOT(onOpenClicked()));

    cancel = new QPushButton("Cancel");
    cancel->setFixedSize(QSize(150, 50));
    cancel->setStyleSheet("QPushButton{color: white; border: 0px; font: 14pt;} QPushButton::hover{border: 2px solid white;}");
    connect(cancel, SIGNAL(clicked(bool)), this, SLOT(onCancelClicked()));

    hlayout = new QHBoxLayout();
    hlayout->addWidget(input);
    hlayout->addWidget(open);
    hlayout->addWidget(cancel);

    layout->addLayout(hlayout);

    /* keyboard */
    keyboard = new VirtualKeyboard(input, this);
    keyboard->setStyleSheet("font: 14pt;");
    keyboard->hide();
    connect(keyboard, SIGNAL(enterClicked()), this, SLOT(onOpenClicked()));

    layout->addWidget(keyboard);

    /* window */

    setLayout(layout);
    setStyleSheet("background: rgb(46,46,46);");
    showFullScreen();
}