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

More layout tweaks #60

Merged
merged 11 commits into from
May 26, 2024
Merged

More layout tweaks #60

merged 11 commits into from
May 26, 2024

Conversation

humdingerb
Copy link
Member

There are a few more to follow. Don't merge yet...

@humdingerb humdingerb marked this pull request as draft May 25, 2024 04:51
humdingerb added 10 commits May 26, 2024 08:33
* Use a checkbox instead of a button for "Show/Hide split".

* Add a horizontal separator as a visual to the "Split" part.

* Keep all text fields a fixed size, only grow the Payee and Memo
  fields when the window is resized.

* Add labels above the text fields in the "Split" view, too.

* Remove the "frame" variable when creating the TransactionEditWindow.
  As we use layout management, there's no need to supply a window size.
  This has the nice consequence that wen opened with the "Split" hidden,
  the window isn't taller than needed.
  Unfortunately, the window doesn't auto-shrink when hiding the "Split"
  again...
  Also: For some reason the window is only horizontally resizable when
  the "Split" is shown. Why?

* Removed unneeded member variables for labels and the help button.

* Removed no longer needed Zeta work-around.
* Adds the currency symbol to the total sum of all splits.

* Colour the "Total" B_FAILURE_COLOR if the total sum of all splits
  don't add up to the transaction amount.

* Updated en.catkeys
* Use a similar layout to the split transaction window, i.e.
  labels over text fields. Those text fields are disabled,
  because they aren't editable.

* Use B_TRANSLATION_CONTEXT "SplitView" for the labels to
  avoid translation work.

* Move "Repeat" settings from te right to the bottom.

* Make window horizontally resizable.
* Move "Reports" to the right, above the column list and to the
  left of start/end dates. This reduces the large unused area
  above the column list.

* Move the help button up to the right top corner of the window.

* Limit the date text field's width.

* Removed unneded translations of internal widget names.
* Use a checkbox instead of a button for "Show/Hide split".

* Add a horizontal separator as a visual to the "Split" part.

* Keep all text fields a fixed size, only grow the Payee and Memo
  fields when the window is resized.

* Add labels above the text fields in the "Split" view, too.

* Remove the "frame" variable when creating the TransactionEditWindow.
  As we use layout management, there's no need to supply a window size.
  This has the nice consequence that wen opened with the "Split" hidden,
  the window isn't taller than needed.
  Unfortunately, the window doesn't auto-shrink when hiding the "Split"
  again...
  Also: For some reason the window is only horizontally resizable when
  the "Split" is shown. Why?

* Removed unneeded member variables for labels and the help button.

* Removed no longer needed Zeta work-around.

* Use "clang-format off/on" around layout code blocks to avoid clang
  'fixing' the style. Thanks for the heads-up, @korli!
* Add help button at the top right corner 'over' the menu bar
. There isn't really space anywhere else.

* Add the name of the currently budgeted category in the budget category
  box's label.

* Rename "Edit category:" to "Budget category:".

* Increase the width of the "Budget Editor" so the columns aren't cut off.

* Remove horizontal scrollbar from the "Budget Editor".
  The vertical scrollbar appears to be a fixed property of BColumnListViews.

* Remove unneeded background BView.

* Change the initial window size to avoid needlessly tall "Summary" list
  at the bottom and fit all columns without having to scroll.

* Make "Summary" columns slightly wider to allow larger amounts.
* Move "Enter" button to the right in the CheckView. This saves
  a bit of vertical space, as it's useful to see as many
  transactions in the list as possible.

* Make the window a B_DOCUMENT_WINDOW to get the advantages of
  a full sized resize corner.

* Move the "Help" button to the right of the menu bar on top.
  It's a good place when there's a menu bar as it doesn't waste
  any space and it's more obvious that it's the help to the
  whole window, not just the view it's located in.

* Restrict column width in the CheckView similar to the
  Split/Transaction window.

* Removed some old layouting code no longer needed after moving
  to Haiku's layout management.
* Move "Categories" to the application (icon) menu. It has
  nothing to do with "Files".

* Move "Report a bug" down to "About". Fits better.

