diff --git a/AppConfig.cpp b/AppConfig.cpp index 2eaa394..fcaec10 100644 --- a/AppConfig.cpp +++ b/AppConfig.cpp @@ -187,7 +187,7 @@ bool AppConfig::UpdateSecretKeyOwnership(const WString& fpr, bool own) Json::Array::iterator it = std::find(aKeyId.begin(), aKeyId.end(), Json::Value(fpr)); if (it == aKeyId.end()) { - if (own) + if (own) aKeyId.push_back(Json::Value(fpr)); else return true; // We don't own it. @@ -199,7 +199,7 @@ bool AppConfig::UpdateSecretKeyOwnership(const WString& fpr, bool own) else return true; // We already own it. } - + // TODO : Do this **better**, without replacing sequentially up to root. cnObject.insert(make_pair("privKeyIds", aKeyId)); m_SubjectCNObject.erase(commonName.toUTF8()); diff --git a/AppConfig.h b/AppConfig.h index 5ae1f68..36e5990 100644 --- a/AppConfig.h +++ b/AppConfig.h @@ -22,7 +22,8 @@ using namespace std; /** * Json configuration file reader. */ -class AppConfig { +class AppConfig +{ public: AppConfig(WText * notifyWidget); virtual ~AppConfig(); @@ -101,7 +102,7 @@ private: * @return */ const WString GetSubjectDnAttribute(const WSslCertificate::DnAttributeName& attrName) const; - + bool WriteTextFile(const WString& filePath, const WString& content); }; diff --git a/GpgMECWorker.cpp b/GpgMECWorker.cpp index 00761a8..5ad087c 100644 --- a/GpgMECWorker.cpp +++ b/GpgMECWorker.cpp @@ -9,24 +9,29 @@ #include "GpgMECWorker.h" -GpgMECWorker::GpgMECWorker() { +GpgMECWorker::GpgMECWorker() +{ gpgme_error_t c_err = gpgme_new(&c_ctx); } -GpgMECWorker::~GpgMECWorker() { +GpgMECWorker::~GpgMECWorker() +{ gpgme_release(c_ctx); } -bool GpgMECWorker::DeleteKey(const char * fpr, bool secret, GpgME::Error& e) { +bool GpgMECWorker::DeleteKey(const char * fpr, bool secret, GpgME::Error& e) +{ gpgme_key_t c_key; gpgme_error_t c_err = gpgme_get_key(c_ctx, fpr, &c_key, secret); - if (c_key == NULL) { + if (c_key == NULL) + { e = GpgME::Error::fromCode(c_err); return false; } int flags = secret ? GPGME_DELETE_ALLOW_SECRET | GPGME_DELETE_FORCE : GPGME_DELETE_FORCE; c_err = gpgme_op_delete_ext(c_ctx, c_key, flags); - if (c_err != 0) { + if (c_err != 0) + { e = GpgME::Error::fromCode(c_err); return false; } diff --git a/GpgMECWorker.h b/GpgMECWorker.h index a2d80f2..cd39369 100644 --- a/GpgMECWorker.h +++ b/GpgMECWorker.h @@ -13,11 +13,12 @@ #include #include -class GpgMECWorker { +class GpgMECWorker +{ public: GpgMECWorker(); virtual ~GpgMECWorker(); - + /** * Deleting keys must be done with the C API because * gpgmepp does not provide a way to use GPGME_DELETE_FORCE, @@ -29,7 +30,7 @@ public: * @return */ bool DeleteKey(const char * fpr, bool secret, GpgME::Error& e); - + private: gpgme_ctx_t c_ctx; }; diff --git a/K7Main.cpp b/K7Main.cpp index 529943c..ab52862 100644 --- a/K7Main.cpp +++ b/K7Main.cpp @@ -28,7 +28,9 @@ K7Main::K7Main(const WEnvironment& env) : WApplication(env) { m_config = NULL; - m_btnUpload = NULL; m_btnImport = NULL; m_btnDelete = NULL; + m_btnUpload = NULL; + m_btnImport = NULL; + m_btnDelete = NULL; m_btnCreate = NULL; WApplication::setTitle(_APPNAME_); const WString bundle = WApplication::appRoot() + _APPNAME_; @@ -51,7 +53,7 @@ K7Main::K7Main(const WEnvironment& env) UidValidities[UserID::Validity::Ultimate] = TR("UidUltimate"); UidValidities[UserID::Validity::Undefined] = TR("UidUndefined"); UidValidities[UserID::Validity::Unknown] = TR("UidUnknown"); - + OwnerTrustLevel[GpgME::Key::OwnerTrust::Full] = TR("UidFull"); OwnerTrustLevel[GpgME::Key::OwnerTrust::Marginal] = TR("UidMarginal"); OwnerTrustLevel[GpgME::Key::OwnerTrust::Never] = TR("UidNever"); @@ -59,10 +61,10 @@ K7Main::K7Main(const WEnvironment& env) OwnerTrustLevel[GpgME::Key::OwnerTrust::Undefined] = TR("UidUndefined"); OwnerTrustLevel[GpgME::Key::OwnerTrust::Unknown] = TR("UidUnknown"); m_keyEdit = new KeyEdit(this); - + WLink link; - const WString cssFile = WApplication::appRoot() + _APPNAME_ - + WString(".css"); + const WString cssFile = WApplication::appRoot() + _APPNAME_ + + WString(".css"); link.setUrl(cssFile.toUTF8()); WApplication::useStyleSheet(link); } @@ -70,7 +72,8 @@ K7Main::K7Main(const WEnvironment& env) K7Main::~K7Main() { delete m_config; - delete m_keyEdit; delete m_keyringIO; + delete m_keyEdit; + delete m_keyringIO; } void @@ -90,11 +93,11 @@ K7Main::Create() /* * Load config JSON file. * On error, just abort, AppConfig will print an error message in m_tmwMessage - */ + */ m_config = new AppConfig(m_tmwMessage); if (!m_config->LoadConfig()) return; - + m_cwMain = new WContainerWidget(); WGridLayout * grlMain = new WGridLayout(); grlMain->setColumnStretch(0, 1); @@ -154,9 +157,9 @@ K7Main::Create() root()->addWidget(cpp14::make_unique()); root()->addWidget(unique_ptr (m_cwMain)); - + m_keyringIO = new KeyringIO(this); - + #ifdef DEVTIME // Save my fingertips. m_leSearch->setText("s"); @@ -190,7 +193,7 @@ void K7Main::Search() * configPrivKeys.at(i) : we want this to be a full key id(short, normal or fpr) * But it can be any string in the config file (name, email...). * lst can hence contain many keys. - */ + */ vector lst = gpgw.FindKeys(configPrivKeys.at(i).toUTF8().c_str(), true, e); if (e.code() != 0) { @@ -225,7 +228,8 @@ void K7Main::Search() } } - if (m_ttbKeys->columnCount() == 1) { + if (m_ttbKeys->columnCount() == 1) + { m_ttbKeys->addColumn(TR("ID"), 120); m_ttbKeys->addColumn(TR("OwnerTrust"), 210); m_ttbKeys->addColumn(TR("Fpr"), 300); @@ -268,13 +272,15 @@ void K7Main::DisplayKeys(const vector& kList, const WString& grpLabe anc->clicked().connect(std::bind(&K7Main::OnKeyAnchorClicked, this, anc)); keyNode->setColumnWidget(1, unique_ptr (anc)); WText * lblOwnerTrust = new WText(OwnerTrustLevel[k.ownerTrust()]); - if (m_config->CanEditOwnerTrust()) { + if (m_config->CanEditOwnerTrust()) + { /* * Here we allow the owner trust level of primary keys to be changed anytime. * Kleopatra doesn't do that for primary keys having ultimate trust level. */ bool isOurKey = Tools::IsOurKey(k.primaryFingerprint(), ourKeys); - if (!isOurKey || (isOurKey && k.hasSecret())) { + if (!isOurKey || (isOurKey && k.hasSecret())) + { lblOwnerTrust->doubleClicked().connect(std::bind(&KeyEdit::OnOwnerTrustDoubleClicked, m_keyEdit, keyNode, k.hasSecret())); lblOwnerTrust->setToolTip(TR("TTTDoubleCLick")); } @@ -335,7 +341,8 @@ void K7Main::DisplayUids(const WString& fullKeyID, bool secret) uidNode->setColumnWidget(1, unique_ptr (ttntUidEmail)); // Show key certify popup on double click WText * lblUidValidity = new WText(UidValidities[uid.validity()]); - if (m_config->CanEditUidValidity()) { + if (m_config->CanEditUidValidity()) + { lblUidValidity->setToolTip(TR("TTTDoubleCLick")); lblUidValidity->doubleClicked().connect(std::bind(&KeyEdit::OnUidValidityClicked, m_keyEdit, uidNode, privateKeys, WString(k.primaryFingerprint()))); } @@ -389,8 +396,8 @@ void K7Main::DisplaySubKeys(const WString& fullKeyID, bool secret) rootNode->expand(); vector ourKeys = m_config->PrivateKeyIds(); bool canEditExpiry = m_config->CanEditExpiryTime() - && Tools::KeyHasSecret(k.primaryFingerprint()) - && Tools::IsOurKey(k.primaryFingerprint(), ourKeys); + && Tools::KeyHasSecret(k.primaryFingerprint()) + && Tools::IsOurKey(k.primaryFingerprint(), ourKeys); for (uint i = 0; i < k.numSubkeys(); i++) { Subkey sk = k.subkey(i); @@ -400,7 +407,8 @@ void K7Main::DisplaySubKeys(const WString& fullKeyID, bool secret) skNode->setColumnWidget(1, unique_ptr (ttntFpr)); WString exp = sk.neverExpires() ? TR("Never") : MakeDateTimeLabel(sk.expirationTime()); WText * lblExpiry = new WText(exp); - if (canEditExpiry) { + if (canEditExpiry) + { lblExpiry->setToolTip(TR("TTTDoubleCLick")); lblExpiry->doubleClicked().connect(std::bind(&KeyEdit::OnExpiryClicked, m_keyEdit, skNode, WString(k.primaryFingerprint()))); } diff --git a/K7Main.h b/K7Main.h index e560634..a75c765 100644 --- a/K7Main.h +++ b/K7Main.h @@ -54,8 +54,8 @@ private: WLineEdit * m_leSearch; WPushButton * m_btnUpload; WPushButton * m_btnImport; - WPushButton * m_btnDelete ; - WPushButton * m_btnCreate ; + WPushButton * m_btnDelete; + WPushButton * m_btnCreate; WTreeTable * m_ttbKeys; WTreeTable * m_ttbUids; WTreeTable * m_ttbSubKeys; diff --git a/KeyEdit.cpp b/KeyEdit.cpp index d577fe7..e35ac27 100644 --- a/KeyEdit.cpp +++ b/KeyEdit.cpp @@ -17,7 +17,7 @@ using namespace std; KeyEdit::KeyEdit(K7Main * owner) -:WObject() +: WObject() { m_owner = owner; m_popupUid = NULL; @@ -41,7 +41,8 @@ void KeyEdit::OnOwnerTrustDoubleClicked(WTreeTableNode * keyNode, bool keyHasSec WText * lblFpr = static_cast (keyNode->columnWidget(3)); vector ourKeys = m_owner->m_config->PrivateKeyIds(); if (!Tools::IsOurKey(lblFpr->text(), ourKeys) - && Tools::KeyHasSecret(lblFpr->text())) { + && Tools::KeyHasSecret(lblFpr->text())) + { m_owner->m_tmwMessage->SetText(TR("OwnerTrustReadOnly")); return; } @@ -57,7 +58,7 @@ void KeyEdit::OnOwnerTrustDoubleClicked(WTreeTableNode * keyNode, bool keyHasSec /* * Prepare to check for change in combobox item. * Change is detected by index, not value. - */ + */ cmbOwnerTrust->setAttributeValue("previousTrustLevel", std::to_string(cmbOwnerTrust->currentIndex())); keyNode->setColumnWidget(2, unique_ptr (cmbOwnerTrust)); // +++ @@ -72,7 +73,7 @@ void KeyEdit::OnOwnerTrustBlurred(WTreeTableNode* keyNode, bool keyHasSecret) WStandardItemModel * iModel = static_cast (aiModel.get()); WStandardItem * item = iModel->item(cmbOwnerTrust->currentIndex(), 0); int newLevel = Tools::ToInt(item->text().toUTF8()); - + WText * lblOwnerTrust = new WText(cmbOwnerTrust->currentText()); lblOwnerTrust->doubleClicked().connect(std::bind(&KeyEdit::OnOwnerTrustDoubleClicked, this, keyNode, keyHasSecret)); const WText * lblFpr = static_cast (keyNode->columnWidget(3)); @@ -82,7 +83,7 @@ void KeyEdit::OnOwnerTrustBlurred(WTreeTableNode* keyNode, bool keyHasSecret) // 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) newLevel); if (e.code() != 0) @@ -102,10 +103,13 @@ void KeyEdit::FillOwnerTrustCombo(WComboBox * cmb, bool keyHasSecret) vector> colText; colIndex.push_back(cpp14::make_unique (std::to_string(UserID::Validity::Unknown))); colText.push_back(cpp14::make_unique (TR("UidUnknown"))); - if (keyHasSecret) { + if (keyHasSecret) + { colIndex.push_back(cpp14::make_unique (std::to_string(UserID::Validity::Ultimate))); colText.push_back(cpp14::make_unique (TR("UidUltimate"))); - } else { + } + else + { colIndex.push_back(cpp14::make_unique (std::to_string(UserID::Validity::Never))); colText.push_back(cpp14::make_unique (TR("UidNever"))); colIndex.push_back(cpp14::make_unique (std::to_string(UserID::Validity::Marginal))); @@ -122,7 +126,8 @@ void KeyEdit::FillOwnerTrustCombo(WComboBox * cmb, bool keyHasSecret) void KeyEdit::OnUidValidityClicked(WTreeTableNode* uidNode, vector& privateKeys, const WString& targetKeyFpr) { - if (targetKeyFpr != m_targetUidValidityKeyFpr) { + if (targetKeyFpr != m_targetUidValidityKeyFpr) + { bool passwordVisibility = true; if (m_popupUid) passwordVisibility = m_popupUid->IsPasswordVisible(); @@ -140,7 +145,8 @@ void KeyEdit::OnUidValidityClicked(WTreeTableNode* uidNode, vector& pri void KeyEdit::CertifyKey() { vector& uidsToSign = m_popupUid->GetUidsToSign(); - if (uidsToSign.size() == 0) { + if (uidsToSign.size() == 0) + { m_owner->m_tmwMessage->SetText(TR("NoUidSelected")); return; } @@ -165,7 +171,8 @@ void KeyEdit::CertifyKey() void KeyEdit::OnExpiryClicked(WTreeTableNode* subkeyNode, const WString& keyFpr) { - if (keyFpr != m_expiryEditedKeyFpr) { + if (keyFpr != m_expiryEditedKeyFpr) + { delete m_popupExpiryTime; WText * lblExpiry = static_cast (subkeyNode->columnWidget(2)); m_popupExpiryTime = new PopupExpiryTime(lblExpiry, m_owner->m_tmwMessage); diff --git a/KeyEdit.h b/KeyEdit.h index 4f68625..93e81d3 100644 --- a/KeyEdit.h +++ b/KeyEdit.h @@ -31,18 +31,18 @@ class KeyEdit : public WObject { friend class K7Main; public: - + private: KeyEdit(K7Main * owner); virtual ~KeyEdit(); - + K7Main * m_owner; PopupCertifyUserId * m_popupUid; WString m_targetUidValidityKeyFpr; - + PopupExpiryTime * m_popupExpiryTime; WString m_expiryEditedKeyFpr; - + /** * Unknown is common. * \n If keyHasSecret is true, show only Ultimate level. @@ -54,7 +54,7 @@ private: void FillOwnerTrustCombo(WComboBox * cmb, bool keyHasSecret); void CertifyKey(); void SetExpiryTime(); - + /** * Shows a combobox with all trust levels * @param keyNode @@ -80,7 +80,7 @@ private: * @param keyFpr */ void OnExpiryClicked(WTreeTableNode * subkeyNode, const WString& keyFpr); - + }; #endif /* KEYEDIT_H */ diff --git a/KeyringIO.cpp b/KeyringIO.cpp index 5a7a42c..79680f9 100644 --- a/KeyringIO.cpp +++ b/KeyringIO.cpp @@ -233,7 +233,7 @@ void KeyringIO::DoCreateKey() { const WString fpr(k.primaryFingerprint()); m_tmwMessage->SetText(TR("CreateSuccess") - + fpr + WString(" - ") + WString(k.userID(0).name())); + + fpr + WString(" - ") + WString(k.userID(0).name())); // Add the key fingerprint to the list of keys managed by the user. m_config->UpdateSecretKeyOwnership(fpr, true); m_popupCreate->hide(); diff --git a/PopupCertifyUserId.h b/PopupCertifyUserId.h index 9a59e68..32a6629 100644 --- a/PopupCertifyUserId.h +++ b/PopupCertifyUserId.h @@ -63,6 +63,7 @@ public: * @param show */ void ShowPassphrase(bool show = true); + /** * Used to restore the state of the widgets when target key changes. * @return @@ -72,6 +73,7 @@ public: // isVisible is always false when the popup is hidden ! return !(m_lePassphrase->isHidden()); } + /** * Used to forward the passphrase to the loopback passphrase provider. * @return @@ -80,6 +82,7 @@ public: { return m_lePassphrase->text().toUTF8(); } + /** * Obviously. * @return @@ -88,6 +91,7 @@ public: { return m_fprKeyToSign; } + /** * We can select what identity (email) to certify. GPG expects it as a * vector of indices. @@ -97,6 +101,7 @@ public: { return m_uidsToSign; } + /** * Sum of option values *
    @@ -110,6 +115,7 @@ public: { return m_certifyOptions; } + /** * Caller binds its certify function here. * @return diff --git a/PopupDeleter.cpp b/PopupDeleter.cpp index a16786f..dc68537 100644 --- a/PopupDeleter.cpp +++ b/PopupDeleter.cpp @@ -14,19 +14,25 @@ using namespace std; -PopupDelete::PopupDelete(WWidget * anchorWidget, TransientMessageWidget * txtMessage, const WLength& width) -: WPopupWidget(cpp14::make_unique()) { - m_tmwMessage = txtMessage; m_cwMain = NULL; m_cbConfirm = NULL; - m_cbReConfirm = NULL; m_btnDelete = NULL; +PopupDelete::PopupDelete(WWidget * anchorWidget, TransientMessageWidget * txtMessage, const WLength& width) +: WPopupWidget(cpp14::make_unique()) +{ + m_tmwMessage = txtMessage; + m_cwMain = NULL; + m_cbConfirm = NULL; + m_cbReConfirm = NULL; + m_btnDelete = NULL; setTransient(true); setAnchorWidget(anchorWidget); setWidth(width); } -PopupDelete::~PopupDelete() { +PopupDelete::~PopupDelete() +{ } -void PopupDelete::Create() { +void PopupDelete::Create() +{ m_cwMain = static_cast (implementation()); // White in css file, like default background color. m_cwMain->setStyleClass("popup"); @@ -45,7 +51,8 @@ void PopupDelete::Create() { this->hidden().connect(this, &PopupDelete::Reset); } -void PopupDelete::Reset() { +void PopupDelete::Reset() +{ m_btnDelete->hide(); m_cbReConfirm->setUnChecked(); m_cbReConfirm->hide(); @@ -53,12 +60,14 @@ void PopupDelete::Reset() { m_cbConfirm->show(); } -void PopupDelete::OnCbConfirm() { +void PopupDelete::OnCbConfirm() +{ m_cbReConfirm->setHidden(m_cbConfirm->checkState() != CheckState::Checked); m_cbReConfirm->setUnChecked(); m_btnDelete->setHidden(m_cbReConfirm->checkState() != CheckState::Checked); } -void PopupDelete::OnCbReConfirm() { +void PopupDelete::OnCbReConfirm() +{ m_btnDelete->setHidden(m_cbReConfirm->checkState() != CheckState::Checked); } diff --git a/PopupDeleter.h b/PopupDeleter.h index 54ccda0..4332bc3 100644 --- a/PopupDeleter.h +++ b/PopupDeleter.h @@ -17,27 +17,33 @@ #include "TransientMessageWidget.h" using namespace Wt; + /** * A transient popup window with a forward confirmation * before deleting a key. */ -class PopupDelete : public WPopupWidget { +class PopupDelete : public WPopupWidget +{ public: PopupDelete(WWidget * anchorWidget, TransientMessageWidget * txtMessage, const WLength& width = 350); virtual ~PopupDelete(); void Create(); + /** * Caller can bind the delete function to this button. * @return */ - WPushButton* GetDeleteButton() {return m_btnDelete;} + WPushButton* GetDeleteButton() + { + return m_btnDelete; + } private: TransientMessageWidget * m_tmwMessage; WContainerWidget * m_cwMain; WCheckBox * m_cbConfirm; WCheckBox * m_cbReConfirm; WPushButton * m_btnDelete; - + // Visibility management void Reset(); void OnCbConfirm(); diff --git a/PopupExpiryTime.cpp b/PopupExpiryTime.cpp index fa07289..7b47893 100644 --- a/PopupExpiryTime.cpp +++ b/PopupExpiryTime.cpp @@ -16,7 +16,7 @@ using namespace std; PopupExpiryTime::PopupExpiryTime(WWidget * anchorWidget, TransientMessageWidget * txtMessage, - const WLength& width) + const WLength& width) : WPopupWidget(cpp14::make_unique()) { m_tmwMessage = txtMessage; @@ -47,17 +47,17 @@ void PopupExpiryTime::Create(const WString& keyFpr) m_keyFpr = keyFpr; m_cwMain = static_cast (implementation()); m_cwMain->setStyleClass("popup"); - + WVBoxLayout * vblMain = new WVBoxLayout(); m_cwMain->setLayout(unique_ptr (vblMain)); - + WHBoxLayout * hblExpiry = new WHBoxLayout(); WText * lblExpiry = new WText(TR("ExpiryDate")); hblExpiry->addWidget(unique_ptr (lblExpiry)); m_deExpiry = new WDateEdit(); hblExpiry->addWidget(unique_ptr (m_deExpiry), 1); vblMain->addLayout(unique_ptr (hblExpiry)); - + WHBoxLayout * hblPassphrase = new WHBoxLayout(); m_lblPassphrase = new WText(TR("Passphrase")); hblPassphrase->addWidget(unique_ptr (m_lblPassphrase)); @@ -65,7 +65,7 @@ void PopupExpiryTime::Create(const WString& keyFpr) m_lePassphrase->setEchoMode(EchoMode::Password); hblPassphrase->addWidget(unique_ptr (m_lePassphrase), 1); vblMain->addLayout(unique_ptr (hblPassphrase)); - + WHBoxLayout * hblButtons = new WHBoxLayout(); WPushButton * btnClose = new WPushButton(TR("Close")); btnClose->clicked().connect(this, &WPopupWidget::hide); diff --git a/PopupUploader.cpp b/PopupUploader.cpp index d521789..a5afe45 100644 --- a/PopupUploader.cpp +++ b/PopupUploader.cpp @@ -15,18 +15,25 @@ using namespace std; PopupUpload::PopupUpload(WWidget * anchorWidget, TransientMessageWidget * txtMessage, const WLength& width) -: WPopupWidget(cpp14::make_unique()) { - m_tmwMessage = txtMessage; m_upload = NULL; m_cwMain = NULL; - m_cbConfirm = NULL; m_cbReConfirm = NULL; m_btnUpload = NULL; +: WPopupWidget(cpp14::make_unique()) +{ + m_tmwMessage = txtMessage; + m_upload = NULL; + m_cwMain = NULL; + m_cbConfirm = NULL; + m_cbReConfirm = NULL; + m_btnUpload = NULL; setTransient(true); setAnchorWidget(anchorWidget); setWidth(width); } -PopupUpload::~PopupUpload() { +PopupUpload::~PopupUpload() +{ } -void PopupUpload::Create() { +void PopupUpload::Create() +{ m_upload = new WFileUpload(); m_upload->setFileTextSize(10240); // Is really approximate m_upload->setMultiple(false); @@ -54,7 +61,8 @@ void PopupUpload::Create() { this->hidden().connect(this, &PopupUpload::Reset); } -void PopupUpload::Reset() { +void PopupUpload::Reset() +{ m_btnUpload->hide(); m_cbReConfirm->setUnChecked(); m_cbReConfirm->hide(); @@ -62,31 +70,40 @@ void PopupUpload::Reset() { m_cbConfirm->show(); m_btnUpload->enable(); } -void PopupUpload::OnCbConfirm() { + +void PopupUpload::OnCbConfirm() +{ m_cbReConfirm->setHidden(m_cbConfirm->checkState() != CheckState::Checked); m_cbReConfirm->setUnChecked(); m_btnUpload->setHidden(m_cbReConfirm->checkState() != CheckState::Checked); } -void PopupUpload::OnCbReConfirm() { +void PopupUpload::OnCbReConfirm() +{ m_btnUpload->setHidden(m_cbReConfirm->checkState() != CheckState::Checked); } -void PopupUpload::DoUpload() { - if (m_upload->canUpload()) { +void PopupUpload::DoUpload() +{ + if (m_upload->canUpload()) + { m_btnUpload->disable(); m_upload->upload(); - } else { + } + else + { m_tmwMessage->SetText(TR("CantUpload")); } } -void PopupUpload::OnUploadDone() { +void PopupUpload::OnUploadDone() +{ m_sigUploadDone.emit(m_upload->spoolFileName()); m_btnUpload->enable(); } -void PopupUpload::OnFileTooLarge() { +void PopupUpload::OnFileTooLarge() +{ m_tmwMessage->SetText(TR("FileTooLarge")); m_btnUpload->enable(); } diff --git a/PopupUploader.h b/PopupUploader.h index 63ff43f..4e277c4 100644 --- a/PopupUploader.h +++ b/PopupUploader.h @@ -56,7 +56,7 @@ private: void DoUpload(); void OnUploadDone(); void OnFileTooLarge(); - + }; #endif /* POPUPUPLOADER_H */ diff --git a/TransientMessageWidget.cpp b/TransientMessageWidget.cpp index 27de937..8d56026 100644 --- a/TransientMessageWidget.cpp +++ b/TransientMessageWidget.cpp @@ -49,9 +49,11 @@ void TransientMessageWidget::OnTimer() void TransientMessageWidget::SetText(const WString& text, bool stack) { m_timer.stop(); - if (stack) { + if (stack) + { // Remove the oldest message if stack is full - if (m_stack.size() == m_stackSize) { + if (m_stack.size() == m_stackSize) + { m_stack.pop_back(); } m_stack.push_front(text);