Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to lock layers #734

Closed
xerosugar opened this issue Aug 29, 2014 · 29 comments
Closed

Ability to lock layers #734

xerosugar opened this issue Aug 29, 2014 · 29 comments
Labels
feature It's a feature, not a bug.

Comments

@xerosugar
Copy link

I think this should be added to prevent the user from working on the wrong layer.

@kheftel-old
Copy link

+1 for this

@bjorn
Copy link
Member

bjorn commented Aug 29, 2014

Currently, hiding a layer can effectively be used to avoid working on a layer since this also disables the tools from working on the layer.

@xerosugar
Copy link
Author

yes, but I still think that being able to see what is on the other layers (the locked ones) while you work on a new one would be nice.

@kheftel-old
Copy link

Agree with xerosugar

@alwex
Copy link

alwex commented Sep 12, 2014

+1 also

@ncareau
Copy link

ncareau commented Jan 5, 2015

+1, currently our game has multiple layer and i throw an error when wrong tile are inserted into the special layer. Being able to lock the layer would be nice to prevent any unwanted tile inserted in that layer.

@bjorn bjorn added the feature It's a feature, not a bug. label Jan 6, 2015
@superqix
Copy link

superqix commented Sep 1, 2015

I don't usually +1 something, but now that we have scaleable objects, this feature is getting more important. We use lots of gradients on the topmost and bottommost layers that make it hard to nudge other objects in a map.

@bjorn
Copy link
Member

bjorn commented Sep 1, 2015

Alright, I've added it to the roadmap. You can vote on it there. I'm still trying to find out how to prioritize features against each other. I definitely agree this would be a good to have feature, no question about it.

Sometimes I tell people they can support me on Patreon to help me get around to more features sooner, but I see you already are @superqix, so thanks a lot for your support! And to @kheftel as well of course!

@superqix
Copy link

superqix commented Sep 1, 2015

Thanks for adding to the roadmap. I've been super impressed with updates since you went with Patreon funding, so keep up the good work.

I'm working toward releasing a new Lua loader for CoronaSDK/Love2D so hopefully that will open you up to a new group of Patreons.

@kheftel-old
Copy link

It's been awesome to see the pace of updates increase as patreon funding grows :). This is a great piece of software, and @bjorn you have done excellent work with it!

@bjorn
Copy link
Member

bjorn commented Sep 1, 2015

That's great to hear, thanks!

As for growing the funding, this seems really hard from the current level. The pace rather stopped once the first goal was reached, but I'd still like to reach the second goal as well. I've opened up issue #1064 for this. :-)

@EdenIndustries
Copy link

I've actually already implemented layer locking in our local version of Tiled. Do you want me to try a pull request for it? Or did you have a plan in mind for it already?

@bjorn
Copy link
Member

bjorn commented Dec 4, 2015

@EdenIndustries This is one of those features I'd like to get around to sooner rather than later, but I did not do any work on it yet since there are many other things I'd like to get done as well. So feel free to open a pull request for it, I'm looking forward to see your changes!

@EdenIndustries
Copy link

@bjorn Ok I'll see what I can do! To my embarassment, I admit Git's notion of branches and pulling and forking and such is not something I'm all that familiar with yet (I've only really used SVN and Perforce), but I'll try to figure it out and get the pull request sorted out :)

@bjorn
Copy link
Member

bjorn commented Dec 4, 2015

@EdenIndustries Good luck and feel free to ask questions! No need to be embarrassed!

@JesseTG
Copy link

JesseTG commented Dec 4, 2015

@EdenIndustries Try this, it's interactive and very helpful http://pcottle.github.io/learnGitBranching/

@EdenIndustries
Copy link

@JesseTG Wow, very cool, thanks!

@JesseTG
Copy link

JesseTG commented Dec 5, 2015

👍

@superqix
Copy link

@EdenIndustries Did you ever get a branch or PR organized for this?

@EdenIndustries
Copy link

Sorry, no. It's been a really busy time for us prepping for GDC and now E3. I can see if I have time to get around to it though. Or if you build Tiled locally, I can just send you the relevant files maybe?

@superqix
Copy link

I'd be willing to give it a look. wilson at no2games dot com is probably the easiest way to send it along. Thanks!

@EdenIndustries
Copy link

No problem! I'll try to send it along shortly

@damienleroux
Copy link

+1 :)

@harrisyu
Copy link

+1
Waiting for this for a long time.
Now I need to hide other layer to prevent false selecting.
👍

@ketanhwr
Copy link
Contributor

What exactly will be the features? A layer locked means that we won't be able to edit it, right?

@bjorn
Copy link
Member

bjorn commented Jun 20, 2017

What exactly will be the features? A layer locked means that we won't be able to edit it, right?

Exactly. Also, a locked group layer means the lock applies to the child layers as well, recursively. See for example Layer::isHidden, which behaves similarly.

One of the things you'll need to do is to find a way to add another interactive icon to each layer in the layers view. We used the checkable state for the visibility, and first of all we could try to do the same by adding another checkable column.

@bjorn bjorn closed this as completed in cf1ea29 Jun 27, 2017
boaromayo added a commit to boaromayo/tiled that referenced this issue Jun 28, 2017
* Fixed crash when editing collision when tile image wasn't loaded

When opening a tileset it can happen that the tileset image fails to
load. In this case, opening the tile collision editor could lead to a
crash.

* GmxPlugin: Fixed tile type inheritance for tile objects

Now tile objects of which the tile has a type defined are exported as
instances of this type of object in the GameMaker room file.

* Added toolbar for stamp brush and bucket fill tool (mapeditor#1586)

This adds a new tool-specific toolbar that can be used by tools.

Currently contains actions for rotating/flipping stamp and toggling random mode.

Closes mapeditor#1084

* docs: Fixed link to other page

* QtPropertyBrowser: Removed deprecation warnings

The classes were deprecated in Qt 5.0 and warnings have been added in Qt
5.7.

* Fixed rendering of tile object outlines for resized objects

They were taking the size of the image instead of the size of the
object, which means this was broken since Tiled 0.12.

* Fixed rendering of tile objects when the image couldn't be loaded

If the tile was found but its image failed to load, tile objects would
not render at all and due to a broken boundingRect be also impossible to
interact with.

Now they render as the special "missing image marker" and can be
interacted with.

* More fixes for labels of objects nested in a group layer

* Fixed labels shown on objects hidden via a group layer
* Fixed updating of label visibility when toggling group layer visibility

* Fixed updating of label positions when moving a group layer

When moving a group layer, any labels present for objects nested within
that group layer need to be synchronized.

* GmxPlugin: Added support for defining views with objects (mapeditor#1621)

* Fixed hang when trying to fill with a pasted stamp

Since 688ec7d the size of a copied map
is set to 0x0 instead of matching the tile layer's size. It was supposed
to be irrelevant, but as it turns out TileStamp::maxSize was based on
the size of the map instead of the size of the tile layer. This could
lead to an infinite loop in fillWithStamp in bucketfilltool.cpp.

Closes mapeditor#1617
Closes mapeditor#1624

* Restored Ctrl+N shortcut on "New Map" action

There isn't really a good reason not to have this shortcut. Eventually
it may pop up a dialog where you can pick what you want to create, but
since it's more common to create new maps than new tilesets we can just
do that for now.

* Use initializer list for quick-stamp keys

* Introduced TilesetDocumentsModel and its sort-filter model companion

This model lists the tileset documents that are currently open, and the
sort-filter version sorts them by name and filters out tilesets that are
embedded in other maps than the current one.

This model extracts part of the logic from TilesetDock, so that it could
be reused by an updated TerrainModel. The TerrainModel currently only
lists terrains from tilesets that are already part of the map, but it
should display all loaded external tilesets.

* libtiled-java: Fixed wrong exception being caught in TileSet (mapeditor#1629)

* Display all tilesets with terrain in the Terrains view

Except for tilesets that are embedded into another map than the current
one, the Terrains view now displays all tilesets that have terrains
defined.

The Terrain Brush will now automatically add the tileset of the
currently selected terrain to the map when it isn't already present.

* Show custom properties on tiles and terrains in the map editor

While still not editable, this change shows these properties in a
read-only fashion. It is often useful to see them, as indicated by
multiple users on the forum.

* Bumped version to 1.0.2 and updated NEWS file

* Adds option to lock/unlock layer (mapeditor#1627)

Locking a layer prevents modifications to the layer by the tools, as
well as by some actions like cut and delete. Modifications to objects
are prevented by making them not selectable.

Closes mapeditor#734

* Fixed tool tips on flipping and rotating stamp actions
@UliAbo
Copy link

UliAbo commented Dec 27, 2021

Locking Layers would be really great! And entirely Layer Groups of course. All like in Photoshop.
+1 :)

@bjorn
Copy link
Member

bjorn commented Dec 27, 2021

@UliAbo Well, this issue was closed back in 2017 because locking of layers was added in Tiled 1.1, including locking of layer groups (when a group layer is locked, all its children are also considered locked, even though this is not visualized in the Layers view). What are you missing?

@UliAbo
Copy link

UliAbo commented Dec 27, 2021

@bjorn I'm sorry, you are totally right, this is all implemented (and I already used it...).
I don't know how, but while reading / typing my previous post, I was thinking about this issue here: #2807 and I kind of mixed it in my head with locking layers. So I wish to just deactivate / lock this Offset tool, because it keeps regularly crashing my work (because I notice some little pixel shifts done through the offset tool only later), when accidentally this Offset tool is auto-selected by clicking on the layer group.
Sorry again for the confusion!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature It's a feature, not a bug.
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.