* "Scheduled transactions" doesn't fit into "Files", either.
  Move to "Tools", not perfect but better than all other
  existing menus...
* Simplified to use group layout.

* Adjust the Payee column to its widest entry.

* Fix typo.
* Category window:
  + Simplify layout using Group layouts.
  + Center buttons
  + Only enable "Edit" and "Remove" buttons if not a superitem
    (Income/Spending) is selected. Those can't be renamed or
    deleted.

* Edit category window
  + Layout tweaks

* Add category window:
  + Use radio buttons for Income/Spending instead of one checkbox.
  + After adding a category, close the window.
    When you're entering many new categories it may be nice to keep
    the window open. But if you don't happen to that new category
    added to the list in the main category window, you're never sure
    it got added alright.
  + Disable OK button when window opens and the name field is empty.
  + Layout tweaks

* Remove category window:
  + Only enable "OK" button if not a superitem (Income/Spending) is
    selected. Those can't be chosen as subsitute for the transaction
    of the to be removed category.
  + Layout tweaks
@humdingerb
Copy link
Member Author

Here are screenshots of all changes:

Account settings

Old:
Account_settings_old

New:
Account_settings_new


Budget

Old:
Budget_old

New:
Budget_new


Category add

Old:
Cat_add_old

New:
Cat_add_new


Category edit

Old:
Cat_edit_old

New:
Cat_edit_new


Category remove
Old:
Cat_remove_old

New:
Cat_remove_new


Categories

Old:
Categories_old

New:
Categories_new


Main Window

Old:
MainWindow_old

New:
MainWindow_new


Report

Old:
report_old

New:
report_new


Schedule transaction

Old:
schedule transaction old

New:
schedule transaction new


Settings

Old:
Settings_old

New:
Settings_new


@humdingerb humdingerb marked this pull request as ready for review May 26, 2024 06:55
@humdingerb
Copy link
Member Author

I think this PR is ready now.
I didn't touch the "Reconcile" window, I haven't quite figured out what it's doing... :)

src/CategoryWindow.cpp Outdated Show resolved Hide resolved
src/PrefWindow.cpp Outdated Show resolved Hide resolved
src/ReportWindow.cpp Outdated Show resolved Hide resolved
@korli
Copy link
Contributor

korli commented May 26, 2024

A few comments, otherwise LGTM

* Account settings
  + Show the "Currency format" as BBox label. Saves the extra
    StringView.
  + Layout tweaks
  + Fix crash when renaming an account.
  + For new accounts, change the window title to "New accounts"
    instead of using the same "Account settings".

* CapitalBe settings
  + Rename from "Options" to "Settings", just like the menu item.
  + Center "Default account settings" and increase font size a bit.
  + Show "Currency/Date format" as BBox labels. Saves the extra
    StringViews.
  + Use another date than 01.01.1970, because that doesn't show
    the difference between MDY and DMY setting...

* Use B_USE_BIG_SPACING instead of "font.Size() * 1.3" everywhere
  that was used to space BBox labels.
@dospuntos
Copy link
Contributor

@humdingerb this looks very nice, great work!

I didn't touch the "Reconcile" window

Reconciling is used to compare the registered transactions with the actual bank statement, and make sure all transactions are correctly added to CapitalBe, including interests and bank charges. You enter the starting amount and ending amount from your bank statement, and all transactions for that period should match (the 'Unreconciled total' field shows the difference.

I haven't checked the logic in detail, but it seems to work. However, I think there should either be a starting and ending date, or just a way to select a month. In addition, ideally reconciled transactions should be locked/not editable, or at least highlighted in some way in the transaction list (reconciled transactions are marked as such in the database).

@humdingerb
Copy link
Member Author

Thanks for the info, @dospuntos . I guess I should take the time to enter my actual transactions of a month or two to try with real-world data. No more "edgfed" and "iurrerojjl" as category and payee... :)

Merging this thing anyway.

@humdingerb humdingerb merged commit 8caa45a into HaikuArchives:master May 26, 2024
2 of 3 checks passed
@humdingerb humdingerb deleted the layout branch July 31, 2024 09:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants