-rw-r--r-- | library/password.cpp | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/library/password.cpp b/library/password.cpp index 41b3358..4b22b65 100644 --- a/library/password.cpp +++ b/library/password.cpp @@ -1,224 +1,222 @@ /********************************************************************** ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. ** ** This file is part of the Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #include "password.h" #include "config.h" #include "global.h" #include "backend/contact.h" #include <qlabel.h> #include <qlineedit.h> #include <qtextview.h> #include <qstring.h> #include <qapplication.h> #include <qfile.h> -#ifdef QWS #include <qwindowsystem_qws.h> -#endif #include <qdialog.h> #include <unistd.h> //for sleep #include "passwordbase_p.h" class PasswordDialog : public PasswordBase { Q_OBJECT public: PasswordDialog( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); ~PasswordDialog(); void clear(); void setPrompt( const QString& ); signals: void passwordEntered( const QString& ); protected: bool eventFilter( QObject*, QEvent* ); void keyPressEvent( QKeyEvent * ); private: void input( QString ); friend class Password; QString text; }; extern "C" char *crypt(const char *key, const char *salt); static QString qcrypt(const QString& k, const char *salt) { return QString::fromUtf8(crypt(k.utf8(),salt)); } /* * Constructs a PasswordDialog which is a child of 'parent', with the * name 'name' and widget flags set to 'f' */ PasswordDialog::PasswordDialog( QWidget* parent, const char* name, WFlags fl ) : PasswordBase( parent, name, fl ) { QRect desk = qApp->desktop()->geometry(); if ( desk.width() < 220 ) { QFont f( font() ); f.setPointSize( 18 ); setFont( f ); f.setPointSize( 12 ); prompt->setFont( f ); } button_0->installEventFilter( this ); button_1->installEventFilter( this ); button_2->installEventFilter( this ); button_3->installEventFilter( this ); button_4->installEventFilter( this ); button_5->installEventFilter( this ); button_6->installEventFilter( this ); button_7->installEventFilter( this ); button_8->installEventFilter( this ); button_9->installEventFilter( this ); button_OK->installEventFilter( this ); setFocus(); } /* * Destroys the object and frees any allocated resources */ PasswordDialog::~PasswordDialog() { // no need to delete child widgets, Qt does it all for us } /*! \reimp */ bool PasswordDialog::eventFilter( QObject*o, QEvent*e ) { if ( e->type() == QEvent::MouseButtonRelease ) { if ( o == button_OK ) { emit passwordEntered( text ); } else { QLabel *l = (QLabel*)o; input(l->text()); } } return FALSE; } /*! \reimp */ void PasswordDialog::keyPressEvent( QKeyEvent * ) { #if 0 if ( e->key() == Key_Enter || e->key() == Key_Return ) emit passwordEntered( text ); else input( e->text() ); #endif } /*! */ void PasswordDialog::input( QString c ) { text += c; display->setText( text ); } /*! */ void PasswordDialog::setPrompt( const QString& s ) { prompt->setText( s ); } void PasswordDialog::clear() { text = ""; input(""); } class PasswdDlg : public QDialog { public: PasswdDlg( QWidget *parent, const char * name, bool modal, bool fullscreen = FALSE ) : QDialog( parent, name, modal, fullscreen ? WStyle_NoBorder | WStyle_Customize | WStyle_StaysOnTop : 0 ), modl(modal) { passw = new PasswordDialog( this ); if ( fullscreen ) { QRect desk = qApp->desktop()->geometry(); setGeometry( 0, 0, desk.width(), desk.height() ); } connect( passw, SIGNAL(passwordEntered(const QString&)), this, SLOT(accept()) ); } void resizeEvent( QResizeEvent * ) { passw->resize( size() ); } void reset() { passw->clear(); } void execNonModal() { if ( !modl ) { reset(); showFullScreen(); do { qApp->enter_loop(); } while (result()!=1); } } void accept() { if ( !modl ) qApp->exit_loop(); QDialog::accept(); } PasswordDialog *passw; bool modl; }; class OwnerDlg : public QDialog { public: OwnerDlg( QWidget *parent, const char * name, Contact c, bool modal, bool fullscreen = FALSE ) |