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

MainWindow is a giant monolithic mess #107

Closed
annejan opened this issue Oct 27, 2015 · 5 comments

Comments

@annejan
Copy link
Member

commented Oct 27, 2015

I have started a new branch to at-least get the QProcess and QSettings handling out of there for now.
Refactoring turned out to be harder than I expected because of the spaghetti mess the configuration and process handling has become.
Adding features is so much nicer than creating an architectonically correct app.

I would actually think it's probably wise to first brainstorm about an optimal way of handling QtPass from an architectural perspective.

If anyone has any ideas about this (or would like to flowchart something together) I'd be more than thankful.

This is also an issue to gather my progress reports, I might create a new branch to do some refactoring instead of continuing with the https://github.com/IJHack/qtpass/tree/feature/refactoring branch.

@innir

This comment has been minimized.

Copy link
Contributor

commented Oct 29, 2015

It's probably off-topic but if you start refactoring the code it would be worth thinking about using libgit and GPGME for the native git/gpg part instead of calling the binaries directly.

@annejan

This comment has been minimized.

Copy link
Member Author

commented Oct 29, 2015

Not off-topic at all I'll have a look at GPGME as soon as I can . .
Since the early tests with using a GPG library didn't work so well with passphrases, tokens and cards.
I'm hoping that PGPME does give the level of abstraction the binary gives, but with a bit more flexibility.

@jounathaen

This comment has been minimized.

Copy link
Member

commented Dec 31, 2015

Maybe it would be handy, if some elements of mainwindow.cpp such as the treeview get their own subclasses, as this would make it easier to implement special features

@annejan

This comment has been minimized.

Copy link
Member Author

commented Nov 8, 2017

Something went wrong here in checkConfig..
class_main_window_a8b244be8b7b7db1b08de2a2acb9409db_cgraph_org

lukedirtwalker added a commit to lukedirtwalker/QtPass that referenced this issue Mar 15, 2018
Use FileContent parsing in MainWindow, contributes to IJHack#107
This also changes the behavior of the main window:
If content should be hidden nothing is shown.
Else the password is always shown as a field (either with hidden with
dots or openly visibly.) the rest is shown as plain text or as field
depending on the template settings.

This is results in a nicer ui and needs one translation (Password
hidden) less.
lukedirtwalker added a commit to lukedirtwalker/QtPass that referenced this issue Mar 15, 2018
Use FileContent parsing in MainWindow, contributes to IJHack#107
This also changes the behavior of the main window:
If content should be hidden nothing is shown.
Else the password is always shown as a field (either with hidden with
dots or openly visibly.) the rest is shown as plain text or as field
depending on the template settings.

This is results in a nicer ui and needs one translation (Password
hidden) less.
lukedirtwalker added a commit to lukedirtwalker/QtPass that referenced this issue Mar 16, 2018
More refactorings, contributes to IJHack#107
* Split datahelpers.h to userinfo.h and passwordconfiguration.h
* Rename passwordConfiguration to PasswordConfiguration
* Move some code to separate methods in MainWindow
* Handle PasswordConfiguration in QtPassSettings and in ConfigDialog
@FiloSpaTeam

This comment has been minimized.

Copy link
Contributor

commented Apr 26, 2018

Visit my fork at branch refactor to see how i tring.

@annejan annejan closed this Aug 20, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
4 participants
You can’t perform that action at this time.