Edit owner trust level.
Inplace editing with a combobox if user is allowed. in app config file.
This commit is contained in:
@@ -29,6 +29,7 @@ using namespace std;
|
||||
"UserCommonName1" : {
|
||||
"canImport" : true,
|
||||
"canDelete" : true,
|
||||
"canEditOwnerTrust" : true,
|
||||
"privKeyIds" : [
|
||||
"fullKeyId1",
|
||||
"fullKeyId2"
|
||||
@@ -115,6 +116,17 @@ bool AppConfig::CanDelete() const
|
||||
return cnObject.get("canDelete");
|
||||
}
|
||||
|
||||
bool AppConfig::CanEditOwnerTrust() const
|
||||
{
|
||||
const WString commonName = GetSubjectDnAttribute(WSslCertificate::DnAttributeName::CommonName);
|
||||
if (!m_SubjectCNObject.contains(commonName.toUTF8()))
|
||||
return false;
|
||||
Json::Object cnObject = m_SubjectCNObject.get(commonName.toUTF8());
|
||||
if (!cnObject.contains("canEditOwnerTrust"))
|
||||
return false;
|
||||
return cnObject.get("canEditOwnerTrust");
|
||||
}
|
||||
|
||||
vector<WString> AppConfig::PrivateKeyIds() const
|
||||
{
|
||||
// List private key identifiers.
|
||||
|
||||
@@ -42,6 +42,12 @@ public:
|
||||
* @return
|
||||
*/
|
||||
bool CanDelete() const;
|
||||
/**
|
||||
* Allows to edit trust in key owner. Users who don't manage private keys
|
||||
* can to that too.
|
||||
* @return
|
||||
*/
|
||||
bool CanEditOwnerTrust() const;
|
||||
/**
|
||||
* List of full private key identifiers. The user may delete these private keys.
|
||||
* Must be full keyid, short keyid or fingerprint.
|
||||
|
||||
@@ -78,3 +78,14 @@ const string GpgMEWorker::ImportKey(const char * filePath, Error& e)
|
||||
fclose(kFp);
|
||||
return keyid;
|
||||
}
|
||||
|
||||
const Error GpgMEWorker::EditOwnerTrust(const char* anyFullId, GpgME::Key::OwnerTrust trustLevel)
|
||||
{
|
||||
Error e;
|
||||
Key k = FindKey(anyFullId, e, false);
|
||||
if (e.code() != 0)
|
||||
return e;
|
||||
SetOwnerTrustEditInteractor * interactor = new SetOwnerTrustEditInteractor(trustLevel);
|
||||
GpgME::Data d; // Internal processing data
|
||||
return m_ctx->edit(k, std::unique_ptr<SetOwnerTrustEditInteractor> (interactor), d);
|
||||
}
|
||||
|
||||
@@ -13,10 +13,12 @@
|
||||
#include <gpgme++/context.h>
|
||||
#include <gpgme++/error.h>
|
||||
#include <gpgme++/key.h>
|
||||
#include <gpgme++/gpgsetownertrusteditinteractor.h>
|
||||
#include <vector>
|
||||
|
||||
using namespace std;
|
||||
using namespace GpgME;
|
||||
|
||||
/**
|
||||
* Main class for GPGME OP, except deleting keys.
|
||||
*/
|
||||
@@ -50,10 +52,34 @@ public:
|
||||
* @return the keyid
|
||||
*/
|
||||
const string ImportKey(const char * filePath, Error& e);
|
||||
/**
|
||||
* Inplace editing of owner trust if allowed
|
||||
* @param anyFullId
|
||||
* @param trustLevel : New trust level in key owner
|
||||
* @return
|
||||
*/
|
||||
const Error EditOwnerTrust(const char * anyFullId, GpgME::Key::OwnerTrust trustLevel);
|
||||
|
||||
private:
|
||||
Context * m_ctx;
|
||||
};
|
||||
|
||||
/**
|
||||
* Edit trust in key owner
|
||||
*/
|
||||
class SetOwnerTrustEditInteractor : public GpgSetOwnerTrustEditInteractor
|
||||
{
|
||||
public:
|
||||
/**
|
||||
*
|
||||
* @param ownerTrust : New trust level
|
||||
*/
|
||||
SetOwnerTrustEditInteractor(GpgME::Key::OwnerTrust ownerTrust)
|
||||
: GpgSetOwnerTrustEditInteractor(ownerTrust) {}
|
||||
|
||||
virtual ~SetOwnerTrustEditInteractor() {}
|
||||
|
||||
};
|
||||
|
||||
#endif /* GPGMEWORKER_H */
|
||||
|
||||
|
||||
14
K7Main.cpp
14
K7Main.cpp
@@ -12,6 +12,7 @@
|
||||
#include <iostream>
|
||||
#include <Wt/WBreak.h>
|
||||
#include <Wt/WPushButton.h>
|
||||
#include <Wt/WComboBox.h>
|
||||
#include <Wt/WGridLayout.h>
|
||||
#include <Wt/WHBoxLayout.h>
|
||||
#include <Wt/WVBoxLayout.h>
|
||||
@@ -55,11 +56,13 @@ K7Main::K7Main(const WEnvironment& env)
|
||||
OwnerTrustLevel[GpgME::Key::OwnerTrust::Undefined] = TR("UidUndefined");
|
||||
OwnerTrustLevel[GpgME::Key::OwnerTrust::Unknown] = TR("UidUnknown");
|
||||
m_uploader = NULL; m_deleter = NULL;
|
||||
m_keyEdit = new KeyEdit(this);
|
||||
}
|
||||
|
||||
K7Main::~K7Main()
|
||||
{
|
||||
delete m_config; delete m_uploader; delete m_deleter;
|
||||
delete m_keyEdit;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -255,7 +258,16 @@ void K7Main::DisplayKeys(const vector<GpgME::Key>& kList, const WString& grpLabe
|
||||
anc->setAttributeValue("hasSecret", k.hasSecret() ? "1" : "0");
|
||||
anc->clicked().connect(std::bind(&K7Main::OnKeyAnchorClicked, this, anc));
|
||||
keyNode->setColumnWidget(1, unique_ptr<WAnchor> (anc));
|
||||
keyNode->setColumnWidget(2, cpp14::make_unique<WText> (OwnerTrustLevel[k.ownerTrust()]));
|
||||
WText * lblOwnerTrust = new WText(OwnerTrustLevel[k.ownerTrust()]);
|
||||
if (m_config->CanEditOwnerTrust()) {
|
||||
if (!m_keyEdit->IsOurKey(k.primaryFingerprint())) {
|
||||
lblOwnerTrust->doubleClicked().connect(std::bind(&KeyEdit::OnOwnerTrustDoubleClicked, m_keyEdit, keyNode));
|
||||
lblOwnerTrust->setToolTip(TR("TTTDoubleCLick"));
|
||||
} else {
|
||||
lblOwnerTrust->setToolTip(TR("TTTYourKey"));
|
||||
}
|
||||
}
|
||||
keyNode->setColumnWidget(2, unique_ptr<WText> (lblOwnerTrust));
|
||||
keyNode->setColumnWidget(3, cpp14::make_unique<WText> (k.primaryFingerprint()));
|
||||
grpNode->addChildNode(unique_ptr<WTreeTableNode> (keyNode));
|
||||
}
|
||||
|
||||
8
K7Main.h
8
K7Main.h
@@ -25,11 +25,16 @@
|
||||
#include "PopupUploader.h"
|
||||
#include "PopupDeleter.h"
|
||||
#include "TransientMessageWidget.h"
|
||||
#include "KeyEdit.h"
|
||||
#include "global.h"
|
||||
|
||||
using namespace Wt;
|
||||
|
||||
class KeyEdit;
|
||||
|
||||
class K7Main : public WApplication
|
||||
{
|
||||
friend class KeyEdit;
|
||||
public:
|
||||
K7Main(const WEnvironment& env);
|
||||
virtual ~K7Main();
|
||||
@@ -39,9 +44,7 @@ private:
|
||||
/**
|
||||
* Translate UID trusts to string
|
||||
*/
|
||||
typedef map<int, WString> UidValidityMap;
|
||||
UidValidityMap UidValidities;
|
||||
typedef map<int, WString> OwnerTrustMap;
|
||||
OwnerTrustMap OwnerTrustLevel;
|
||||
AppConfig * m_config;
|
||||
WGridLayout * m_grlMain;
|
||||
@@ -56,6 +59,7 @@ private:
|
||||
WTreeTable * m_ttbSubKeys;
|
||||
Uploader * m_uploader;
|
||||
Deleter * m_deleter;
|
||||
KeyEdit * m_keyEdit;
|
||||
/**
|
||||
* Finds public keys as per criteria,
|
||||
* and private keys if any is declared in config file for current client.
|
||||
|
||||
102
KeyEdit.cpp
Normal file
102
KeyEdit.cpp
Normal file
@@ -0,0 +1,102 @@
|
||||
/*
|
||||
* File: KeyEdit.cpp
|
||||
* Author: SET - nmset@yandex.com
|
||||
* License : GPL v2
|
||||
* Copyright SET - © 2019
|
||||
*
|
||||
* Created on October 25, 2020, 10:38 AM
|
||||
*/
|
||||
|
||||
#include "KeyEdit.h"
|
||||
#include <Wt/WText.h>
|
||||
#include <Wt/WStandardItemModel.h>
|
||||
#include <Wt/WStandardItem.h>
|
||||
#include "GpgMEWorker.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
KeyEdit::KeyEdit(K7Main * owner)
|
||||
{
|
||||
m_owner = owner;
|
||||
}
|
||||
|
||||
KeyEdit::~KeyEdit()
|
||||
{
|
||||
}
|
||||
|
||||
void KeyEdit::OnOwnerTrustDoubleClicked(WTreeTableNode * keyNode)
|
||||
{
|
||||
// We ought to trust our own keys
|
||||
const WText * lblFpr = static_cast<WText*> (keyNode->columnWidget(3));
|
||||
if (IsOurKey(lblFpr->text()))
|
||||
return;
|
||||
WComboBox * cmbOwnerTrust = new WComboBox();
|
||||
FillOwnerTrustCombo(cmbOwnerTrust);
|
||||
cmbOwnerTrust->blurred().connect(std::bind(&KeyEdit::OnOwnerTrustBlurred, this, keyNode));
|
||||
WText * lblOwnerTrust = static_cast<WText*> (keyNode->columnWidget(2));
|
||||
cmbOwnerTrust->setCurrentIndex(cmbOwnerTrust->findText(lblOwnerTrust->text()));
|
||||
// If nothing gets changed, don't go to engine.
|
||||
cmbOwnerTrust->setAttributeValue("previousTrustLevel", std::to_string(cmbOwnerTrust->currentIndex()));
|
||||
keyNode->setColumnWidget(2, unique_ptr<WComboBox> (cmbOwnerTrust));
|
||||
// +++
|
||||
cmbOwnerTrust->setFocus();
|
||||
}
|
||||
|
||||
void KeyEdit::OnOwnerTrustBlurred(WTreeTableNode* keyNode)
|
||||
{
|
||||
WComboBox * cmbOwnerTrust = static_cast<WComboBox*> (keyNode->columnWidget(2));
|
||||
WText * lblOwnerTrust = new WText(cmbOwnerTrust->currentText());
|
||||
lblOwnerTrust->doubleClicked().connect(std::bind(&KeyEdit::OnOwnerTrustDoubleClicked, this, keyNode));
|
||||
const WText * lblFpr = static_cast<WText*> (keyNode->columnWidget(3));
|
||||
const uint newTrustLevel = cmbOwnerTrust->currentIndex();
|
||||
const WString previousTrustLevel = cmbOwnerTrust->attributeValue("previousTrustLevel");
|
||||
keyNode->setColumnWidget(2, unique_ptr<WText> (lblOwnerTrust));
|
||||
// If nothing was changed, don't go to engine.
|
||||
if (WString(std::to_string(newTrustLevel)) == previousTrustLevel)
|
||||
return;
|
||||
|
||||
GpgMEWorker gpgWorker;
|
||||
GpgME::Error e = gpgWorker.EditOwnerTrust(lblFpr->text().toUTF8().c_str(), (GpgME::Key::OwnerTrust) newTrustLevel);
|
||||
if (e.code() != 0)
|
||||
{
|
||||
lblOwnerTrust->setText(previousTrustLevel);
|
||||
m_owner->m_tmwMessage->SetText(TR("OwnerTrustFailure"));
|
||||
return;
|
||||
}
|
||||
m_owner->m_tmwMessage->SetText(TR("OwnerTrustSuccess"));
|
||||
}
|
||||
|
||||
void KeyEdit::FillOwnerTrustCombo(WComboBox * cmb)
|
||||
{
|
||||
/*
|
||||
* We should perhaps exclude OwnerTrust::Ultimate.
|
||||
* kleopatra doesn't do that.
|
||||
*/
|
||||
shared_ptr<WStandardItemModel> siModel = make_shared<WStandardItemModel> ();
|
||||
OwnerTrustMap OwnerTrustLevel = m_owner->OwnerTrustLevel;
|
||||
vector<unique_ptr < WStandardItem>> colIndex;
|
||||
vector<unique_ptr < WStandardItem>> colText;
|
||||
OwnerTrustMap::iterator it;
|
||||
for (it = OwnerTrustLevel.begin(); it != OwnerTrustLevel.end(); it++)
|
||||
{
|
||||
colIndex.push_back(cpp14::make_unique<WStandardItem> (std::to_string((*it).first)));
|
||||
colText.push_back(cpp14::make_unique<WStandardItem> ((*it).second));
|
||||
}
|
||||
siModel->appendColumn(std::move(colIndex));
|
||||
siModel->appendColumn(std::move(colText));
|
||||
cmb->clear();
|
||||
cmb->setModel(siModel);
|
||||
cmb->setModelColumn(1);
|
||||
}
|
||||
|
||||
bool KeyEdit::IsOurKey(const WString& fpr)
|
||||
{
|
||||
vector<WString> ourKeys = m_owner->m_config->PrivateKeyIds();
|
||||
vector<WString> ::iterator it;
|
||||
for (it = ourKeys.begin(); it != ourKeys.end(); it++)
|
||||
{
|
||||
if (*it == fpr)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
54
KeyEdit.h
Normal file
54
KeyEdit.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* File: KeyEdit.h
|
||||
* Author: SET - nmset@yandex.com
|
||||
* License : GPL v2
|
||||
* Copyright SET - © 2019
|
||||
*
|
||||
* Created on October 25, 2020, 10:38 AM
|
||||
*/
|
||||
|
||||
#ifndef KEYEDIT_H
|
||||
#define KEYEDIT_H
|
||||
|
||||
#include <Wt/WTreeTableNode.h>
|
||||
#include "K7Main.h"
|
||||
#include <Wt/WComboBox.h>
|
||||
|
||||
using namespace Wt;
|
||||
|
||||
class K7Main;
|
||||
|
||||
/**
|
||||
* Some key editing functionalities are or will be implemented here. For now,
|
||||
* only owner trust level is editable.
|
||||
*/
|
||||
class KeyEdit
|
||||
{
|
||||
public:
|
||||
KeyEdit(K7Main * owner);
|
||||
virtual ~KeyEdit();
|
||||
/**
|
||||
* Shows a combobox with all trust levels
|
||||
* @param keyNode
|
||||
*/
|
||||
void OnOwnerTrustDoubleClicked(WTreeTableNode * keyNode);
|
||||
/**
|
||||
* Saves any changes in trust level
|
||||
* @param keyNode
|
||||
*/
|
||||
void OnOwnerTrustBlurred(WTreeTableNode * keyNode);
|
||||
/**
|
||||
* If the fingerprint is that of a private key we manage, returns true.
|
||||
* @param fpr
|
||||
* @return
|
||||
*/
|
||||
bool IsOurKey(const WString& fpr);
|
||||
|
||||
private:
|
||||
K7Main * m_owner;
|
||||
|
||||
void FillOwnerTrustCombo(WComboBox * cmb);
|
||||
};
|
||||
|
||||
#endif /* KEYEDIT_H */
|
||||
|
||||
@@ -63,4 +63,9 @@
|
||||
<message id='ImportSuccess'>Import success : </message>
|
||||
<message id='ImportError'>Uploaded file could not be imported in the keyring</message>
|
||||
<message id='DeleteSuccess'>Delete success : </message>
|
||||
|
||||
<message id='TTTDoubleCLick'>Double click to edit</message>
|
||||
<message id='TTTYourKey'>This is your key</message>
|
||||
<message id='OwnerTrustSuccess'>Owner trust level succesfully changed</message>
|
||||
<message id='OwnerTrustFailure'>Owner trust level failed to be changed</message>
|
||||
</messages>
|
||||
@@ -63,4 +63,9 @@
|
||||
<message id='ImportSuccess'>Importation réussie : </message>
|
||||
<message id='ImportError'>Le fichier téléchargé n'a pu être importé dans le trousseau</message>
|
||||
<message id='DeleteSuccess'>Suppression réussie : </message>
|
||||
|
||||
<message id='TTTDoubleCLick'>Double cliquez pour éditer</message>
|
||||
<message id='TTTYourKey'>C'est votre clé</message>
|
||||
<message id='OwnerTrustSuccess'>Confiance dans la certification changée avec succès</message>
|
||||
<message id='OwnerTrustFailure'>Échec de changement de la confiance dans la certification</message>
|
||||
</messages>
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"user1" : {
|
||||
"canImport" : true,
|
||||
"canDelete" : true,
|
||||
"canEditOwnerTrust" : true,
|
||||
"privKeyIds" : [
|
||||
"FullKeyId1",
|
||||
"FullKeyId2"
|
||||
|
||||
3
global.h
3
global.h
@@ -21,6 +21,9 @@ const WString _APPVERSION_("1");
|
||||
const WString _SPACE_(" ");
|
||||
const WString _COLON_(":");
|
||||
|
||||
typedef map<int, WString> UidValidityMap;
|
||||
typedef map<int, WString> OwnerTrustMap;
|
||||
|
||||
|
||||
#endif /* GLOBAL_H */
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@ OBJECTFILES= \
|
||||
${OBJECTDIR}/GpgMECWorker.o \
|
||||
${OBJECTDIR}/GpgMEWorker.o \
|
||||
${OBJECTDIR}/K7Main.o \
|
||||
${OBJECTDIR}/KeyEdit.o \
|
||||
${OBJECTDIR}/PopupDeleter.o \
|
||||
${OBJECTDIR}/PopupUploader.o \
|
||||
${OBJECTDIR}/TransientMessageWidget.o \
|
||||
@@ -72,42 +73,47 @@ ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/k7: ${OBJECTFILES}
|
||||
${OBJECTDIR}/AppConfig.o: AppConfig.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/AppConfig.o AppConfig.cpp
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/AppConfig.o AppConfig.cpp
|
||||
|
||||
${OBJECTDIR}/GpgMECWorker.o: GpgMECWorker.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/GpgMECWorker.o GpgMECWorker.cpp
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/GpgMECWorker.o GpgMECWorker.cpp
|
||||
|
||||
${OBJECTDIR}/GpgMEWorker.o: GpgMEWorker.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/GpgMEWorker.o GpgMEWorker.cpp
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/GpgMEWorker.o GpgMEWorker.cpp
|
||||
|
||||
${OBJECTDIR}/K7Main.o: K7Main.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/K7Main.o K7Main.cpp
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/K7Main.o K7Main.cpp
|
||||
|
||||
${OBJECTDIR}/KeyEdit.o: KeyEdit.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/KeyEdit.o KeyEdit.cpp
|
||||
|
||||
${OBJECTDIR}/PopupDeleter.o: PopupDeleter.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/PopupDeleter.o PopupDeleter.cpp
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/PopupDeleter.o PopupDeleter.cpp
|
||||
|
||||
${OBJECTDIR}/PopupUploader.o: PopupUploader.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/PopupUploader.o PopupUploader.cpp
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/PopupUploader.o PopupUploader.cpp
|
||||
|
||||
${OBJECTDIR}/TransientMessageWidget.o: TransientMessageWidget.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/TransientMessageWidget.o TransientMessageWidget.cpp
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/TransientMessageWidget.o TransientMessageWidget.cpp
|
||||
|
||||
${OBJECTDIR}/main.o: main.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp
|
||||
$(COMPILE.cc) -O2 -s -DLARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp
|
||||
|
||||
# Subprojects
|
||||
.build-subprojects:
|
||||
|
||||
@@ -39,6 +39,7 @@ OBJECTFILES= \
|
||||
${OBJECTDIR}/GpgMECWorker.o \
|
||||
${OBJECTDIR}/GpgMEWorker.o \
|
||||
${OBJECTDIR}/K7Main.o \
|
||||
${OBJECTDIR}/KeyEdit.o \
|
||||
${OBJECTDIR}/PopupDeleter.o \
|
||||
${OBJECTDIR}/PopupUploader.o \
|
||||
${OBJECTDIR}/TransientMessageWidget.o \
|
||||
@@ -72,42 +73,47 @@ ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/k7: ${OBJECTFILES}
|
||||
${OBJECTDIR}/AppConfig.o: AppConfig.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/AppConfig.o AppConfig.cpp
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/AppConfig.o AppConfig.cpp
|
||||
|
||||
${OBJECTDIR}/GpgMECWorker.o: GpgMECWorker.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/GpgMECWorker.o GpgMECWorker.cpp
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/GpgMECWorker.o GpgMECWorker.cpp
|
||||
|
||||
${OBJECTDIR}/GpgMEWorker.o: GpgMEWorker.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/GpgMEWorker.o GpgMEWorker.cpp
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/GpgMEWorker.o GpgMEWorker.cpp
|
||||
|
||||
${OBJECTDIR}/K7Main.o: K7Main.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/K7Main.o K7Main.cpp
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/K7Main.o K7Main.cpp
|
||||
|
||||
${OBJECTDIR}/KeyEdit.o: KeyEdit.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/KeyEdit.o KeyEdit.cpp
|
||||
|
||||
${OBJECTDIR}/PopupDeleter.o: PopupDeleter.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/PopupDeleter.o PopupDeleter.cpp
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/PopupDeleter.o PopupDeleter.cpp
|
||||
|
||||
${OBJECTDIR}/PopupUploader.o: PopupUploader.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/PopupUploader.o PopupUploader.cpp
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/PopupUploader.o PopupUploader.cpp
|
||||
|
||||
${OBJECTDIR}/TransientMessageWidget.o: TransientMessageWidget.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/TransientMessageWidget.o TransientMessageWidget.cpp
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/TransientMessageWidget.o TransientMessageWidget.cpp
|
||||
|
||||
${OBJECTDIR}/main.o: main.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp
|
||||
$(COMPILE.cc) -g -DDEVTIME -I/usr/local/Wt-Debug/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp
|
||||
|
||||
# Subprojects
|
||||
.build-subprojects:
|
||||
|
||||
@@ -39,6 +39,7 @@ OBJECTFILES= \
|
||||
${OBJECTDIR}/GpgMECWorker.o \
|
||||
${OBJECTDIR}/GpgMEWorker.o \
|
||||
${OBJECTDIR}/K7Main.o \
|
||||
${OBJECTDIR}/KeyEdit.o \
|
||||
${OBJECTDIR}/PopupDeleter.o \
|
||||
${OBJECTDIR}/PopupUploader.o \
|
||||
${OBJECTDIR}/TransientMessageWidget.o \
|
||||
@@ -72,42 +73,47 @@ ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/k7: ${OBJECTFILES}
|
||||
${OBJECTDIR}/AppConfig.o: AppConfig.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/AppConfig.o AppConfig.cpp
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/AppConfig.o AppConfig.cpp
|
||||
|
||||
${OBJECTDIR}/GpgMECWorker.o: GpgMECWorker.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/GpgMECWorker.o GpgMECWorker.cpp
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/GpgMECWorker.o GpgMECWorker.cpp
|
||||
|
||||
${OBJECTDIR}/GpgMEWorker.o: GpgMEWorker.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/GpgMEWorker.o GpgMEWorker.cpp
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/GpgMEWorker.o GpgMEWorker.cpp
|
||||
|
||||
${OBJECTDIR}/K7Main.o: K7Main.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/K7Main.o K7Main.cpp
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/K7Main.o K7Main.cpp
|
||||
|
||||
${OBJECTDIR}/KeyEdit.o: KeyEdit.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/KeyEdit.o KeyEdit.cpp
|
||||
|
||||
${OBJECTDIR}/PopupDeleter.o: PopupDeleter.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/PopupDeleter.o PopupDeleter.cpp
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/PopupDeleter.o PopupDeleter.cpp
|
||||
|
||||
${OBJECTDIR}/PopupUploader.o: PopupUploader.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/PopupUploader.o PopupUploader.cpp
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/PopupUploader.o PopupUploader.cpp
|
||||
|
||||
${OBJECTDIR}/TransientMessageWidget.o: TransientMessageWidget.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/TransientMessageWidget.o TransientMessageWidget.cpp
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/TransientMessageWidget.o TransientMessageWidget.cpp
|
||||
|
||||
${OBJECTDIR}/main.o: main.cpp
|
||||
${MKDIR} -p ${OBJECTDIR}
|
||||
${RM} "$@.d"
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp
|
||||
$(COMPILE.cc) -O2 -s -I/usr/local/Wt/include -I/usr/include/gpgme++ -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp
|
||||
|
||||
# Subprojects
|
||||
.build-subprojects:
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<itemPath>GpgMECWorker.h</itemPath>
|
||||
<itemPath>GpgMEWorker.h</itemPath>
|
||||
<itemPath>K7Main.h</itemPath>
|
||||
<itemPath>KeyEdit.h</itemPath>
|
||||
<itemPath>PopupDeleter.h</itemPath>
|
||||
<itemPath>PopupUploader.h</itemPath>
|
||||
<itemPath>TransientMessageWidget.h</itemPath>
|
||||
@@ -26,6 +27,7 @@
|
||||
<itemPath>GpgMECWorker.cpp</itemPath>
|
||||
<itemPath>GpgMEWorker.cpp</itemPath>
|
||||
<itemPath>K7Main.cpp</itemPath>
|
||||
<itemPath>KeyEdit.cpp</itemPath>
|
||||
<itemPath>PopupDeleter.cpp</itemPath>
|
||||
<itemPath>PopupUploader.cpp</itemPath>
|
||||
<itemPath>TransientMessageWidget.cpp</itemPath>
|
||||
@@ -55,6 +57,7 @@
|
||||
<ccTool>
|
||||
<incDir>
|
||||
<pElem>/usr/local/Wt-Debug/include</pElem>
|
||||
<pElem>/usr/include/gpgme++</pElem>
|
||||
</incDir>
|
||||
<commandLine>-Wno-deprecated -Wno-deprecated-declarations</commandLine>
|
||||
<preprocessorList>
|
||||
@@ -89,6 +92,10 @@
|
||||
</item>
|
||||
<item path="K7Main.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="KeyEdit.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="KeyEdit.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="PopupDeleter.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="PopupDeleter.h" ex="false" tool="3" flavor2="0">
|
||||
@@ -126,6 +133,7 @@
|
||||
<stripSymbols>true</stripSymbols>
|
||||
<incDir>
|
||||
<pElem>/usr/local/Wt/include</pElem>
|
||||
<pElem>/usr/include/gpgme++</pElem>
|
||||
</incDir>
|
||||
<commandLine>-Wno-deprecated -Wno-deprecated-declarations</commandLine>
|
||||
</ccTool>
|
||||
@@ -164,6 +172,10 @@
|
||||
</item>
|
||||
<item path="K7Main.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="KeyEdit.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="KeyEdit.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="PopupDeleter.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="PopupDeleter.h" ex="false" tool="3" flavor2="0">
|
||||
@@ -201,6 +213,7 @@
|
||||
<stripSymbols>true</stripSymbols>
|
||||
<incDir>
|
||||
<pElem>/usr/local/Wt/include</pElem>
|
||||
<pElem>/usr/include/gpgme++</pElem>
|
||||
</incDir>
|
||||
<commandLine>-Wno-deprecated -Wno-deprecated-declarations</commandLine>
|
||||
<preprocessorList>
|
||||
@@ -243,6 +256,10 @@
|
||||
</item>
|
||||
<item path="K7Main.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="KeyEdit.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="KeyEdit.h" ex="false" tool="3" flavor2="0">
|
||||
</item>
|
||||
<item path="PopupDeleter.cpp" ex="false" tool="1" flavor2="0">
|
||||
</item>
|
||||
<item path="PopupDeleter.h" ex="false" tool="3" flavor2="0">
|
||||
|
||||
Reference in New Issue
Block a user