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

New upstream version 1.1.4

parent 4986da08
...@@ -10,7 +10,7 @@ env: ...@@ -10,7 +10,7 @@ env:
global: global:
secure: WaZq3f6KIAc0dnR4WOXYWDvUYiqlrzsZC/PQse47FnvC0oQC65J5w3kJOj/P26DgsUEqKQF3ukXogkM2mp5pS4+CMgivEmQmAbgQTtwcKpC5HPZxgI+8FgkCjcalJKWGWYoxlScNVNiKMs+89ApcSQE9kH9PZeUS9dukN2Php1U= secure: WaZq3f6KIAc0dnR4WOXYWDvUYiqlrzsZC/PQse47FnvC0oQC65J5w3kJOj/P26DgsUEqKQF3ukXogkM2mp5pS4+CMgivEmQmAbgQTtwcKpC5HPZxgI+8FgkCjcalJKWGWYoxlScNVNiKMs+89ApcSQE9kH9PZeUS9dukN2Php1U=
before_install: 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: addons:
coverity_scan: coverity_scan:
project: project:
...@@ -36,8 +36,12 @@ script: ...@@ -36,8 +36,12 @@ script:
- qmake -Wall qtpass.pro - qmake -Wall qtpass.pro
- make -j$(nproc) - make -j$(nproc)
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then macdeployqt QtPass.app; fi - 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 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: notifications:
irc: irc:
channels: channels:
...@@ -48,7 +52,7 @@ deploy: ...@@ -48,7 +52,7 @@ deploy:
provider: releases provider: releases
api_key: api_key:
secure: O6LAl2R5QIe/mgQwG5/pzbdC8gS58wtGVF2ebTVGgYsCgY0nRjLZ19H7BiQrYjbbXs8yw6cQjA+xbxNiVsIVs+Dx9j/fy2JOBeBTrGijlWLcJPT6/Ab65EjI2T96XvI8/YejRmbgjIdXFfuKtD/V4MM12LrvrvktwJp00G9l1Go= 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: on:
repo: IJHack/qtpass repo: IJHack/qtpass
tags: true tags: true
......
This diff is collapsed.
...@@ -48,6 +48,21 @@ fi ...@@ -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). 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? ### Where can I ask for help?
* Create an [issue](https://github.com/IJHack/qtpass/) issues on github. * Create an [issue](https://github.com/IJHack/qtpass/) issues on github.
...@@ -70,8 +85,8 @@ Please install using your favorite package manager. ...@@ -70,8 +85,8 @@ Please install using your favorite package manager.
export DESKTOP_SESSION=gnome export DESKTOP_SESSION=gnome
``` ```
* Another possible reason is, that the currently installed Qt Version makes problems (e.g. on Linux Mint 17.3) * Another possible reason is, that the currently installed Qt Version gives 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, 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: download it from https://www.qt.io/download/ install it and run:
``` ```
/PATHTOYOURQTINSTALLATION/5.5/gcc_64/bin/qmake /PATHTOYOURQTINSTALLATION/5.5/gcc_64/bin/qmake
......
...@@ -78,13 +78,12 @@ Known issues ...@@ -78,13 +78,12 @@ Known issues
Planned features Planned features
---------------- ----------------
* Re-encryption after users-change (optional of course)
* Plugins based on field name, plugins follow same format as password files * Plugins based on field name, plugins follow same format as password files
* Colour coding folders (possibly disabling folders you can't decrypt) * Colour coding folders (possibly disabling folders you can't decrypt)
* WebDAV (configuration) support
* Optional table view of decrypted folder contents * Optional table view of decrypted folder contents
* Opening of (basic auth) urls in default browser? * Opening of (basic auth) urls in default browser?
Possibly with helper plugin for filling out forms? Possibly with helper plugin for filling out forms?
* WebDAV (configuration) support
* Some other form of remote storage that allows for * Some other form of remote storage that allows for
accountability / auditing (web API to retrieve the .gpg files?) accountability / auditing (web API to retrieve the .gpg files?)
...@@ -93,6 +92,6 @@ Further reading ...@@ -93,6 +92,6 @@ Further reading
[FAQ](FAQ.md) and [CONTRIBUTING](CONTRIBUTING.md) documentation. [FAQ](FAQ.md) and [CONTRIBUTING](CONTRIBUTING.md) documentation.
[Documentation](https://qtpass.org/) [Website](https://qtpass.org/)
[Source code](https://github.com/IJHack/qtpass) [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: ...@@ -103,7 +103,7 @@ private slots:
void on_toolButtonPwgen_clicked(); void on_toolButtonPwgen_clicked();
void on_toolButtonPass_clicked(); void on_toolButtonPass_clicked();
void on_toolButtonStore_clicked(); void on_toolButtonStore_clicked();
void on_comboBoxClipboard_activated(); void on_comboBoxClipboard_activated(int);
void on_checkBoxAutoclear_clicked(); void on_checkBoxAutoclear_clicked();
void on_checkBoxAutoclearPanel_clicked(); void on_checkBoxAutoclearPanel_clicked();
void on_addButton_clicked(); void on_addButton_clicked();
......
...@@ -4,14 +4,26 @@ ...@@ -4,14 +4,26 @@
#include <QDebug> #include <QDebug>
#include <QMessageBox> #include <QMessageBox>
/**
* @brief KeygenDialog::KeygenDialog basic constructor.
* @param parent
*/
KeygenDialog::KeygenDialog(ConfigDialog *parent) KeygenDialog::KeygenDialog(ConfigDialog *parent)
: QDialog(parent), ui(new Ui::KeygenDialog) { : QDialog(parent), ui(new Ui::KeygenDialog) {
ui->setupUi(this); ui->setupUi(this);
dialog = parent; dialog = parent;
} }
/**
* @brief KeygenDialog::~KeygenDialog even more basic destructor.
*/
KeygenDialog::~KeygenDialog() { delete ui; } 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) { void KeygenDialog::on_passphrase1_textChanged(const QString &arg1) {
if (ui->passphrase1->text() == ui->passphrase2->text()) { if (ui->passphrase1->text() == ui->passphrase2->text()) {
ui->buttonBox->setEnabled(true); ui->buttonBox->setEnabled(true);
...@@ -25,10 +37,19 @@ void KeygenDialog::on_passphrase1_textChanged(const QString &arg1) { ...@@ -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) { void KeygenDialog::on_passphrase2_textChanged(const QString &arg1) {
on_passphrase1_textChanged(arg1); on_passphrase1_textChanged(arg1);
} }
/**
* @brief KeygenDialog::on_checkBox_stateChanged expert mode enabled / disabled.
* @param arg1
*/
void KeygenDialog::on_checkBox_stateChanged(int arg1) { void KeygenDialog::on_checkBox_stateChanged(int arg1) {
if (arg1) { if (arg1) {
ui->plainTextEdit->setReadOnly(false); ui->plainTextEdit->setReadOnly(false);
...@@ -39,16 +60,27 @@ void KeygenDialog::on_checkBox_stateChanged(int arg1) { ...@@ -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) { void KeygenDialog::on_email_textChanged(const QString &arg1) {
replace("Name-Email", 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) { void KeygenDialog::on_name_textChanged(const QString &arg1) {
replace("Name-Real", 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 key
* @param value * @param value
*/ */
...@@ -66,7 +98,8 @@ void KeygenDialog::replace(QString key, QString 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 * @param enable
*/ */
void KeygenDialog::no_protection(bool enable) { void KeygenDialog::no_protection(bool enable) {
...@@ -89,7 +122,8 @@ 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 * @param r
*/ */
void KeygenDialog::done(int r) { void KeygenDialog::done(int r) {
...@@ -105,12 +139,11 @@ void KeygenDialog::done(int r) { ...@@ -105,12 +139,11 @@ void KeygenDialog::done(int r) {
ui->frame->hide(); ui->frame->hide();
ui->label->setText( ui->label->setText(
QString("This operation can take some minutes.<br />") + tr("This operation can take some minutes.<br />"
"We need to generate a lot of random bytes. It is a good idea to " "We need to generate a lot of random bytes. It is a good idea to "
"perform " "perform some other action (type on the keyboard, move the mouse, "
"some other action (type on the keyboard, move the mouse, utilize the " "utilize the disks) during the prime generation; this gives the "
"disks) during the prime generation; this gives the random number " "random number generator a better chance to gain enough entropy."));
"generator a better chance to gain enough entropy.");
this->layout()->addWidget(pi); this->layout()->addWidget(pi);
...@@ -122,6 +155,10 @@ void KeygenDialog::done(int r) { ...@@ -122,6 +155,10 @@ void KeygenDialog::done(int r) {
} }
} }
/**
* @brief KeygenDialog::closeEvent we are done here.
* @param event
*/
void KeygenDialog::closeEvent(QCloseEvent *event) { void KeygenDialog::closeEvent(QCloseEvent *event) {
// TODO(annejan) save window size or somethign // TODO(annejan) save window size or somethign
event->accept(); 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 @@ ...@@ -8,6 +8,8 @@
* *
* QtPass is a multi-platform GUI for pass, the standard unix password manager. * QtPass is a multi-platform GUI for pass, the standard unix password manager.
* *
* https://qtpass.org/
*
* \section install_sec Installation * \section install_sec Installation
* *
* \subsection dependencies Dependencies * \subsection dependencies Dependencies
...@@ -32,7 +34,7 @@ ...@@ -32,7 +34,7 @@
* @return * @return
*/ */
int main(int argc, char *argv[]) { 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 = ""; QString text = "";
for (int i = 1; i < argc; ++i) { for (int i = 1; i < argc; ++i) {
if (i > 1) if (i > 1)
......
This diff is collapsed.
...@@ -22,7 +22,7 @@ class MainWindow; ...@@ -22,7 +22,7 @@ class MainWindow;
/*! /*!
\struct execQueueItem \struct execQueueItem
\brief Execution queu items for non-interactive ordered execution. \brief Execution queue items for non-interactive ordered execution.
*/ */
struct execQueueItem { struct execQueueItem {
QString app; QString app;
......
...@@ -4,6 +4,10 @@ ...@@ -4,6 +4,10 @@
#include <QLabel> #include <QLabel>
#include <QLineEdit> #include <QLineEdit>
/**
* @brief PasswordDialog::PasswordDialog basic constructor.
* @param parent
*/
PasswordDialog::PasswordDialog(MainWindow *parent) PasswordDialog::PasswordDialog(MainWindow *parent)
: QDialog(parent), ui(new Ui::PasswordDialog) { : QDialog(parent), ui(new Ui::PasswordDialog) {
mainWindow = parent; mainWindow = parent;
...@@ -12,8 +16,15 @@ PasswordDialog::PasswordDialog(MainWindow *parent) ...@@ -12,8 +16,15 @@ PasswordDialog::PasswordDialog(MainWindow *parent)
ui->setupUi(this); ui->setupUi(this);
} }
/**
* @brief PasswordDialog::~PasswordDialog basic destructor.
*/
PasswordDialog::~PasswordDialog() { delete ui; } PasswordDialog::~PasswordDialog() { delete ui; }
/**
* @brief PasswordDialog::on_checkBoxShow_stateChanged hide or show passwords.
* @param arg1
*/
void PasswordDialog::on_checkBoxShow_stateChanged(int arg1) { void PasswordDialog::on_checkBoxShow_stateChanged(int arg1) {
if (arg1) if (arg1)
ui->lineEditPassword->setEchoMode(QLineEdit::Normal); ui->lineEditPassword->setEchoMode(QLineEdit::Normal);
...@@ -21,12 +32,21 @@ void PasswordDialog::on_checkBoxShow_stateChanged(int arg1) { ...@@ -21,12 +32,21 @@ void PasswordDialog::on_checkBoxShow_stateChanged(int arg1) {
ui->lineEditPassword->setEchoMode(QLineEdit::Password); 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() { void PasswordDialog::on_createPasswordButton_clicked() {
ui->widget->setEnabled(false); ui->widget->setEnabled(false);
ui->lineEditPassword->setText(mainWindow->generatePassword()); ui->lineEditPassword->setText(mainWindow->generatePassword());
ui->widget->setEnabled(true); ui->widget->setEnabled(true);
} }
/**
* @brief PasswordDialog::setPassword populate the (templated) fields.
* @param password
*/
void PasswordDialog::setPassword(QString password) { void PasswordDialog::setPassword(QString password) {
QStringList tokens = password.split("\n"); QStringList tokens = password.split("\n");
ui->lineEditPassword->setText(tokens[0]); ui->lineEditPassword->setText(tokens[0]);
...@@ -72,6 +92,11 @@ void PasswordDialog::setPassword(QString password) { ...@@ -72,6 +92,11 @@ void PasswordDialog::setPassword(QString password) {
ui->plainTextEdit->insertPlainText(tokens.join("\n")); 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 PasswordDialog::getPassword() {
QString passFile = ui->lineEditPassword->text() + "\n"; QString passFile = ui->lineEditPassword->text() + "\n";
for (int i = 0; i < ui->formLayout->rowCount(); ++i) { for (int i = 0; i < ui->formLayout->rowCount(); ++i) {
...@@ -88,6 +113,10 @@ QString PasswordDialog::getPassword() { ...@@ -88,6 +113,10 @@ QString PasswordDialog::getPassword() {
return passFile; return passFile;
} }
/**
* @brief PasswordDialog::setTemplate set the template and create the fields.
* @param rawFields
*/
void PasswordDialog::setTemplate(QString rawFields) { void PasswordDialog::setTemplate(QString rawFields) {
fields = rawFields.split('\n'); fields = rawFields.split('\n');
QWidget *previous = ui->checkBoxShow; QWidget *previous = ui->checkBoxShow;
...@@ -102,10 +131,24 @@ void PasswordDialog::setTemplate(QString rawFields) { ...@@ -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) { void PasswordDialog::setFile(QString file) {
this->setWindowTitle(this->windowTitle() + " " + 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; } 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; } void PasswordDialog::useTemplate(bool useTemplate) { templating = useTemplate; }
...@@ -34,7 +34,7 @@ public: ...@@ -34,7 +34,7 @@ public:
QString getPassword(); QString getPassword();
/*! Sets content in the template for the interface. /*! 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); void setTemplate(QString);
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "QtPass" #define MyAppName "QtPass"
#define MyAppVersion "1.1.3" #define MyAppVersion "1.1.4"
#define MyAppPublisher "IJhack" #define MyAppPublisher "IJhack"
#define MyAppURL "https://qtpass.org/" #define MyAppURL "https://qtpass.org/"
#define MyAppExeName "qtpass.exe" #define MyAppExeName "qtpass.exe"
......
#---------------------------------------------------------- #---------------------------------------------------------#
# # # #
# QtPass is a GUI for pass, # # QtPass is a GUI for pass, #
# the standard unix password manager. # # the standard unix password manager. #
# # # #
# Project started by Anne Jan Brouwer 2014-07-30T21:56:15 # # Project started by Anne Jan Brouwer 2014-07-30T21:56:15 #
# # # #
#---------------------------------------------------------- #---------------------------------------------------------#
VERSION = 1.1.4
VERSION = 1.1.3
TEMPLATE = app TEMPLATE = app
QT += core gui QT += core gui
...@@ -71,7 +72,15 @@ TRANSLATIONS += localization/localization_nl_NL.ts \ ...@@ -71,7 +72,15 @@ TRANSLATIONS += localization/localization_nl_NL.ts \
localization/localization_zh_CN.ts \ localization/localization_zh_CN.ts \
localization/localization_ar_MA.ts \ localization/localization_ar_MA.ts \
localization/localization_fr_FR.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 CODECFORSRC = UTF-8
CODECFORTR = UTF-8 CODECFORTR = UTF-8
...@@ -92,6 +101,22 @@ isEmpty(QMAKE_LRELEASE) { ...@@ -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.input = TRANSLATIONS
updateqm.output = localization/${QMAKE_FILE_BASE}.qm updateqm.output = localization/${QMAKE_FILE_BASE}.qm
updateqm.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm 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 ...@@ -100,8 +125,10 @@ QMAKE_EXTRA_COMPILERS += updateqm
PRE_TARGETDEPS += compiler_updateqm_make_all PRE_TARGETDEPS += compiler_updateqm_make_all
win32 { win32 {
system($$QMAKE_LUPDATE qtpass.pro)
system($$QMAKE_LRELEASE qtpass.pro) system($$QMAKE_LRELEASE qtpass.pro)
} else { } else {
system($$QMAKE_LUPDATE $$_PRO_FILE_)
system($$QMAKE_LRELEASE $$_PRO_FILE_) system($$QMAKE_LRELEASE $$_PRO_FILE_)
} }
...@@ -123,16 +150,17 @@ win32 { ...@@ -123,16 +150,17 @@ win32 {
LIBS += -L/usr/local/lib LIBS += -L/usr/local/lib
} }
OTHER_FILES += LICENSE \ OTHER_FILES += LICENSE \
README.md README.md \
qtpass.1
isEmpty(PREFIX) { isEmpty(PREFIX) {
PREFIX = $$(PREFIX) PREFIX = $$(PREFIX)
} }
isEmpty(PREFIX) { isEmpty(PREFIX) {
PREFIX = /usr/local/bin PREFIX = /usr/local
} }
target.path = $$PREFIX/ target.path = $$PREFIX/bin/
INSTALLS += target INSTALLS += target
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
# This should probably be part of a release process. # This should probably be part of a release process.
Name: qtpass Name: qtpass
Version: 1.1.3 Version: 1.1.4
Release: 2%{?dist} Release: 2%{?dist}
Summary: QtPass is a multi-platform GUI for pass, the standard unix password manager. Summary: QtPass is a multi-platform GUI for pass, the standard unix password manager.
License: GPLv3 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 qmake CONFIG+=release && make && macdeployqt QtPass.app && appdmg appdmg.json QtPass.dmg
...@@ -15,6 +15,10 @@ ...@@ -15,6 +15,10 @@
<file>localization/localization_ru_RU.qm</file> <file>localization/localization_ru_RU.qm</file>
<file>localization/localization_zh_CN.qm</file> <file>localization/localization_zh_CN.qm</file>
<file>localization/localization_he_IL.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>
<qresource prefix="/icons"> <qresource prefix="/icons">
<file alias="document-new.svg">icons/document-new.svg</file> <file alias="document-new.svg">icons/document-new.svg</file>
......
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
#include <QLocalSocket> #include <QLocalSocket>
/** /**
* @brief SingleApplication::SingleApplication * @brief SingleApplication::SingleApplication this replaces the QApplication
* allowing for local socket based communications.
* @param argc * @param argc
* @param argv * @param argv
* @param uniqueKey * @param uniqueKey
...@@ -32,7 +33,8 @@ SingleApplication::SingleApplication(int &argc, char *argv[], ...@@ -32,7 +33,8 @@ SingleApplication::SingleApplication(int &argc, char *argv[],
// public slots. // public slots.
/** /**
* @brief SingleApplication::receiveMessage * @brief SingleApplication::receiveMessage we have received (a command line)
* message.
*/ */
void SingleApplication::receiveMessage() { void SingleApplication::receiveMessage() {
QLocalSocket *localSocket = localServer->nextPendingConnection(); QLocalSocket *localSocket = localServer->nextPendingConnection();
...@@ -48,13 +50,15 @@ void SingleApplication::receiveMessage() { ...@@ -48,13 +50,15 @@ void SingleApplication::receiveMessage() {
// public functions. // public functions.
/** /**
* @brief SingleApplication::isRunning * @brief SingleApplication::isRunning is there already a QtPass instance
* running, to check wether to be server or client.
* @return * @return
*/ */
bool SingleApplication::isRunning() { return _isRunning; } bool SingleApplication::isRunning() { return _isRunning; }