Qalculate / qalculate-qt

GNU General Public License v2.0
381 stars 42 forks source link

GTK vs QT #11

Open ben2talk opened 3 years ago

ben2talk commented 3 years ago

Doing some maths homework here, there are some issues.

1 With the GTK history, I can select to REMOVE only one history item.

With QT, I can only select all, or clear (all).

We need the options available in GTK.

2 with GTK preferences>Numbers & Operators we can select Division and Multiplication signs.

Under QT this is absent.

hanna-kn commented 3 years ago

I will add an option to use a middle dot ("⋅") as multiplication sign. The main reason the dot operator is not used by default is because of the better visibility of "×". It is also problematic that recommended dot operator Unicode symbol is not available in most fonts. A middle dot is however always used for output of unit expressions.

I'm not sure if it is a good idea to add the option to use ÷ as default division sign, and the division slash Unicode symbol ("∕") is often typographically problematic for user input (it is however used for output).

Handling of single history items is a bit trickier in the Qt version because of the use of a text widget instead of a list.

The initial Qt version does not include all planned features.

ddobrev commented 3 years ago

I am out of words to describe this outstanding application. Not only constants but units too! This makes Qalculate a tool not just for maths but also physics and chemistry. Incredible as it sounds that this marvellous piece of software has problems, the first one described here does make work slower. I usually want to copy my result to another file and every time I have to either select (all), copy and paste everything and then delete all results but the one I need, or select (all), delete, run my command, then select and copy/paste. There are 2 separate problems I can see:

  1. There's no option to select just one result (the one right-clicked);
  2. There's no option to copy a result (the one right-clicked) directly without selection.

If necessary, I can report these as stand-alone. But in any case, please fix them because they require relatively little work for enormous gains.

hanna-kn commented 3 years ago
  1. There's no option to select just one result (the one right-clicked)
  2. There's no option to copy a result (the one right-clicked) directly without selection.

(2) has been fixed in the latest version (3.21). Is see no need for (1) since all actions in the context menu now applies to the result under the pointer if there is no selection. (I do not understand why you need select all, it has always been possible to make a custom selection using the pointing device.)

Note that qalculate-qt is not currently not as mature qalculate-gtk.

ddobrev commented 3 years ago

It does work, brilliant! I would suggest to you, though, to consider my other request, for a DMG. If you had it along with a built-in updater, I wouldn't've had to bother you at all.

ddobrev commented 3 years ago

And less important: I can't actually select single items using my pointing device. Simply nothing happens if I (left-)click a row. Might be a bug in macOS only.

hanna-kn commented 3 years ago

And less important: I can't actually select single items using my pointing device. Simply nothing happens if I (left-)click a row.

Notice that you have to (left-)click and drag the pointer (it is a text field and not a list).

Might be a bug in macOS only.

Unfortunately I'm unable to test the application on Mac OS.

ddobrev commented 3 years ago

Drag-selection does work, thank you.

Ygarr commented 2 years ago

FLTK would be better:)

funnym0nk3y commented 2 years ago

Is the Qt GUI intended to reach feature parity with the GTK GUI eventually?

hanna-kn commented 2 years ago

Is the Qt GUI intended to reach feature parity with the GTK GUI eventually?

Yes. Although the functionality might be implemented differently. The main features currently missing (from my perspective) is configure keyboard shortcuts and customizable keypad. Is there any specific feature you're missing?

funnym0nk3y commented 2 years ago

I haven't used the Qt version much, as I am way more comfortable with the GTK one. But I will try to comment on a few things:

  1. The keypad in the GTK version offers many more functions which makes usage more approachable, as I can see what is available. This is the main reason I dislike fully fledged CAS as it always requires a whole week of RTFM.
  2. The GTK version allows the usage with only the keyboard. But I think that is what you meant by keyboard shortcuts.
  3. There is a small row of text between the input and the result in the GTK version which displays the current settings (The famous calculation in degree instead of radian mistake).
  4. The most recent calculation is better emphasized in the GTK version due to being completely separate from the history.
  5. I think text instead of icons is more comprehensive which is closely related to get going quickly.
  6. I really like that the functions and constants are now in a separate window and not nested deeply in a menu structure.
  7. The Qt GUI starts way faster.
  8. There is a dark mode in Qt.
  9. Qt can be used better on touchscreens.
  10. The Qt version misses the date, vector and matrix insertion helpers.

Those are the things that caught my eye. Please mind they are very opionated.

hanna-kn commented 2 years ago
1. The keypad in the GTK version offers many more functions which makes usage more approachable, as I can see what is available. This is the main reason I dislike fully fledged CAS as it always requires a whole week of RTFM.

This is definitely an area that I would like to improve in the Qt GUI. On the other hand I would prefer to steer users towards the completion functionality of the expression entry.

2. The GTK version allows the usage with only the keyboard. But I think that is what you meant by keyboard shortcuts.

There is no major difference in what can or cannot be done using the keyboard in the two GUI. The GTK version does however provide the possible to add your own keyboard shortcuts.

3. There is a small row of text between the input and the result in the GTK version which displays the current settings (The famous calculation in degree instead of radian mistake).

I decided not to add this to avoid clutter, and since the flat mode menu provides quicker access. In most cases the angle unit is displayed in the parsed expression.

4. The most recent calculation is better emphasized in the GTK version due to being completely separate from the history.

It was design decision to make the history more prominent. The most recent result is displayed with a bigger font size, but it is of course not comparable to the separate result display in the GTK GUI (which is however cumbersome for long results).

5. I think text instead of icons is more comprehensive which is closely related to get going quickly.

Text does however require a lot of space. I do however agree that the GTK version should generally be easier for new users.

6. I really like that the functions and constants are now in a separate window and not nested deeply in a menu structure.

The variables, functions, and units windows are also available in the GTK version (using the Edit menu, keypad buttons, or associated shortcuts)

10. The Qt version misses the date, vector and matrix insertion helpers.

They are available in the the context menu of the expression entry.

montyx99 commented 2 years ago

My main issue, there are no keypad handler buttons. Such as I've made it float by accident, and I cannot make it part of the main window again. Also I cannot hide/show the whole keypad.

hanna-kn commented 2 years ago

My main issue, there are no keypad handler buttons. Such as I've made it float by accident, and I cannot make it part of the main window again.

Double-click the title bar of the keypad, or drag the the title bar of the floating keypad to the desired position (or, if not using Windows, press the button left of the x in the title bar keypad).

Also I cannot hide/show the whole keypad.

Press the keypad button (the rightmost of the left-aligned buttons) and select "None" or desired keypad variant, press the x button (upper right) of the keypad, (un)check "Keypad" in the context menu of the toolbar or the keypad title bar, or press Ctrl+K.

gudvinr commented 2 years ago

I detached keyboard but there is no way to attach it back to the window.

Also for some reason on KDE (which is Qt-native platform) qalculate looks different from other Qt apps. Buttons, selectors, etc have slightly different colors and shapes.

hanna-kn commented 2 years ago

I detached keyboard but there is no way to attach it back to the window.

See my previous comment (press the button left of the x in the title bar keypad, double-click the title bar of the keypad, or drag the the title bar of the floating keypad to the desired position). I will probably add an option to restore the dock widget defaults in the next version.

Also for some reason on KDE (which is Qt-native platform) qalculate looks different from other Qt apps. Buttons, selectors, etc have slightly different colors and shapes.

Perhaps Qalculate is using Qt6 (without KDE themes support).

yw4z commented 1 month ago

might be off topic but do you planning to release qt / gtk versions seperately. Current portable zip for windows has 150+ mb size . im sure only qt will drop below 50mb. btw qt version works better on windows but one feature is missing to simplify UI. hiding left keypad

hanna-kn commented 1 month ago

might be off topic but do you planning to release qt / gtk versions seperately. Current portable zip for windows has 150+ mb size . im sure only qt will drop below 50mb.

I estimate that the size difference would be less than 20%.

but one feature is missing to simplify UI. hiding left keypad

In the upcoming version, when the right keypad is hidden, the number pad will be available as a separate keypad (the "Hide Number Pad" option is replaced by "Always Show Number Pad").

yw4z commented 1 month ago

Thanks for your reply and effort on this. yes you right too many libraries used as common for qt and gtk. and one more thing, i like design but a bit heavy and 150mb a bit much for my use. i mostly use basic calculation, using history and conversion. any plans for making a minimal version with less features to making it more compact and faster launch. maybe making libraries / modules optional can be solution