Skip to content

Commit 9fbc00a

Browse files
authored
Fixed ability to change image and object layer properties (#4148)
Due to an inverted condition introduced in 629b53c, it was not actually possible to change properties specific to image layers and object layers. Also fixed the undo entry merging for these properties, which was broken because their undo commands did not have an ID.
1 parent 9694522 commit 9fbc00a

4 files changed

+14
-3
lines changed

src/tiled/changeimagelayerproperty.h

+4
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ class ChangeImageLayerTransparentColor : public ChangeValue<ImageLayer, QColor>
3939
QList<ImageLayer *> imageLayers,
4040
const QColor &newColor);
4141

42+
int id() const override { return Cmd_ChangeImageLayerTransparentColor; }
43+
4244
private:
4345
QColor getValue(const ImageLayer *imageLayer) const override;
4446
void setValue(ImageLayer *imageLayer, const QColor &value) const override;
@@ -51,6 +53,8 @@ class ChangeImageLayerImageSource : public ChangeValue<ImageLayer, QUrl>
5153
QList<ImageLayer *> imageLayers,
5254
const QUrl &imageSource);
5355

56+
int id() const override { return Cmd_ChangeImageLayerImageSource; }
57+
5458
private:
5559
QUrl getValue(const ImageLayer *imageLayer) const override;
5660
void setValue(ImageLayer *imageLayer, const QUrl &value) const override;

src/tiled/changeobjectgroupproperties.h

+4
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ class ChangeObjectGroupColor : public ChangeValue<ObjectGroup, QColor>
4242
QList<ObjectGroup *> objectGroups,
4343
const QColor &newColor);
4444

45+
int id() const override { return Cmd_ChangeObjectGroupColor; }
46+
4547
private:
4648
QColor getValue(const ObjectGroup *objectGroup) const override;
4749
void setValue(ObjectGroup *objectGroup, const QColor &value) const override;
@@ -61,6 +63,8 @@ class ChangeObjectGroupDrawOrder : public ChangeValue<ObjectGroup, ObjectGroup::
6163
QList<ObjectGroup *> objectGroups,
6264
ObjectGroup::DrawOrder newDrawOrder);
6365

66+
int id() const override { return Cmd_ChangeObjectGroupDrawOrder; }
67+
6468
private:
6569
ObjectGroup::DrawOrder getValue(const ObjectGroup *objectGroup) const override;
6670
void setValue(ObjectGroup *objectGroup, const ObjectGroup::DrawOrder &value) const override;

src/tiled/propertieswidget.cpp

+2-3
Original file line numberDiff line numberDiff line change
@@ -1125,7 +1125,7 @@ class LayerProperties : public ObjectProperties
11251125
template <class T>
11261126
QList<T*> selectedLayersOfType(Layer::TypeFlag typeFlag)
11271127
{
1128-
if (mDocument)
1128+
if (!mDocument)
11291129
return {};
11301130

11311131
QList<T*> result;
@@ -1212,9 +1212,8 @@ class ImageLayerProperties : public LayerProperties
12121212
emit mImageProperty->valueChanged();
12131213
if (layerChange.properties & ImageLayerChangeEvent::TransparentColorProperty)
12141214
emit mTransparentColorProperty->valueChanged();
1215-
if (layerChange.properties & ImageLayerChangeEvent::RepeatProperty) {
1215+
if (layerChange.properties & ImageLayerChangeEvent::RepeatProperty)
12161216
emit mRepeatProperty->valueChanged();
1217-
}
12181217
}
12191218

12201219
ImageLayer *imageLayer() const

src/tiled/undocommands.h

+4
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,10 @@ namespace Tiled {
3030
*/
3131
enum UndoCommands {
3232
Cmd_ChangeClassName,
33+
Cmd_ChangeImageLayerImageSource,
3334
Cmd_ChangeImageLayerRepeatX,
3435
Cmd_ChangeImageLayerRepeatY,
36+
Cmd_ChangeImageLayerTransparentColor,
3537
Cmd_ChangeLayerBlendMode,
3638
Cmd_ChangeLayerLocked,
3739
Cmd_ChangeLayerName,
@@ -54,6 +56,8 @@ enum UndoCommands {
5456
Cmd_ChangeMapStaggerAxis,
5557
Cmd_ChangeMapStaggerIndex,
5658
Cmd_ChangeMapTileSize,
59+
Cmd_ChangeObjectGroupColor,
60+
Cmd_ChangeObjectGroupDrawOrder,
5761
Cmd_ChangeSelectedArea,
5862
Cmd_ChangeTileImageRect,
5963
Cmd_ChangeTileProbability,

0 commit comments

Comments
 (0)