[PATCH pinentry 4/4] tqt: Disable echoing if backspace is pressed first.

deloptes deloptes at gmail.com
Mon Aug 13 09:52:14 CEST 2018


Hi Damien,
highly appreciated that you add patches to the TQT code.

Thanks

On Sat, Aug 4, 2018 at 11:24 PM, Damien Goutte-Gattat via Gnupg-devel <
gnupg-devel at gnupg.org> wrote:

> * tqt/secqlineedit.h (backspacePressed): New signal.
> * tqt/secqinternal.cpp (SecTQLineEdit::backspace): Emit new signal.
> * tqt/pinentrydialog.h (_got_input): New member field.
> (onBackspace): New slot.
> * tqt/pinentrydialog.cpp (onBackspace): New slot.
> (PinEntryDialog::updateQuality): Prevent echo disabling as soon as
> the text has been edited.
>
> GnuPG-bug-id: 3428
> Signed-off-by: Damien Goutte-Gattat <dgouttegattat at incenp.org>
> ---
>  tqt/pinentrydialog.cpp | 14 +++++++++++++-
>  tqt/pinentrydialog.h   |  2 ++
>  tqt/secqlineedit.cpp   |  2 ++
>  tqt/secqlineedit.h     |  1 +
>  4 files changed, 18 insertions(+), 1 deletion(-)
>
> diff --git a/tqt/pinentrydialog.cpp b/tqt/pinentrydialog.cpp
> index 069eeaf..6a2ae12 100644
> --- a/tqt/pinentrydialog.cpp
> +++ b/tqt/pinentrydialog.cpp
> @@ -32,7 +32,8 @@
>
>  PinEntryDialog::PinEntryDialog( TQWidget* parent, const char* name,
>                                  bool modal, bool enable_quality_bar )
> -  : TQDialog( parent, name, modal, TQt::WStyle_StaysOnTop ), _grabbed(
> false )
> +  : TQDialog( parent, name, modal, TQt::WStyle_StaysOnTop ), _grabbed(
> false ),
> +    _got_input( false )
>  {
>    TQBoxLayout* top = new TQVBoxLayout( this, 6 );
>    TQBoxLayout* upperLayout = new TQHBoxLayout( top );
> @@ -89,6 +90,8 @@ PinEntryDialog::PinEntryDialog( TQWidget* parent, const
> char* name,
>            this, SIGNAL( rejected() ) );
>    connect( _edit, SIGNAL( textModified(const SecTQString&) ),
>            this, SLOT( updateQuality(const SecTQString&) ) );
> +  connect (_edit, SIGNAL (backspacePressed()),
> +          this, SLOT (onBackspace ()));
>    connect (this, SIGNAL (accepted ()),
>            this, SLOT (accept ()));
>    connect (this, SIGNAL (rejected ()),
> @@ -131,6 +134,8 @@ void PinEntryDialog::updateQuality( const SecTQString
> & txt )
>    int percent;
>    TQPalette pal;
>
> +  _got_input = true;
> +
>    if (!_have_quality_bar || !_pinentry_info)
>      return;
>    pin = (char*)txt.utf8();
> @@ -159,6 +164,13 @@ void PinEntryDialog::updateQuality( const SecTQString
> & txt )
>  }
>
>
> +void PinEntryDialog::onBackspace()
> +{
> +  if (!_got_input)
> +    _edit->setEchoMode( SecTQLineEdit::NoEcho );
> +}
> +
> +
>  void PinEntryDialog::setDescription( const TQString& txt )
>  {
>    _desc->setText( txt );
> diff --git a/tqt/pinentrydialog.h b/tqt/pinentrydialog.h
> index d6f20c6..eb4d332 100644
> --- a/tqt/pinentrydialog.h
> +++ b/tqt/pinentrydialog.h
> @@ -63,6 +63,7 @@ public:
>
>  public slots:
>    void updateQuality(const SecTQString &);
> +  void onBackspace();
>
>  signals:
>    void accepted();
> @@ -86,6 +87,7 @@ private:
>    bool       _grabbed;
>    bool       _have_quality_bar;
>    pinentry_t _pinentry_info;
> +  bool       _got_input;
>  };
>
>
> diff --git a/tqt/secqlineedit.cpp b/tqt/secqlineedit.cpp
> index ee95c8d..da0637a 100644
> --- a/tqt/secqlineedit.cpp
> +++ b/tqt/secqlineedit.cpp
> @@ -719,6 +719,8 @@ void SecTQLineEdit::backspace()
>             d->del( TRUE );
>      }
>      d->finishChange( priorState );
> +
> +    emit backspacePressed();
>  }
>
>  /*!
> diff --git a/tqt/secqlineedit.h b/tqt/secqlineedit.h
> index bd28cec..126f231 100644
> --- a/tqt/secqlineedit.h
> +++ b/tqt/secqlineedit.h
> @@ -187,6 +187,7 @@ signals:
>      void returnPressed();
>      void lostFocus();
>      void selectionChanged();
> +    void backspacePressed();
>
>  protected:
>      bool event( TQEvent * );
> --
> 2.14.4
>
>
>
> _______________________________________________
> Gnupg-devel mailing list
> Gnupg-devel at gnupg.org
> http://lists.gnupg.org/mailman/listinfo/gnupg-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gnupg.org/pipermail/gnupg-devel/attachments/20180813/5b442692/attachment-0001.html>


More information about the Gnupg-devel mailing list