Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_edit_profiles_dialog.cpp
Go to the documentation of this file.
1/*
2 * This file is part of the KDE project
3 * SPDX-FileCopyrightText: 2013 Arjen Hiemstra <ahiemstra@heimr.nl>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7
9
10#include <KLocalizedString>
11#include <QMessageBox>
12
13#include "kis_icon_utils.h"
16
17#include "ui_kis_edit_profiles_dialog.h"
18
20{
21public:
22 Private() { }
23
24 Ui::KisEditProfilesDialog *ui {nullptr};
26};
27
28KisEditProfilesDialog::KisEditProfilesDialog(QWidget *parent, Qt::WindowFlags flags)
29 : KoDialog(parent, flags), d(new Private())
30{
31 QWidget *mainWidget = new QWidget(this);
32 d->ui = new Ui::KisEditProfilesDialog();
33 d->ui->setupUi(mainWidget);
35
37 d->ui->profileList->setModel(d->profileModel);
38
39 d->ui->removeButton->setIcon(KisIconUtils::loadIcon("edit-delete"));
40 d->ui->duplicateButton->setIcon(KisIconUtils::loadIcon("edit-copy"));
41 d->ui->renameButton->setIcon(KisIconUtils::loadIcon("document-edit"));
42 d->ui->resetButton->setIcon(KisIconUtils::loadIcon("view-refresh"));
43
44 connect(d->ui->removeButton, SIGNAL(clicked(bool)), SLOT(removeButtonClicked()));
45 connect(d->ui->duplicateButton, SIGNAL(clicked(bool)), SLOT(duplicateButtonClicked()));
46 connect(d->ui->renameButton, SIGNAL(clicked(bool)), SLOT(renameButtonClicked()));
47 connect(d->ui->resetButton, SIGNAL(clicked(bool)), SLOT(resetButtonClicked()));
48
49 d->ui->removeButton->setEnabled(d->profileModel->rowCount() > 1);
50
52 setWindowTitle(i18n("Edit Profiles"));
53}
54
59
61{
62 KisInputProfileManager::instance()->removeProfile(d->profileModel->profileName(d->ui->profileList->currentIndex()));
63 d->ui->removeButton->setEnabled(d->profileModel->rowCount() > 1);
64}
65
67{
68 QString currentName = d->profileModel->profileName(d->ui->profileList->currentIndex());
69 QString newName = i18n("Copy of %1", currentName);
71 d->ui->removeButton->setEnabled(d->profileModel->rowCount() > 1);
72}
73
75{
76 d->ui->profileList->edit(d->ui->profileList->currentIndex());
77}
78
80{
81 if(QMessageBox::question(this,
82 i18nc("@title:window", "Reset All Profiles"),
83 i18n("You will lose all changes to any input profiles. Do you wish to continue?"),
84 QMessageBox::Yes | QMessageBox::No,
85 QMessageBox::Yes) == QMessageBox::Yes) {
87 }
88}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
KisEditProfilesDialog(QWidget *parent=nullptr, Qt::WindowFlags f=Qt::WindowFlags())
static KisInputProfileManager * instance()
void removeProfile(const QString &name)
void duplicateProfile(const QString &name, const QString &newName)
A model providing a list of profiles available.
QString profileName(const QModelIndex &index)
A dialog base class with standard buttons and predefined layouts.
Definition KoDialog.h:116
QWidget * mainWidget()
Definition KoDialog.cpp:368
void setMainWidget(QWidget *widget)
Definition KoDialog.cpp:354
void setButtons(ButtonCodes buttonMask)
Definition KoDialog.cpp:195
@ Default
Show Default button.
Definition KoDialog.h:126
@ Close
Show Close-button. (this button closes the dialog)
Definition KoDialog.h:131
QIcon loadIcon(const QString &name)