Commit 8b71822c authored by Philip Rinn's avatar Philip Rinn

New upstream version 1.1.4

parent 4986da08
......@@ -10,7 +10,7 @@ env:
global:
secure: WaZq3f6KIAc0dnR4WOXYWDvUYiqlrzsZC/PQse47FnvC0oQC65J5w3kJOj/P26DgsUEqKQF3ukXogkM2mp5pS4+CMgivEmQmAbgQTtwcKpC5HPZxgI+8FgkCjcalJKWGWYoxlScNVNiKMs+89ApcSQE9kH9PZeUS9dukN2Php1U=
before_install:
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo add-apt-repository -y ppa:beineri/opt-qt56; fi
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo add-apt-repository -y ppa:beineri/opt-qt561; fi
addons:
coverity_scan:
project:
......@@ -36,8 +36,12 @@ script:
- qmake -Wall qtpass.pro
- make -j$(nproc)
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then macdeployqt QtPass.app; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then pandoc --standalone --from=markdown --to=rtf --output=README.rtf README.md; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then sed 's/FAQ\.md/https:\/\/qtpass.org\/docs\/md_FAQ.html/' < README.md > README.faq; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then sed 's/CONTRIBUTING\.md/https:\/\/qtpass.org\/docs\/md_CONTRIBUTING.html/' < README.faq > README.contrib; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then sed 's/\[\!.*//' < README.contrib > README.clean; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then pandoc --standalone --from=markdown_github --to=rtf --output=README.rtf README.clean; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then appdmg appdmg.json qtpass-$(grep ^VERSION qtpass.pro | cut -d " " -f 6).dmg; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then export VERSION=$(grep ^VERSION qtpass.pro | cut -d " " -f 6); fi
notifications:
irc:
channels:
......@@ -48,7 +52,7 @@ deploy:
provider: releases
api_key:
secure: O6LAl2R5QIe/mgQwG5/pzbdC8gS58wtGVF2ebTVGgYsCgY0nRjLZ19H7BiQrYjbbXs8yw6cQjA+xbxNiVsIVs+Dx9j/fy2JOBeBTrGijlWLcJPT6/Ab65EjI2T96XvI8/YejRmbgjIdXFfuKtD/V4MM12LrvrvktwJp00G9l1Go=
file: qtpass-$(grep ^VERSION qtpass.pro | cut -d " " -f 6).dmg
file: "qtpass-$VERSION.dmg"
on:
repo: IJHack/qtpass
tags: true
......
This diff is collapsed.
......@@ -48,6 +48,21 @@ fi
git for Windows comes with an `ssh-askpass` compatible command, git `gui--askpass` (located in `/mingw64/libexec/git-core/git-gui--askpass` on PortableGit version, presumably some place similar for the installed version).
### Where is the configuration stored?
QtPass tries to use the native config choice for the OS it's running.
* Linux and BSD: `$HOME/.config/IJHack/QtPass.conf`
* macOS: `$HOME/Library/Preferences/com.IJHack.QtPass.plist`
* Windows registry: `HKEY_CURRENT_USER\Software\IJhack\QtPass`
These settings can be over-ruled by a `qtpass.ini` file in the folder where the application resides.
So called "portable config".
There are some things to take care of when trying to sync on some systems (especially OSX, with regards to text and binary .plist files).
More information: http://doc.qt.io/qt-5/qsettings.html#platform-specific-notes
### Where can I ask for help?
* Create an [issue](https://github.com/IJHack/qtpass/) issues on github.
......@@ -70,8 +85,8 @@ Please install using your favorite package manager.
export DESKTOP_SESSION=gnome
```
* Another possible reason is, that the currently installed Qt Version makes problems (e.g. on Linux Mint 17.3)
Then you have to install the current version via your package manager or if this is not up-to-date,
* Another possible reason is, that the currently installed Qt Version gives problems (e.g. on Linux Mint 17.3)
Then you'll have to install the current version via your package manager or if this is not up-to-date,
download it from https://www.qt.io/download/ install it and run:
```
/PATHTOYOURQTINSTALLATION/5.5/gcc_64/bin/qmake
......
......@@ -78,13 +78,12 @@ Known issues
Planned features
----------------
* Re-encryption after users-change (optional of course)
* Plugins based on field name, plugins follow same format as password files
* Colour coding folders (possibly disabling folders you can't decrypt)
* WebDAV (configuration) support
* Optional table view of decrypted folder contents
* Opening of (basic auth) urls in default browser?
Possibly with helper plugin for filling out forms?
* WebDAV (configuration) support
* Some other form of remote storage that allows for
accountability / auditing (web API to retrieve the .gpg files?)
......@@ -93,6 +92,6 @@ Further reading
[FAQ](FAQ.md) and [CONTRIBUTING](CONTRIBUTING.md) documentation.
[Documentation](https://qtpass.org/)
[Website](https://qtpass.org/)
[Source code](https://github.com/IJHack/qtpass)
[Issue queue](https://github.com/IJHack/qtpass/issues)
This diff is collapsed.
......@@ -103,7 +103,7 @@ private slots:
void on_toolButtonPwgen_clicked();
void on_toolButtonPass_clicked();
void on_toolButtonStore_clicked();
void on_comboBoxClipboard_activated();
void on_comboBoxClipboard_activated(int);
void on_checkBoxAutoclear_clicked();
void on_checkBoxAutoclearPanel_clicked();
void on_addButton_clicked();
......
......@@ -4,14 +4,26 @@
#include <QDebug>
#include <QMessageBox>
/**
* @brief KeygenDialog::KeygenDialog basic constructor.
* @param parent
*/
KeygenDialog::KeygenDialog(ConfigDialog *parent)
: QDialog(parent), ui(new Ui::KeygenDialog) {
ui->setupUi(this);
dialog = parent;
}
/**
* @brief KeygenDialog::~KeygenDialog even more basic destructor.
*/
KeygenDialog::~KeygenDialog() { delete ui; }
/**
* @brief KeygenDialog::on_passphrase1_textChanged see if we want to have
* protection.
* @param arg1
*/
void KeygenDialog::on_passphrase1_textChanged(const QString &arg1) {
if (ui->passphrase1->text() == ui->passphrase2->text()) {
ui->buttonBox->setEnabled(true);
......@@ -25,10 +37,19 @@ void KeygenDialog::on_passphrase1_textChanged(const QString &arg1) {
}
}
/**
* @brief KeygenDialog::on_passphrase2_textChanged wrapper for
* KeygenDialog::on_passphrase1_textChanged
* @param arg1
*/
void KeygenDialog::on_passphrase2_textChanged(const QString &arg1) {
on_passphrase1_textChanged(arg1);
}
/**
* @brief KeygenDialog::on_checkBox_stateChanged expert mode enabled / disabled.
* @param arg1
*/
void KeygenDialog::on_checkBox_stateChanged(int arg1) {
if (arg1) {
ui->plainTextEdit->setReadOnly(false);
......@@ -39,16 +60,27 @@ void KeygenDialog::on_checkBox_stateChanged(int arg1) {
}
}
/**
* @brief KeygenDialog::on_email_textChanged update the email in keypair
* generation template.
* @param arg1
*/
void KeygenDialog::on_email_textChanged(const QString &arg1) {
replace("Name-Email", arg1);
}
/**
* @brief KeygenDialog::on_name_textChanged update the name in keypair
* generation template.
* @param arg1
*/
void KeygenDialog::on_name_textChanged(const QString &arg1) {
replace("Name-Real", arg1);
}
/**
* @brief KeygenDialog::replace
* @brief KeygenDialog::replace do some regex magic. fore replacing Passphrase
* and protection in keypair generation template.
* @param key
* @param value
*/
......@@ -66,7 +98,8 @@ void KeygenDialog::replace(QString key, QString value) {
}
/**
* @brief KeygenDialog::no_protection
* @brief KeygenDialog::no_protection remove protection in keypair generation
* template.
* @param enable
*/
void KeygenDialog::no_protection(bool enable) {
......@@ -89,7 +122,8 @@ void KeygenDialog::no_protection(bool enable) {
}
/**
* @brief KeygenDialog::done
* @brief KeygenDialog::done we are going to create a key pair and show the
* QProgressIndicator and some text since the generation will take some time.
* @param r
*/
void KeygenDialog::done(int r) {
......@@ -105,12 +139,11 @@ void KeygenDialog::done(int r) {
ui->frame->hide();
ui->label->setText(
QString("This operation can take some minutes.<br />") +
"We need to generate a lot of random bytes. It is a good idea to "
"perform "
"some other action (type on the keyboard, move the mouse, utilize the "
"disks) during the prime generation; this gives the random number "
"generator a better chance to gain enough entropy.");
tr("This operation can take some minutes.<br />"
"We need to generate a lot of random bytes. It is a good idea to "
"perform some other action (type on the keyboard, move the mouse, "
"utilize the disks) during the prime generation; this gives the "
"random number generator a better chance to gain enough entropy."));
this->layout()->addWidget(pi);
......@@ -122,6 +155,10 @@ void KeygenDialog::done(int r) {
}
}
/**
* @brief KeygenDialog::closeEvent we are done here.
* @param event
*/
void KeygenDialog::closeEvent(QCloseEvent *event) {
// TODO(annejan) save window size or somethign
event->accept();
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -8,6 +8,8 @@
*
* QtPass is a multi-platform GUI for pass, the standard unix password manager.
*
* https://qtpass.org/
*
* \section install_sec Installation
*
* \subsection dependencies Dependencies
......@@ -32,7 +34,7 @@
* @return
*/
int main(int argc, char *argv[]) {
// check for stupid apple psid or whatever flag
// @todo(annejan) check for stupid apple psid or whatever flag
QString text = "";
for (int i = 1; i < argc; ++i) {
if (i > 1)
......
This diff is collapsed.
......@@ -22,7 +22,7 @@ class MainWindow;
/*!
\struct execQueueItem
\brief Execution queu items for non-interactive ordered execution.
\brief Execution queue items for non-interactive ordered execution.
*/
struct execQueueItem {
QString app;
......
......@@ -4,6 +4,10 @@
#include <QLabel>
#include <QLineEdit>
/**
* @brief PasswordDialog::PasswordDialog basic constructor.
* @param parent
*/
PasswordDialog::PasswordDialog(MainWindow *parent)
: QDialog(parent), ui(new Ui::PasswordDialog) {
mainWindow = parent;
......@@ -12,8 +16,15 @@ PasswordDialog::PasswordDialog(MainWindow *parent)
ui->setupUi(this);
}
/**
* @brief PasswordDialog::~PasswordDialog basic destructor.
*/
PasswordDialog::~PasswordDialog() { delete ui; }
/**
* @brief PasswordDialog::on_checkBoxShow_stateChanged hide or show passwords.
* @param arg1
*/
void PasswordDialog::on_checkBoxShow_stateChanged(int arg1) {
if (arg1)
ui->lineEditPassword->setEchoMode(QLineEdit::Normal);
......@@ -21,12 +32,21 @@ void PasswordDialog::on_checkBoxShow_stateChanged(int arg1) {
ui->lineEditPassword->setEchoMode(QLineEdit::Password);
}
/**
* @brief PasswordDialog::on_createPasswordButton_clicked generate a random
* passwords.
* @todo refactor when process is untangled from MainWindow class.
*/
void PasswordDialog::on_createPasswordButton_clicked() {
ui->widget->setEnabled(false);
ui->lineEditPassword->setText(mainWindow->generatePassword());
ui->widget->setEnabled(true);
}
/**
* @brief PasswordDialog::setPassword populate the (templated) fields.
* @param password
*/
void PasswordDialog::setPassword(QString password) {
QStringList tokens = password.split("\n");
ui->lineEditPassword->setText(tokens[0]);
......@@ -72,6 +92,11 @@ void PasswordDialog::setPassword(QString password) {
ui->plainTextEdit->insertPlainText(tokens.join("\n"));
}
/**
* @brief PasswordDialog::getPassword join the (templated) fields to a QString
* for writing back.
* @return collappsed password.
*/
QString PasswordDialog::getPassword() {
QString passFile = ui->lineEditPassword->text() + "\n";
for (int i = 0; i < ui->formLayout->rowCount(); ++i) {
......@@ -88,6 +113,10 @@ QString PasswordDialog::getPassword() {
return passFile;
}
/**
* @brief PasswordDialog::setTemplate set the template and create the fields.
* @param rawFields
*/
void PasswordDialog::setTemplate(QString rawFields) {
fields = rawFields.split('\n');
QWidget *previous = ui->checkBoxShow;
......@@ -102,10 +131,24 @@ void PasswordDialog::setTemplate(QString rawFields) {
}
}
/**
* @brief PasswordDialog::setFile show which (password) file we are editing.
* @param file
*/
void PasswordDialog::setFile(QString file) {
this->setWindowTitle(this->windowTitle() + " " + file);
}
/**
* @brief PasswordDialog::templateAll basic setter for use in
* PasswordDialog::setPassword templating all tokenisable lines.
* @param templateAll
*/
void PasswordDialog::templateAll(bool templateAll) { allFields = templateAll; }
/**
* @brief PasswordDialog::useTemplate basic setter for use in
* PasswordDialog::setPassword templating.
* @param useTemplate
*/
void PasswordDialog::useTemplate(bool useTemplate) { templating = useTemplate; }
......@@ -34,7 +34,7 @@ public:
QString getPassword();
/*! Sets content in the template for the interface.
\param template is the template as a QString
\param rawFields is the template as a QString
*/
void setTemplate(QString);
......
......@@ -2,7 +2,7 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "QtPass"
#define MyAppVersion "1.1.3"
#define MyAppVersion "1.1.4"
#define MyAppPublisher "IJhack"
#define MyAppURL "https://qtpass.org/"
#define MyAppExeName "qtpass.exe"
......
#----------------------------------------------------------
#---------------------------------------------------------#
# #
# QtPass is a GUI for pass, #
# the standard unix password manager. #
# #
# Project started by Anne Jan Brouwer 2014-07-30T21:56:15 #
# #
#----------------------------------------------------------
#---------------------------------------------------------#
VERSION = 1.1.4
VERSION = 1.1.3
TEMPLATE = app
QT += core gui
......@@ -71,7 +72,15 @@ TRANSLATIONS += localization/localization_nl_NL.ts \
localization/localization_zh_CN.ts \
localization/localization_ar_MA.ts \
localization/localization_fr_FR.ts \
localization/localization_fr_BE.ts
localization/localization_fr_BE.ts \
localization/localization_nl_BE.ts \
localization/localization_fr_LU.ts \
localization/localization_de_LU.ts \
localization/localization_lb_LU.ts \
localization/localization_en_GB.ts \
localization/localization_en_US.ts \
localization/localization_el_GR.ts \
localization/localization_cs_CZ.ts
CODECFORSRC = UTF-8
CODECFORTR = UTF-8
......@@ -92,6 +101,22 @@ isEmpty(QMAKE_LRELEASE) {
}
}
isEmpty(QMAKE_LUPDATE) {
win32|os2:QMAKE_LUPDATE = $$[QT_INSTALL_BINS]\\lupdate.exe
else:QMAKE_LUPDATE = $$[QT_INSTALL_BINS]/lupdate
unix {
!exists($$QMAKE_LUPDATE) {
greaterThan(QT_MAJOR_VERSION, 4) {
QMAKE_LUPDATE = lupdate-qt5
} else {
QMAKE_LUPDATE = lupdate-qt4
}
}
} else {
!exists($$QMAKE_LUPDATE) { QMAKE_LUPDATE = lupdate }
}
}
updateqm.input = TRANSLATIONS
updateqm.output = localization/${QMAKE_FILE_BASE}.qm
updateqm.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm localization/${QMAKE_FILE_BASE}.qm
......@@ -100,8 +125,10 @@ QMAKE_EXTRA_COMPILERS += updateqm
PRE_TARGETDEPS += compiler_updateqm_make_all
win32 {
system($$QMAKE_LUPDATE qtpass.pro)
system($$QMAKE_LRELEASE qtpass.pro)
} else {
system($$QMAKE_LUPDATE $$_PRO_FILE_)
system($$QMAKE_LRELEASE $$_PRO_FILE_)
}
......@@ -123,16 +150,17 @@ win32 {
LIBS += -L/usr/local/lib
}
OTHER_FILES += LICENSE \
README.md
README.md \
qtpass.1
isEmpty(PREFIX) {
PREFIX = $$(PREFIX)
}
isEmpty(PREFIX) {
PREFIX = /usr/local/bin
PREFIX = /usr/local
}
target.path = $$PREFIX/
target.path = $$PREFIX/bin/
INSTALLS += target
......
......@@ -7,7 +7,7 @@
# This should probably be part of a release process.
Name: qtpass
Version: 1.1.3
Version: 1.1.4
Release: 2%{?dist}
Summary: QtPass is a multi-platform GUI for pass, the standard unix password manager.
License: GPLv3
......
sed 's/FAQ\.md/https:\/\/qtpass.org\/docs\/md_FAQ.html/' < README.md > README.faq
sed 's/CONTRIBUTING\.md/https:\/\/qtpass.org\/docs\/md_CONTRIBUTING.html/' < README.faq > README.contrib
sed 's/\[\!.*//' < README.contrib > README.clean
pandoc --standalone --from=markdown_github --to=rtf --output=README.rtf README.clean
doxygen
qmake CONFIG+=release && make && macdeployqt QtPass.app && appdmg appdmg.json QtPass.dmg
......@@ -15,6 +15,10 @@
<file>localization/localization_ru_RU.qm</file>
<file>localization/localization_zh_CN.qm</file>
<file>localization/localization_he_IL.qm</file>
<file>localization/localization_cs_CZ.qm</file>
<file>localization/localization_fr_FR.qm</file>
<file>localization/localization_en_GB.qm</file>
<file>localization/localization_en_US.qm</file>
</qresource>
<qresource prefix="/icons">
<file alias="document-new.svg">icons/document-new.svg</file>
......
......@@ -2,7 +2,8 @@
#include <QLocalSocket>
/**
* @brief SingleApplication::SingleApplication
* @brief SingleApplication::SingleApplication this replaces the QApplication
* allowing for local socket based communications.
* @param argc
* @param argv
* @param uniqueKey
......@@ -32,7 +33,8 @@ SingleApplication::SingleApplication(int &argc, char *argv[],
// public slots.
/**
* @brief SingleApplication::receiveMessage
* @brief SingleApplication::receiveMessage we have received (a command line)
* message.
*/
void SingleApplication::receiveMessage() {
QLocalSocket *localSocket = localServer->nextPendingConnection();
......@@ -48,13 +50,15 @@ void SingleApplication::receiveMessage() {
// public functions.
/**
* @brief SingleApplication::isRunning
* @brief SingleApplication::isRunning is there already a QtPass instance
* running, to check wether to be server or client.
* @return
*/
bool SingleApplication::isRunning() { return _isRunning; }
/**
* @brief SingleApplication::sendMessage
* @brief SingleApplication::sendMessage send a message (from commandline) to an
* already running QtPass instance.
* @param message
* @return
*/
......
......@@ -8,7 +8,8 @@
StoreModel::StoreModel() { fs = NULL; }
/**
* @brief StoreModel::filterAcceptsRow
* @brief StoreModel::filterAcceptsRow should row be shown, wrapper for
* StoreModel::ShowThis method.
* @param sourceRow
* @param sourceParent
* @return
......@@ -20,7 +21,8 @@ bool StoreModel::filterAcceptsRow(int sourceRow,
}
/**
* @brief StoreModel::ShowThis
* @brief StoreModel::ShowThis should a row be shown, based on our search
* criteria.
* @param index
* @return
*/
......@@ -49,7 +51,7 @@ bool StoreModel::ShowThis(const QModelIndex index) const {
}
/**
* @brief StoreModel::setModelAndStore
* @brief StoreModel::setModelAndStore update the source model and store.
* @param sourceModel
* @param passStore
*/
......@@ -60,7 +62,7 @@ void StoreModel::setModelAndStore(QFileSystemModel *sourceModel,
}
/**
* @brief StoreModel::data
* @brief StoreModel::data don't show the .gpg at the end of a file.
* @param index
* @param role
* @return
......
This diff is collapsed.
......@@ -30,9 +30,11 @@ private:
void createActions();
void createTrayIcon();
// QAction *minimizeAction;
// QAction *maximizeAction;
QAction *settingsAction;
QAction *showAction;
QAction *hideAction;
QAction *minimizeAction;
QAction *maximizeAction;
QAction *restoreAction;
QAction *quitAction;
QSystemTrayIcon *sysTrayIcon;
......
This diff is collapsed.
......@@ -50,7 +50,6 @@ protected:
private slots:
void itemChange(QListWidgetItem *item);
void on_clearButton_clicked();
void on_lineEdit_textChanged(const QString &filter);
void on_checkBox_clicked();
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment