#include "placesitemeditdialog.h"
-#include <KAboutData>
#include "dolphindebug.h"
+
+#include <KAboutData>
#include <KFile>
#include <KIconButton>
#include <KLocalizedString>
-#include <QMimeDatabase>
#include <KUrlRequester>
+
#include <QCheckBox>
+#include <QDialogButtonBox>
#include <QEvent>
#include <QFormLayout>
-#include <QVBoxLayout>
-#include <QDialogButtonBox>
-#include <QPushButton>
#include <QLineEdit>
+#include <QMimeDatabase>
PlacesItemEditDialog::PlacesItemEditDialog(QWidget* parent) :
QDialog(parent),
m_text(),
m_url(),
m_allowGlobal(false),
- m_urlEdit(0),
- m_textEdit(0),
- m_iconButton(0),
- m_appLocal(0)
+ m_urlEdit(nullptr),
+ m_textEdit(nullptr),
+ m_iconButton(nullptr),
+ m_appLocal(nullptr),
+ m_buttonBox(nullptr)
{
}
QString PlacesItemEditDialog::icon() const
{
- return m_iconButton->icon();
+ return m_iconButton ? m_iconButton->icon() : m_icon;
}
void PlacesItemEditDialog::setText(const QString& text)
void PlacesItemEditDialog::slotUrlChanged(const QString& text)
{
- m_okButton->setEnabled(!text.isEmpty());
+ m_buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!text.isEmpty());
}
PlacesItemEditDialog::~PlacesItemEditDialog()
void PlacesItemEditDialog::initialize()
{
- QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel);
- m_okButton = buttonBox->button(QDialogButtonBox::Ok);
- m_okButton->setDefault(true);
- m_okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
- connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
- connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+ m_buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel, this);
+ connect(m_buttonBox, &QDialogButtonBox::accepted, this, &PlacesItemEditDialog::accept);
+ connect(m_buttonBox, &QDialogButtonBox::rejected, this, &PlacesItemEditDialog::reject);
setModal(true);
- m_okButton->setDefault(true);
QVBoxLayout *mainLayout = new QVBoxLayout;
setLayout(mainLayout);
QWidget* mainWidget = new QWidget(this);
mainLayout->addWidget(mainWidget);
- mainLayout->addWidget(buttonBox);
+ mainLayout->addWidget(m_buttonBox);
QVBoxLayout* vBox = new QVBoxLayout(mainWidget);
m_urlEdit->setMinimumWidth(m_urlEdit->fontMetrics().height() * (40 / 2));
connect(m_urlEdit, &KUrlRequester::textChanged, this, &PlacesItemEditDialog::slotUrlChanged);
- m_iconButton = new KIconButton(mainWidget);
- formLayout->addRow(i18nc("@label", "Choose an icon:"), m_iconButton);
- m_iconButton->setIconSize(IconSize(KIconLoader::Desktop));
- m_iconButton->setIconType(KIconLoader::NoGroup, KIconLoader::Place);
- if (m_icon.isEmpty()) {
- QMimeDatabase db;
- m_iconButton->setIcon(db.mimeTypeForUrl(m_url).iconName());
- } else {
- m_iconButton->setIcon(m_icon);
+ if (m_url.scheme() != QLatin1String("trash")) {
+ m_iconButton = new KIconButton(mainWidget);
+ formLayout->addRow(i18nc("@label", "Choose an icon:"), m_iconButton);
+ m_iconButton->setIconSize(IconSize(KIconLoader::Desktop));
+ m_iconButton->setIconType(KIconLoader::NoGroup, KIconLoader::Place);
+ if (m_icon.isEmpty()) {
+ QMimeDatabase db;
+ m_iconButton->setIcon(db.mimeTypeForUrl(m_url).iconName());
+ } else {
+ m_iconButton->setIcon(m_icon);
+ }
}
if (m_allowGlobal) {