20 #include <QFileDialog>
21 #include <QAbstractButton>
22 #include <QDialogButtonBox>
23 #include <QMessageBox>
30 connect( mButtonAddColor, &QToolButton::clicked,
this, &QgsPresetColorRampWidget::mButtonAddColor_clicked );
31 mTreeColors->setScheme( &mRamp );
39 connect( mTreeColors->model(), &QAbstractItemModel::dataChanged,
this, &QgsPresetColorRampWidget::schemeChanged );
40 connect( mTreeColors->model(), &QAbstractItemModel::rowsRemoved,
this, &QgsPresetColorRampWidget::schemeChanged );
53 mTreeColors->setScheme( &mRamp );
58 void QgsPresetColorRampWidget::updatePreview()
60 const QSize size( 300, 40 );
64 void QgsPresetColorRampWidget::setColors()
70 void QgsPresetColorRampWidget::mButtonAddColor_clicked()
85 if ( !newColor.isValid() )
95 void QgsPresetColorRampWidget::schemeChanged()
97 mTreeColors->saveColorsToScheme();
102 void QgsPresetColorRampWidget::newColorChanged(
const QColor &color )
104 const int row = mTreeColors->model()->rowCount() - 1;
105 const QModelIndex colorIndex = mTreeColors->model()->index( row, 0 );
106 mTreeColors->model()->setData( colorIndex, color );
112 QVBoxLayout *vLayout =
new QVBoxLayout();
116 vLayout->addWidget( mWidget );
117 mButtonBox =
new QDialogButtonBox( QDialogButtonBox::Cancel | QDialogButtonBox::Help | QDialogButtonBox::Ok, Qt::Horizontal );
118 connect( mButtonBox, &QDialogButtonBox::accepted,
this, &QDialog::accept );
119 connect( mButtonBox, &QDialogButtonBox::rejected,
this, &QDialog::reject );
120 connect( mButtonBox, &QDialogButtonBox::helpRequested,
this, &QgsPresetColorRampDialog::showHelp );
121 vLayout->addWidget( mButtonBox );
122 setLayout( vLayout );
123 setWindowTitle( tr(
"Color Presets Ramp" ) );
132 void QgsPresetColorRampDialog::showHelp()
134 QgsHelp::openHelp( QStringLiteral(
"style_library/style_manager.html#setting-a-color-ramp" ) );
static QColor getColor(const QColor &initialColor, QWidget *parent, const QString &title=QString(), bool allowOpacity=false)
Returns a color selection from a color dialog.
void pasteColors()
Pastes colors from clipboard to the list.
void removeSelection()
Removes any selected colors from the list.
void copyColors()
Copies colors from the list to the clipboard.
void showExportColorsDialog()
Displays a file picker dialog allowing users to export colors from the list into a file.
void showImportColorsDialog()
Displays a file picker dialog allowing users to import colors into the list from a file.
static void openHelp(const QString &key)
Opens help topic for the given help key using default system web browser.
QDialogButtonBox * buttonBox() const
Returns a reference to the dialog's button box.
QgsPresetSchemeColorRamp ramp
void changed()
Emitted when the dialog settings change.
QgsPresetColorRampDialog(const QgsPresetSchemeColorRamp &ramp, QWidget *parent=nullptr)
Constructor for QgsPresetColorRampDialog.
A scheme based color ramp consisting of a list of predefined colors.
static QColor lastUsedColor()
Returns the most recently used color.
static QPixmap colorRampPreviewPixmap(QgsColorRamp *ramp, QSize size, int padding=0, Qt::Orientation direction=Qt::Horizontal, bool flipDirection=false, bool drawTransparentBackground=true)
Returns a pixmap preview for a color ramp.
static QString colorToName(const QColor &color)
Returns a friendly display name for a color.