toggldesktop icon indicating copy to clipboard operation
toggldesktop copied to clipboard

[WIP] Port the Linux app to QML and partially implement the macOS design

Open MartinBriza opened this issue 4 years ago • 0 comments

📒 Description

This change is a partial implementation of our current macOS app design and an almost full port of the current Linux app to QML. This gives us the ability to create pretty UI really fast and also animations and potentially better performance because of better handling of underlying data models.

image

Stuff is now in pretty rough state, below is a list of stuff that still needs work:

  • Data Model
    • [ ] Moving the dates of TEs crashes the app
  • Main Window
    • General
      • [ ] Minimum size should respect the content in some way at least
      • [ ] Window Icon
    • Menu - Toggl Desktop
      • [ ] About Toggl Desktop
      • [ ] Help
      • [ ] Check for updates
      • [x] Preferences (will get ported over from the old app)
      • [x] Quit
    • Menu - Account
      • [x] Sync
      • [ ] Clear cache
      • [ ] Logout
    • Menu - Timer
      • [x] New
      • [x] Continue
      • [x] Stop
      • [ ] Show
      • [x] Edit
  • Error messages
    • [x] Displayed
    • [ ] Pretty design
  • Login screen
    • [x] Login
    • [x] Registration
    • [ ] Google login/registration
      • [ ] Do Google stuff without QtWebEngine (hopefully)
    • [x] Prettier buttons
    • [ ] Background
  • Timer
    • [ ] Editing should open a dialog similar to the time entry list
    • [ ] Autocomplete should have the right size
    • [ ] Time should be visible when running
  • Time Entry List
    • [ ] Deal with dimensions when opening the time entry editor and the calendar
    • [ ] Load More button
    • [ ] Group marker colors are off
    • [ ] Round corners
  • Time Entry Editor
    • Display
      • [x] Description
        • [ ] Autocomplete
      • [x] Project/Task/Client
        • [ ] Autocomplete
      • [ ] Tags
      • [x] Duration
      • [x] Start/End
      • [x] Date +/-
      • [x] Date Calendar (crashes sometimes)
    • Edit
      • [x] Description
        • [ ] Autocomplete
      • [ ] Project/Task/Client
        • [ ] Autocomplete
      • [ ] Tags
      • [ ] Duration
      • [ ] Start/End
      • [ ] Date +/-
      • [x] Date Calendar (crashes sometimes)
  • Autocomplete
    • [ ] Font sizes should be better
    • [ ] Some entries have wrong padding (Client?)
    • [ ] Selecting just a Project (for instance) doesn't work right
    • [ ] The popup stays open after selecting an item sometimes
  • Miscelanneous
    • [ ] The arrow button (in Timer and TE List) is composed of a few rectangles, should be an image or just something non-hacky.

.. the list will get expanded over time, this is just stuff I can come up with from the top of my head.

🕶️ Types of changes

  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

🤯 List of changes

  • A lot of 'em

🔎 Review hints

Test everything. It's possible to run this branch on macOS. To be able to compile, you have to set the variables in the following cmake command (systemwide openssl doesn't have headers and tests just don't build because of some platform-dependent... uhhh, mess) and also point cmake to where to look for your Qt install:

export CMAKE_PREFIX_PATH=<something> # could be $HOME/Qt/5.12.6/clang64/lib/cmake
cmake -DOPENSSL_ROOT_DIR=<something> -DTOGGL_BUILD_TESTS=OFF .. # could be /usr/local/opt/[email protected]/ or something like that

It's also possible to build it on Windows but I wasn't able to run it.

MartinBriza avatar Dec 10 '19 14:12 MartinBriza