Comments (31)
Should be merged with issue #5
from qt-sesam.
Heavily working on this issue on branch Issue-31
…
from qt-sesam.
TODO
- Changes in domain settings should be reflected in viewer instantaneously. Currently, the tree is built from scratch (and this is buggy).
- Allow sorting (ascending/descending) by group name or domain name.
- Let the user add groups.
- Let the user rename groups.
- Let the user move entries between groups via drag'n'drop and via "move to list ►" shown in context menu when right-clicking on an entry.
- Let the user delete an entry in the domain viewer.
- After merging with master:
- merge with #81,
- then implement 1-click login when double-clicking on an entry in the domain viewer.
from qt-sesam.
Merged in 'master'.
from qt-sesam.
Currently working on drag'n'drop of items in tree view …
from qt-sesam.
I'm stuck in the implementation of the above TODO list. @egbrt I'd appreciate your collaboration on this issue. Feel free to do whatever you want.
Only one caveat: Please do not touch the code that (de)serializes DomainSettings
(DomainSettings::fromVariantMap()
, DomainSettings::toVariantMap()
) because changing the format of the JSON-encoded data will break compatibility with other implementations of c't SESAM, e.g. the Android App or the Python version.
from qt-sesam.
I need to get access to d->treeModel
in DomainSettings MainWindow::collectedDomainSettings(void) const
, but Qt won't let me add Q_D(MainWindow)
. It says 'invalid conversion...in expansion of macro Q_D'. What should I do?
from qt-sesam.
@egbrt You can't access members via D-pointers in const
methods.
Instead of d->treeModel
use d_ptr->treeModel
in const
methods.
If this doesn't suit your needs remove const
from method declaration, but only as a last resort.
from qt-sesam.
@egbrt You might want to have a look at GitHub Flavored Markdown to improve the legibility of your comments ;-)
from qt-sesam.
At the moment a domain name must be unique. This is a problem when you have multiple logins at the same 'domain' with different user names and/or have similar accounts at a different 'domain' with the same user name. For example:
- Bank
- DeutscheBank
- Sparkasse [user=name1]
- Sparkasse [user=name2]
- BerlinerBank
- Sparkasse [user=name1]
- DeutscheBank
I think the unique identifier for a domain should be a combination of the hierarchy, domain name and user name.
from qt-sesam.
That's a good idea. However: the new system has to work with a dropdown list. The dropdown might get removed from Qt-SESAM in the future but it stays in the app and the python version.
from qt-sesam.
It's up to the user to select a unique domain name. I don't see any problem with it.
from qt-sesam.
As long as you have all domain names in one place (for example a combobox) it may be okay to insist that domain names (or preferably the combination domain name + user name) should be unique. When you support a hierarchy it is different. A user will compare that with a directory structure on his computer where it is allowed to have files with the same name in different directories. Besides when you are in a specific group you don't see the domain names that are present in other groups, so how should you know what a unique name is.
from qt-sesam.
@egbrt Thanks for clarification.
Feel free to change how the combobox shows the domains and whatever is needed to implement the desired behavior. But please bear in mind that the domain name written to the (encrypted) settings must not change for already existing data sets. That's because the domain name is weaved into the generated passwords, i.e. the generated passwords will change if the corresponding domain name changes.
from qt-sesam.
fyi I just pushed a new version of Issue-31 to my fork. I'm not yet ready for a pull request but perhaps you like to see how it is coming along.
from qt-sesam.
@egbrt I like how you are streamlining the code. E.g. it looks like the combobox is getting obsolete 👍
from qt-sesam.
I'm trying to install the server application in my local lampp installation to check if my changes effect the sync process. I've already changed the location of the database file to a writable directory, but I'm getting the following error:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [14] unable to open database file' in /opt/lampp/htdocs/sesam/ajax/globals.php:64 Stack trace: #0 /opt/lampp/htdocs/sesam/ajax/globals.php(64): PDO->__construct('sqlite:/home/eg...', NULL, NULL, Array) #1 /opt/lampp/htdocs/sesam/ajax/install.php(2): require_once('/opt/lampp/htdo...') #2 {main} thrown in /opt/lampp/htdocs/sesam/ajax/globals.php on line 64
from qt-sesam.
Are you sure the configured SQLite file path is writable by the webserver process? Or is it only writable by you (which isn't necessarily the same)?
from qt-sesam.
Oops, sorry.
from qt-sesam.
The database is created now, but I'm having trouble creating a self-signed certificate. I've installed the server code into htdocs/sesam and created a self-signed certificate with openssl, but I keep getting the SSL error messages 22 (host name did not match...) and 9 (certificate is self-signed..).
from qt-sesam.
@egbrt, Generating a certificate chain with a new CA worked for me.
from qt-sesam.
Thanks to @egbrt's great commitment to this feature it will soon be merged into the master branch. Stay tuned!
from qt-sesam.
How is it going? Do you need any help?
from qt-sesam.
Sorry. I'm currently busy with other things.
from qt-sesam.
@egbrt, an idea you may want to follow: A text field for incremental search in DomainTreeModel
would be useful to resemble the behavior of the now gone combobox. I'd like to have it placed directly above the tree. What do you think?
I guess it can be implemented with a little help of QAbstractProxyModel …
from qt-sesam.
@ola-ct, I'm not sure how useful that would be. Currently, I'm (still) using PasswordSafe with 140 accounts divided into 20 (sub)groups and I've never needed to search for an account... I suspect the hierarchy eliminates the need for a search box.
from qt-sesam.
@egbrt Be glad that you have the memory of an elephant ;-)
For oblivious people like me the feature would be of great use …
from qt-sesam.
Actually, you don't need the memory of an elephant. The hierarchy is like an index on your collection of passwords. You don't even have to remember the groups because those are visible as soon as you open you open the password manager. After that it is just expanding the right group, then optionally one or more subgroups and then you end up with a small list of accounts. For example, 20 (sub)groups with each 10 accounts gives access to 200 passwords.
from qt-sesam.
No problem, I'm going to implement the incremental search on my own. Because I need it more than you needed a tree viewer ;-)
from qt-sesam.
Let me suggest a deal ;-) When you have finished merging the tree viewer into the master branch, I'm going to implement the incremental search.
I'm waiting for the tree viewer to get merged into the master branch because I also have an idea about the user interface. I'd like to make the tree viewer the main user interface and move the 'right part' of the interface into a separate dialogue window.
from qt-sesam.
@ola-ct : I see there has never been a reply to the merging request of @egbrt, is this still in the works? I was about to try and implement the same thing before I stumbled upon this issue.
from qt-sesam.
Related Issues (20)
- Design OS X menu bar icon HOT 4
- web browser integration HOT 2
- Chrome integration HOT 2
- Shuffle a user name HOT 1
- Globally delete all domain settings marked as deleted locally
- Get rid of all v2 code HOT 2
- Automatic restart after language change doesn't work with Xubuntu 14.10 HOT 6
- Options are not saved HOT 5
- Compile error on debian jessie with QT 5.3.2 HOT 4
- Spurious 'KGK differs' warnings with portable version of Qt-SESAM
- Kaspersky alarm HOT 1
- Logging does not work HOT 3
- Options|Misc: Logging is always on HOT 8
- compilation failure on ubuntu 16.04: password.cpp:217:38: error: taking address of temporary [-fpermissive] HOT 3
- QtSESAM forgets Syncserver Settings HOT 1
- Unbundle cryptopp HOT 1
- Qt-SESAM sometimes forgets sync peer settings HOT 2
- Maximum password size resets to 40 on every launch
- Close modal windows before locking application
- Save button should be enabled with less input
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qt-sesam.