BetonQuest / BetonQuest-Editor

[End of Life] Quest editor for BetonQuest plugin.
GNU General Public License v3.0
17 stars 12 forks source link

Small productivity improvements #35

Open Namnodorel opened 8 years ago

Namnodorel commented 8 years ago

I'm currently starting to use the editor, and here I'll collect some small features of which I think they could be useful to make the editor easier and more intuitive to use.

When you create a new conversation option or similar, the option gets selected, but not the text field to add content. I think it would be useful if the editor switched to it right away :)

And another thing: I think it would look better if, when you create a new something that only requires an id to be initiated, the new item in the list would directly be created in it instead of the id (which doesn't exists so far) a focused text field in which the user can type the id. Esc, clicking away while nothing has been entered or pressing enter when the text field is empty cancels the creation and the item gets removed. Pressing enter or clicking away while the text field is not empty creates it. Annd something similar: When editing the id of an item, the same technique could be used. And something like double-click to edit the id and right-click and then select "Edit" in a popup would also be useful ;)

I think I'll add some more as I go on.

Namnodorel commented 8 years ago

Another one: the Editor always closes immediately, even if there are unsaved changes.

RiledUpCrow commented 8 years ago

When you create a new conversation option or similar, the option gets selected, but not the text field to add content. I think it would be useful if the editor switched to it right away :)

You're right. The only exception will be creating options as pointers, it switches only after pressing enter twice.

Another one: the Editor always closes immediately, even if there are unsaved changes.

Alright, a pop-up window asking for confirmation and offering save button.

And another thing: I think it would look better if, when you create a new something that only requires an id to be initiated, the new item in the list would directly be created in it instead of the id (...)

I'm sorry, but I don't understand exactly what you mean. Maybe you could explain a little bit more? ^^

Namnodorel commented 8 years ago

Okay, I'm gonna try... When you create a new item (lets say a conversation option), an item is directly added to the list. But because the editor has no idea how to name it so far, wheree usually the name appears, there should now be a text field in which the user can enter the id. He then confirms an entered name with enter, can cancel the creation with escape etc.

Maybe it gets a little more clear if I show you an example how it looks in GitKraken (the upper item would be the new one - it isn't the same use case, but it looks the same): https://puu.sh/rfgGB/9cc8bb178b.png

RiledUpCrow commented 8 years ago

Ah, I see. No problem, it'll be easy to add. When you type nothing and click add, the standard window will appear, if you type something then it will be used instead of showing a window.

Namnodorel commented 8 years ago

Hm, I'm not sure... What I meant is that first you click "add" then the new item with the text field in it appears, and if you type in something and press enter the (editable) text field will be "converted" into a normal text field. Not like when you set a points-to-player-option, or like anything that already exists in the editor.

RiledUpCrow commented 8 years ago

Ah, alright, now I understand. That would be more complicated. It would potentially allow the user to leave the ID empty, and the rest of the editor logic depends on the ID being defined. I could make default name, like "new_option", "new_option2" etc.

Namnodorel commented 8 years ago

Hover text over the checkbox in front of conditions: "Negate" or something similar. I wasn#t sure what it meant until I tried it out.

Namnodorel commented 8 years ago

Okay, another thing (on which you are maybe already working on):

First of all: YOU'RE AWESOME! Seriously! I mean - a BetonQuest-Uploader? How cool is that? The only thing that could be better is - you guessed it - a BetonQuest-Uploader which is directly integrated into the Editor, without any additional files, scripts or similar stuff.

RiledUpCrow commented 8 years ago

I'm not working on it yet, but I'm planning it. Firstly I want to finish BetonQuest 1.9, then I'll integrate them both. I want to prepare the plugin to handle player permissions, so the server admin can give a few quest writers their own packages to work on, and the editor should reflect that.

RiledUpCrow commented 8 years ago

By the way, while I was already planning to integrate the editor and the plugin, I wrote BetonQuestUploader as a commission. I'm not that awesome, the person who allowed me to share the code is :P

Namnodorel commented 8 years ago

You both are ;P

Namnodorel commented 8 years ago

Oh, and something else I'd add to the list: Remember the last opened project and export/save folder. The downside of this od that you'll need to store information from the editor on the user's PC (which would usually require a full installation and not just an OOB-Program) but I think sooner or later you'll have to store something on it.

RiledUpCrow commented 8 years ago

I'm planning to add that too. Actually it shouldn't be a problem. Windows, Linux and Mac support a home directory. Saving data could be done in two steps:

  1. Search current directory for .betoncraft folder (for portable installations)
  2. Search user's home directory for that folder.

And I could save settings there.