SearchEdit::SearchEdit(QWidget *parent) :QLineEdit(parent){ QPixmap searchIcon(":search.png"); QLabel* lbl = new QLabel(this); lbl->setScaledContents(true); lbl->setPixmap(searchIcon); lbl->setFixedSize(QSize(21,21)); lbl->setStyleSheet("QLabel { border: none; padding: 0px; margin-left: 9px; margin-top: 8px;}"); clearButton = new QToolButton(this); QPixmap pixmap(":clear_left.png"); clearButton->setIcon(QIcon(pixmap)); clearButton->setIconSize(QSize(18,18)); clearButton->setCursor(Qt::ArrowCursor); clearButton->setStyleSheet("QToolButton { border: none; padding: 0px; margin-right: 2px; margin-top: 3px;}"); clearButton->hide(); setAttribute(Qt::WA_MacShowFocusRect, false); connect(clearButton, SIGNAL(clicked()), this, SLOT(clear())); connect(this, SIGNAL(textChanged(const QString&)), this, SLOT(updateCloseButton(const QString&))); int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth); //setStyleSheet(QString("QLineEdit { padding-right: %1px; } ").arg(clearButton->sizeHint().width() + frameWidth + 1)); QSize msz = minimumSizeHint(); setMinimumSize(qMax(msz.width(), clearButton->sizeHint().height() + frameWidth * 2 + 2), qMax(msz.height(), clearButton->sizeHint().height() + frameWidth * 2 + 2)); }
IconChooser::IconChooser(QWidget* parent) : QDialog(parent), ui(new Ui::IconChooser) { ui->setupUi(this); ui->iconList->setItemDelegate(new IconChooserDelegate(ui->iconList)); connect(ui->chooseFile, SIGNAL(clicked()), this, SLOT(chooseFile())); connect(ui->siteUrl, SIGNAL(textChanged(QString)), this, SLOT(searchIcon(QString))); }
void Library::init(QSettings* p) { QGridLayout* mainLayout = new QGridLayout(this); mainLayout->setMargin(0); QWidget* searchBar = new QWidget(); searchBar->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); searchBar->setMinimumHeight(40); searchBar->setStyleSheet("background-color:" + p->value("Navbar/SelectedColor").toString() + ";"); mainLayout->addWidget(searchBar, 0, 0); QHBoxLayout* searchLayout = new QHBoxLayout(searchBar); QLineEdit* searchBox = new QLineEdit(); searchBox->setPlaceholderText(tr("Search games")); searchBox->setStyleSheet("border: none;" "color: " + p->value("Primary/LightText").toString() + ";"); searchBox->setMinimumWidth(225); searchBox->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); searchLayout->addWidget(searchBox); QPixmap search(":/SystemMenu/Icons/SearchInverted.png"); QIcon searchIcon(search); QPushButton* searchBtn = new QPushButton(""); searchBtn->setIcon(searchIcon); searchBtn->setIconSize(QSize(16, 16)); searchBtn->setStyleSheet("background-color: transparent;"); searchBtn->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); searchLayout->addWidget(searchBtn); searchLayout->addStretch(); QPushButton* addGameBtn = new QPushButton(tr("Add game")); addGameBtn->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); addGameBtn->setStyleSheet("margin: 11px 0 0 11px; padding: 5px;"); mainLayout->addWidget(addGameBtn, 1, 0); connect(addGameBtn, &QPushButton::clicked, this, &Library::addGame); QWidget* gamesWidget = new QWidget(); mainLayout->addWidget(gamesWidget, 2, 0); gamesLayout = new QGridLayout(); gamesLayout->setSpacing(12); gamesWidget->setLayout(gamesLayout); }