Skip to content
This repository has been archived by the owner on Feb 13, 2024. It is now read-only.

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

Open
wants to merge 86 commits into
base: master
Choose a base branch
from

Conversation

MartinBriza
Copy link
Contributor

@MartinBriza MartinBriza commented Dec 10, 2019

📒 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
      • Preferences (will get ported over from the old app)
      • Quit
    • Menu - Account
      • Sync
      • Clear cache
      • Logout
    • Menu - Timer
      • New
      • Continue
      • Stop
      • Show
      • Edit
  • Error messages
    • Displayed
    • Pretty design
  • Login screen
    • Login
    • Registration
    • Google login/registration
      • Do Google stuff without QtWebEngine (hopefully)
    • 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
      • Description
        • Autocomplete
      • Project/Task/Client
        • Autocomplete
      • Tags
      • Duration
      • Start/End
      • Date +/-
      • Date Calendar (crashes sometimes)
    • Edit
      • Description
        • Autocomplete
      • Project/Task/Client
        • Autocomplete
      • Tags
      • Duration
      • Start/End
      • Date +/-
      • 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 MartinBriza force-pushed the feature/linux-qml branch 12 times, most recently from 41810e7 to 053b7cd Compare July 14, 2020 13:10
MartinBriza and others added 28 commits September 4, 2020 14:30
It probably doesn't work in this state though
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants