1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
/*
*
* Copyright (c) 2012-2015
* name : Francis Banyikwa
* email: mhogomchungu@gmail.com
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "../../zuluCrypt-cli/pluginManager/libzuluCryptPluginManager.h"
MainWindow::MainWindow( QWidget * parent ) : QWidget( parent ),m_ui( new Ui::MainWindow )
{
m_ui->setupUi( this ) ;
this->setFixedSize( this->size() ) ;
m_ui->lineEditKey->setEchoMode( QLineEdit::Password ) ;
this->setWindowIcon( QIcon( ":/key.png" ) ) ;
QAction * ac = new QAction( this ) ;
QList<QKeySequence> keys ;
keys.append( Qt::Key_Enter ) ;
keys.append( Qt::Key_Return ) ;
ac->setShortcuts( keys ) ;
connect( ac,SIGNAL( triggered() ),this,SLOT( defaultButton() ) ) ;
this->addAction( ac ) ;
connect( m_ui->pbCancel,SIGNAL( clicked() ),this,SLOT( pbCancel() ) ) ;
connect( m_ui->pbOpen,SIGNAL( clicked() ),this,SLOT( pbOpen() ) ) ;
this->SetFocus() ;
}
void MainWindow::defaultButton()
{
if( m_ui->pbCancel->hasFocus() ){
this->pbCancel() ;
}else{
this->pbOpen() ;
}
}
void MainWindow::setToken( char * const * e )
{
m_token = *( e + 3 ) ;
m_handle = zuluCryptPluginManagerOpenConnection( m_token.toLatin1().constData() ) ;
}
void MainWindow::SetFocus()
{
if( m_ui->lineEditKey->text().isEmpty() ){
m_ui->lineEditKey->setFocus() ;
}else{
m_ui->pbOpen->setFocus() ;
}
}
void MainWindow::closeEvent( QCloseEvent * e )
{
e->ignore() ;
this->pbCancel() ;
}
void MainWindow::pbCancel()
{
m_handle = zuluCryptPluginManagerOpenConnection( m_token.toLatin1().constData() ) ;
QCoreApplication::exit( 1 ) ;
}
void MainWindow::done()
{
this->hide() ;
QCoreApplication::exit() ;
}
void MainWindow::pbOpen()
{
QByteArray key = m_ui->lineEditKey->text().toLatin1() ;
zuluCryptPluginManagerSendKey( m_handle,key.constData(),key.size() ) ;
this->done() ;
}
MainWindow::~MainWindow()
{
zuluCryptPluginManagerCloseConnection( m_handle ) ;
delete m_ui ;
}
|