-
Notifications
You must be signed in to change notification settings - Fork 226
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
Adds: document menu (copy, paste, delete, duplicate, split, merge, etc.) #229
Comments
I have a discussion thought. Normally the menu entries like "Copy, Cut, Paste, ...." are placed under the Edit menu heading. For an example of this take a look at an application like Firefox. Perhaps we should be placing these menu entries under Edit as well, Please note that I am not a GUI expert. EDIT I'm not sure what to do with the Documents entries "Move up, Move down, Merge, Split, Split at cursor". EDIT 2 These remaining Documents entries appear to be commands to change the structure of the document. Perhaps Structure would be a better menu heading??? EDIT 3 Found an issue. When starting manuskript with no document yet opened, the Documents menu entry is active. Only File should be active at this point in time. EDIT 4 'Just found another anomaly. After a project has been loaded the Documents menu is visible only when Editor has been selected on the left-hand-side. The Documents menu magically disappears if other left-hand-side selections are made. EDIT 5 Found another mismatch. The Documents menu has Delete shortcut key Del and Duplicate shortcut key Ctrl-D. However if I right click on a text in the Project tree, Delete has shortcut letter D and there is no Duplicate entry. I think we should be cautious here. Many editors like Emacs use Ctrl-D for delete, not duplicate. |
Good points! My thought for naming that menu Documents: that's what Scrivener do. hum. It makes sense for me in the sense that this menu is really about "items" in themeselves, not the usual "edit" like copy/pasting in the text of an item. But Structure works, I like it.
That's a bug, will fix.
This is because as of now, this menu is only useful in the Editor. Maybe it could be used also for other stuff, but for now it's only for
|
Again I'm no expert on this. I can go either way. If Scrivener uses Documents and you like it then please feel free to leave it that way
I just searched on this topic and came up with StackExhange: Don't hide or disable menu items?. This was the way the GUI has handled on the Palm Pilot in PalmOS. One person had a good argument for seeing at a glance a long list of disabled items as opposed to clicking on each one to see it is disabled. Currently we have other menu items disabled (for example before opening a document), so it might be easiest at this point to simply disable the menu item when it cannon be used.
You're right. I could only find editors like Emacs, or ones like Bash that can simulate emacs style editing. So I was wrong to say Because the Project tree pane also has buttons for adding and deleting folders and texts, we might consider adding more icons there. It's just a thought. Icons can clutter the User Interface too, so I think it best to only have commonly used icons displayed. |
Lasts commits:
I kept the name Documents for now, we'll see if we find something better… I did not see the "Del" keyboard shortcut in context menu..? |
Thank you for all the updates you've been making.
For Delete I think we wish to be as consistent as possible. The discrepancy I see now is:
Note that there are differences between what is available in the Documents menu versus what is available in the Project tree: Right-click menu. For example Duplicate is missing from the right-click menu. If these two menus do the same thing, then I think it might be less confusing to users if both include the same options. EDIT Oops, missed one your commits. The newly added Duplicate uses a different letter again: a. I think we should be consistent with these menus. It is also grouped differently in a different section of the menu. |
Thanks for providing the menu screen shots. I now see the same as the screen shots indicate. :-) In my opinion "Cut, Copy, Paste, Delete" still belongs under the Edit menu, and not the Documents menu. Placing these under Edit is more consistent with other applications, such as Firefox. Also if we add more functionality like copy and paste for characters, plots, or worlds, it would be best to have these menu items in the same consistent place. Most applications seem to place "Cut, Copy, Paste, Delete" under the Edit menu. |
Only cut copy paste delete? What about rename? Duplicate? Or the whole menu? I don't see a coherent rationale yet for what exactly each menu should be. |
You are absolutely correct. This documents menu really has me puzzled. There is something about it that just doesn't seem to fit (at least in my mind). 'Just last night I was thinking about the Duplicate functionality, which is very useful. Then it came to me. Other editors already do. It's called Copy and Paste. (palm striking face icon) With this in mind, can you think of a reason why we need a Duplicate? |
I would like to help make this enhancement fit as best as it can from a GUI perspective. I like the new Rename, Move Up, Move down, Merge, Split, and Split at Cursor functionality. If we can get this into the GUI mostly correct the first time, then we will avoid confusing our users later by moving functionality from one menu to another. I guess I got caught off guard when we decided to make a 0.6.0 release from the develop branch. I admit that I did not look at this before in the develop branch so my bad. I should have more thoroughly reviewed this before we pulled it into master for the release. EDIT On another project I work on, one person may write an enhancement, but another reviews it. If it looks good to both, then the change is committed to master. These approved commits build up in the master branch until it is decided to make a release. At that point an upcoming release announcement is made (for in 1 weeks time), and no further changes are made to master. During this 1 week period translators update the language translations, and the master branch undergoes testing to ensure proper operation. Then on release day the code is tagged and released. Perhaps something like the above might work for manuskript? EDIT 2 I think the above proposal is similar to the way github suggests working in the document Understanding the GitHub Flow. |
I've been looking at other applications to see what they do for GUI menus. Following is a screen shot from the Dolphin file manager which is part of KDE. In the above screen shot a list of valid options is shown only when a user right-clicks. There is no Edit menu or File Manager menu. Perhaps to keep things simpler for now, we might consider not adding a Documents menu? The manuskript right-click menu might then look something like the following:
EDIT This is just a proposal. If there are situations I have not thought of then please let me know or suggest changes. |
On workflowI'm more or less following the git flow model. If we wanted to follow it strictly, then we should have created a release branch (instead of merging to master). On the release branch, no new feature is added, bugs are corrected, translators do their job. And when the release is ready, it is merged in master and back in develop. This allows for every commit on master to be a workable release, and development can continue (with new features added) on the develop branch. Would you be okay with that?
With the actual scale of manuskript it's not such an issue. We can keep code on master before we make an official release and publish packages. On menuWe cannot simply imitate firefox, in that it's an entirely different type of software. I took a look at other outliners: From that, I take:
I think this comes back to what you said :) About duplicateBoth omni and scrivener have a Duplicate entry menu. Yes it's almost like copy/paste, and yet it might be convenient. Omnioutliner put's it in Edit, Scrivener in Documents. I think it makes more sense in Edit (since it is similar to copy and paste). MenuSo we would have something like;
|
Thank you @olivierkes for your response and links to other reference material. On workflow
I will work with whichever method you prefer. Without your work, there would be no manuskript. I am extremely happy that you released manuskript as Free Libre Open Source Software. I do not wish to stiffle your creativity in any way. Now that I've read up on the git flow model, I have discovered that some issues I encountered are because we didn't follow the git flow model properly. For example it says that all feature branches must be merged back into develop. We have not strictly followed this (for example commit 429e0a1 - Update README.md for 0.5.0 release was only committed to master and not develop.) This has led to a develop branch that does not include all of the commits in master. (A quick look will show a different screen shot on the code page for each branch.) Personally I prefer using the simplest approach when possible. I think that the github flow is simpler to maintain, as explained in the article GitHub Flow by Scott Chacon. To sum up, I will work with whichever method you prefer. On menuThank you for the links to these other outliners. I particularly like the name Organize from the omni project. It describes what the menu options Add, Move, split, etc. do. About duplicateIndeed both of these other outliners do have a Duplicate entry menu. Is there some key functionality that Duplicate does that is not included in Copy and Paste? If these are essentially the same, then I think only Copy and Paste is needed. It also makes the menu shorter by one item. MenuYour summary of the top level menu items makes sense to me. My vote would be for the name Organize instead of Documents. |
WorkflowWhen I first started to use git, I did a quick search and found the article about git flow, and thought it was like a standard. Now I've read the post you linked, and few others, and discovered a world of religious-like convictions about achieving perfection in using git :) Thanks for bringing that to my attention. Probably git flow is a bit to much for a project of our scale. But since I'm getting use to that I'd like to keep it for now, and try to use it a bit more properly. And I keep in mind the idea of a simpler workflow like github's. So it means that for now we keep both master and develop, and for the next release, when we feel develop is almost ready, we create a feature branch to work on finalization (last bug fixes, translation, readme, changelog, etc.). MenuSorry I saw your post from yesterday with the dolphin's screenshot only after writing mine. I want to keep the idea of a window menu, and not just only a context menu. (Also because it is easier that way to have keyboard shortcuts, though I'm sure I could find a workaround). I like Organize. Duplicate is almost like copy/paste, the only difference is that the clipboard's content is not changed. So you can for example: cut some text, duplicate item, and paste text. Or copy item A, duplicate B, and paste A. That's not critical, so I'm okay with removing it. Summary
|
Okay, that works for me. We'll stay with git flow for now. We should probably fix the develop branch so that it includes the commits that were made to master only.
Yes, I think delete should also be moved to the Edit menu. Also from looking at other applications there appears to be a pseudo-order of these menu items. The order I observed is:
Regarding Duplicate please feel free to include it or remove it as you see fit. I only wished to state my opinion (I like to keep things simpler, menus shorter, etc). |
Yes, I'll merge master into develop once we're done with those fixes.
Thanks, will follow that! |
What do you think @gedakc? |
Thanks for working on this issue. I'll re-test the master branch soon. In the meantime I noticed there is a new "i18n/manuskript_fr.qm" file checked into the repository -- commit b942342. I am curious. What is this new file? Thanks, |
Overall my testing of the master branch has gone well. The new features you added are working splendidly. In my testing I came across three minor issues. None of these would be cause to hold up the release if case you wanted to get the release out.
|
Thans for testing @gedakc!
This is the binary file containting the translation. Qt does not us the
OK we'll leave it at that for now.
I will change the order
No, forgot to remove it there to. Will do it. I noticed another issue in Project tree - right-click menu: when right-clicking on an item that is not the current item, the selection does not change, and some of the menu items apply to selected item while other apply to item under mouse. Secifically, "open/open in new tab" and "expand/collapse" will apply to item-under-mouse, and all the others (copy, paste, change status, change icon, etc.) will apply to selected item. What should be the behavior here? At least, I think, every entry in context menu should apply to the same item. So:
Do you have an opinion? |
Good work discovering this issue.
I agree. Consistency is very important in the user interface.
Thank you for asking. To learn more about how another application deals with this issue I tried using the Dolphin file manager from KDE. The way it works is as follows:
If we were to follow this Dolphin behaviour then the concept of having a different area selected than the one under the mouse when right-clicking does not exist. This would mean:
The user could perform a similar action in two steps by right-clicking to "open scene 1 in a new tab" and the left-click to select "scene 2". Additionally the user would still be able to expand or collapse a folder without selecting it by left-clicking on the triangle beside the folder in the Project tree. I think it is better to implement option 1 because this aligns with at least one other application's behaviour. Some More Issues
|
You are so helpful, thanks!
|
These new updates work wonderfully! If you are in agreement then I think we are ready to tag and release 0.6.0. As before I offer to create the Windows PyInstaller package, and also the Debian based Linux |
Good. I tagged and released. Yes please if you can create Windows package and And I'm glad if you work on the announcements and download page! Thanks! 1: As a reminder
|
Thanks for setting up automatic creation of the I'll start work on the |
Was the rpm build error message related to the new I have completed the following for the 0.6.0 release:
@olivierkes would you be able to update the CHANGELOG.md file? I am happy to have a new, more stable release out. :-) |
Thank you so much @gedakc! Good work! I'll have to look for the changelog, because it is automatically created based on github closed issues, but my settings use dates and not milestones, so issues that are closed for 0.7.0 are included in 0.6.0 (because they were closed before the tag was added). I'll need to take a closer look... but tomorrow! (it's getting late here). I'm really happy to see manuskript being more and more used. And I'm looking forward tomorrow: potential reports of NaNoWriMo successes using manuskript! |
Today I saw another good manuskript review on AlternativeTo.net. I'll close this issue so that it can be included when you are able to generate the CHANGELOG.md. |
(from #200 (comment))
I just added this function to manuskript. It's in the develop branch.
In the new Documents menu:
Split at cursor (
CTRL+K
) will split the current text at cursor. If there is a selection, it will be used for the title of the newly created item.Split… (
CTRL+SHIFT+K
) will open a dialog, in which you can chose a "split" mark. The text will be splitted at every occurences. If you call that while having selected multiple items, it will be applied to all. If you call that on a folder, it will be applied to every children.Edit: dialog should read "escape sequences". Corrected.
The text was updated successfully, but these errors were encountered: