-
Notifications
You must be signed in to change notification settings - Fork 250
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
Separate edit fields #461
Separate edit fields #461
Conversation
In the overview, upon selection, now display completely the last fact, even if tags or description are present.
does nothing.
These lines had no effect at all.
conf.day_start is safer (always up to date)
You mean in the cmdline, right ?
Thanks for giving more details on your use case. With this PR, to enter a new activity, you would use the separate fields, I do understand that you would like to do that in the cmdline. Question is, how often do you enter a brand new activity, with respect to reuse an existing activity ? |
Most of the times these separate fields will be used for one or two changes.
We strongly disagree here.
Expanders need precise clicking, not as user friendly as having the whole entries available.
The arguments given in a previous comment show that this choice will not always be good.
No need to stress so much on "please". I already said that the calendar stuff will be reconsidered later. Not now. Have you tried the interface now ? |
This is only true if all entries are necessary, or equally important. Which is IMO not the case, that's my point. Displaying controls that the user doesn't need is confusing and distracting, and likely causes more friction than one extra click. About "need precise clicking" - I really can't take that argument seriously. GtkExpander widgets can be set to occupy the whole width of the parent widget, making them easier to click than most other widgets in the dialog.
I was trying to be polite. And I was also trying to be rational. I read your answers, too. I just happen not to be convinced, and was trying to point out why. Apparently you got a different impression. I'm sorry about that. I really appreciate your work for hamster, no mistakes.
I'm not saying it's "bad". I say it's too much, too big, distracting. Here's one benefit I see: the different autocompletion in the "activity" field, with it's "filtered by category" option. That's a nice complement to the autocompletion of the free text field, which only shows recent activities. I'm not sure whether the "autocompletion mode" of the free-entry field couldn't be likewise improved, though. I find the behavior of the calendar widget irritating. My expectation was that clicking on a different date than today would add a date in the "cmdline" field. That's not the case - clicking on the date only changes the "dayline" widget at the top. I can see that the reason for this is that date setting / parsing from the cmdline in the "edit/add activity" widget never worked as it should. Yet with an explicit date widget, I expected this to be fixed. In general, it's a bit confusing that some of the controls are linked with the command line field, while others are not. Actually, call me dumb, but the dialog gave me no explicit clue what effect the date widgets might have. Yet when I clicked "save", the date was actually taken into account for the created/modified entry. I guessed so, but it wasn't at all clear to me as a "novice" user of this dialog. Admitted, it's no worse than in v2.2, but it isn't a lot better either (and unlike 2.2, the dialog now kind of encourages me to play with the date widgets). I believe that this is a bit dangerous. It's easy to accidentally click on the calendar somewhere without noticing (did I mention it occupies a lot of space?), and then wonder why the item isn't showing in the overview (because it ended up being saved for a different day). I hope you find this rational and clear. I'm trying my best. |
@mwilck Thanks for the feedback.
Fully agreed in general. I did read this nice article about the number of clicks earlier.
Interesting, I had another type in mind, with a small arrow to reveal/hide. Maybe not a Gtk one.
Thanks for that, well explained feedback is precious.
Good, thanks for confirmation.
I already said that opening this pandora box should be reconsidered later.
Indeed, that's related to #438. The initial plan was to show date in cmdline only if it did not match the day set in timeline.
Could it be partly because you decided that the calendars were useless,
That accidental click is another valid argument. Need to rest and think.
Both rational and clear. Overall, very useful feedback, thanks ! |
@ederag, I fully understand that you need a break and that you want to get this off the table. Yet there's one thing that occured to me about how this newly designed dialog might influence user expectations, that I'd like to ask you to think about. In theory, the separate entry fields would allow to overcome certain restrictions on input format, such as #280. And this we should not do. To elaborate: The current dialog allows entering "x,y" in the activity field. If "saved" is clicked, this is transformed into an actitivity "x" with description "y". This will irritate users. Yet, it is better than forcing the "x,y" activity name to be set in the hamster data base, because that would break the equivalence between the cmdline and multi-field input. An activity set this way couldn't ever be edited or re-entered using the cmdline (or worse, trying to do that would probably generate a different, new entry). Thinking about it, more than any nitpicking about calendar widget layout, this is my main concern - the new dialog would encourage users to write a bug report that entering "x,y" in the activity field doesn't do what they expect, and such a bug might be quickly fixed without much thinking, breaking the command line on the way. This, I fear, opens up a Pandora's Box of user expectations. For me, being able to fully control hamster with the single command line is absolutely a key feature of hamster which we shouldn't even think about changing. Therefore I suggest that you minimal syntax checking be added to the activity and category fields, and indicate an error (e.g. by changing the bg color to red) when e.g. a comma is entered in the activity field. I wouldn't consider even that a show stopper, but IMO it should be added quickly after a 3.0 release, to avoid user expectations to grow into the wrong direction. |
Here's one more nit - try entering strings with spaces (or just tags separated by space not comma, as users might attempt) in the "tags" field, it has unexpected effects. If there's a nonempty description, the tag string will be appended to it. If there is no description, the tag string is appended to the category name, and if the category isn't filled in either, the tag string will become the category. Well actually here, by observing carefully what happens in the cmdline field when I do this, I could foresee that this wasn't going to work as I expected. Yet I believe it will cause confusion. Syntax checking and not accepting invalid fields might be in order here, too. |
@mwilck Justified concerns. This PR is part of a larger plan. That's why the header said
Actually it's done and just waiting for this PR.
If you accept to stick to current limitations, this will still be possible, no change. Yet parser limitations have nothing to do with gui (#280 (comment)).
More importantly from a developer point of view: The plan is to make database and the separate fields "verbatim", without any parsing. What would be important to have is an indicator What should be this indicator ? Hiding the calendar is almost finished. Stay tuned. |
Forgot to push the
Did nothing here. Is it my system (gtk-3.22) ? That can be fixed later. Let's merge this one tomorrow. |
Hurray! |
Merged, thanks for the feedback ! Reminders:
|
@ederag, many thanks for your late improvements.
I'm not happy about this part of the update, rationale. I believe that adding the ability to enter content to the data base that can't be parsed was a move in the wrong direction. The intention to improve the parser (#465) is good, but maybe we should first have discussed what the parser could possibly do. The current rules (no quoting, and spaces allowed in tokens) make it essentially impossible to write a parser that could be fully compatible to separate fields input. Anyway, it's how it is now. Let's hope that users don't shoot themselves in their feet with the separate entry fields. I for one am not going to use them anyway. |
Separate input fields seems to be important to some users and will ease the transition from v1, so fine. I may even use them occasionally. What I really dislike is the whole idea of verbatim input fields allowing input that cannot be edited in the cmdline (or input from the CLI), and then having to visually signal non-standard inputs. That seems pretty messy to me. Releasing this and PR 466 will allow input like this:
Once these changes are released into the wild, it will be too late to start discussing future parsing improvements. I suggest a more cautious approach for the upcoming release. In the activity entry field, only allow '#' as the very first character (as per the original request), and disallow ',' and '@'. This would require a minimal change to the cmdline parser to allow the initial '#'. |
@GeraldJansen, full ACK. |
A bit late to the party, but for future reference. :)
The ratio would be close to infinite in favour of existing categories. In fact, for me it would be a feature if new categories could not be entered that way and have to be explicitly set up. |
Good point. This holds for most long-time users I guess. But "explicitly set up" should not mean having to open the "Tracking Settings/Categories and Tags" dialog. That would be way too explicit for my taste. |
Thanks for the confirmation. @GeraldJansen, @mwilck Granted, #465 has not been demontrated yet, |
This PR is first step towards verbatim entry.
To fix #280 and #423 some changes will be required in db.py (working on it).
Meanwhile, using completion code/widgets that were still around,
this PR brings back separate field entries,
as well as completion for time, activity, category and tags.
That should fix #301 and #439.
Feedback welcome !
To do: