File indexing completed on 2024-05-12 04:58:10

0001 /* ============================================================
0002 * Falkon - Qt web browser
0003 * Copyright (C) 2010-2014  David Rosca <nowrep@gmail.com>
0004 *
0005 * This program is free software: you can redistribute it and/or modify
0006 * it under the terms of the GNU General Public License as published by
0007 * the Free Software Foundation, either version 3 of the License, or
0008 * (at your option) any later version.
0009 *
0010 * This program is distributed in the hope that it will be useful,
0011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0013 * GNU General Public License for more details.
0014 *
0015 * You should have received a copy of the GNU General Public License
0016 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
0017 * ============================================================ */
0018 #include "editsearchengine.h"
0019 #include "ui_editsearchengine.h"
0020 #include "iconchooser.h"
0021 
0022 #include <QFileDialog>
0023 
0024 EditSearchEngine::EditSearchEngine(const QString &title, QWidget* parent)
0025     : QDialog(parent)
0026     , ui(new Ui::EditSearchEngine)
0027 {
0028     setWindowTitle(title);
0029     ui->setupUi(this);
0030 
0031     connect(ui->iconFromFile, &QAbstractButton::clicked, this, &EditSearchEngine::chooseIcon);
0032 
0033     ui->buttonBox->setFocus();
0034 
0035     setFixedHeight(sizeHint().height());
0036 }
0037 
0038 QString EditSearchEngine::name()
0039 {
0040     return ui->name->text().trimmed();
0041 }
0042 
0043 void EditSearchEngine::setName(const QString &name)
0044 {
0045     ui->name->setText(name);
0046     ui->name->setCursorPosition(0);
0047 }
0048 
0049 QString EditSearchEngine::url()
0050 {
0051     return ui->url->text().trimmed();
0052 }
0053 
0054 QString EditSearchEngine::postData()
0055 {
0056     return ui->postData->text().trimmed();
0057 }
0058 
0059 void EditSearchEngine::setUrl(const QString &url)
0060 {
0061     ui->url->setText(url);
0062     ui->url->setCursorPosition(0);
0063 }
0064 
0065 void EditSearchEngine::setPostData(const QString &postData)
0066 {
0067     ui->postData->setText(postData);
0068     ui->postData->setCursorPosition(0);
0069 }
0070 
0071 QString EditSearchEngine::shortcut()
0072 {
0073     return ui->shortcut->text().trimmed();
0074 }
0075 
0076 void EditSearchEngine::setShortcut(const QString &shortcut)
0077 {
0078     ui->shortcut->setText(shortcut);
0079     ui->shortcut->setCursorPosition(0);
0080 }
0081 
0082 QIcon EditSearchEngine::icon()
0083 {
0084     return QIcon(ui->icon->pixmap());
0085 }
0086 
0087 void EditSearchEngine::setIcon(const QIcon &icon)
0088 {
0089     ui->icon->setPixmap(icon.pixmap(16));
0090 }
0091 
0092 void EditSearchEngine::hideIconLabels()
0093 {
0094     ui->iconLabel->hide();
0095     ui->editIconFrame->hide();
0096 
0097     resize(width(), sizeHint().height());
0098 }
0099 
0100 void EditSearchEngine::chooseIcon()
0101 {
0102     IconChooser chooser(this);
0103     QIcon icon = chooser.getIcon();
0104 
0105     if (!icon.isNull()) {
0106         setIcon(icon);
0107     }
0108 }