MainWindow::MainWindow( QWidget * parent ) : QWidget( parent ),m_ui( new Ui::MainWindow ),m_handle( nullptr ) { m_ui->setupUi( this ) ; this->setFixedSize( this->size() ) ; m_ui->lineEditKey->setEchoMode( QLineEdit::Password ) ; this->setWindowIcon( QIcon( ":/default.png" ) ) ; //m_ui->pbKeyFile->setIcon( QIcon( QString( ":/default.png" ) ) ); connect( m_ui->pbCancel,SIGNAL( clicked() ),this,SLOT( pbCancel() ) ) ; connect( m_ui->pbOpen,SIGNAL( clicked() ),this,SLOT( pbOpen() ) ) ; connect( m_ui->pbKeyFile,SIGNAL( clicked() ),this,SLOT( pbKeyFile() ) ) ; m_ui->lineEditKey->setFocus() ; m_working = false ; m_requireKey = false ; m_requireKeyFile = true ; 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 ) ; m_findExecutable = []( QVector<QString>& exe ){ if( exe.isEmpty() ){ return QString() ; } QString e ; for( auto& it : exe ){ auto _not_found = [&]( const char * path ){ e = path + it ; bool r = QFile::exists( e ) ; if( r ){ it = e ; } return r == false ; } ; if( _not_found( "/usr/local/bin/" ) ){ if( _not_found( "/usr/bin/" ) ){ if( _not_found( "/usr/sbin/" ) ){ return it ; } } } } return QString() ; } ; }
openvolume::openvolume( QWidget * parent ) : QDialog( parent ),m_ui( new Ui::openvolume() ) { m_ui->setupUi( this ) ; this->setFixedSize( this->size() ) ; this->setFont( parent->font() ) ; connect( m_ui->tableWidget,SIGNAL( itemDoubleClicked( QTableWidgetItem * ) ), this,SLOT( tableEntryDoubleClicked( QTableWidgetItem * ) ) ) ; connect( m_ui->tableWidget,SIGNAL( currentItemChanged( QTableWidgetItem *,QTableWidgetItem * ) ), this,SLOT( currentItemChanged( QTableWidgetItem *,QTableWidgetItem * ) ) ) ; connect( m_ui->pbHelp,SIGNAL( clicked() ),this,SLOT( pbHelp() ) ) ; connect( m_ui->pbUUID,SIGNAL( clicked() ),this,SLOT( pbUUID() ) ) ; connect( m_ui->pbCancel,SIGNAL( clicked() ),this,SLOT( pbCancel() ) ) ; connect( m_ui->pbOpen,SIGNAL( clicked() ),this,SLOT( pbOpen() ) ) ; this->addAction( [ this ](){ auto ac = new QAction( this ) ; ac->setShortcuts( { Qt::Key_Enter,Qt::Key_Return } ) ; connect( ac,SIGNAL( triggered() ),this,SLOT( EnterKeyPressed() ) ) ; return ac ; }() ) ; auto tw = m_ui->tableWidget ; tw->setColumnWidth( 0,183 ) ; tw->setColumnWidth( 1,90 ) ; //tw->setColumnWidth( 2,110 ) ; tw->hideColumn( 2 ) ; tw->setColumnWidth( 3,90 ) ; tw->setColumnWidth( 4,309 ) ; for( int i = 0 ; i < 5 ; i++ ){ tw->horizontalHeaderItem( i )->setFont( this->font() ) ; } tw->horizontalHeader()->setVisible( true ) ; m_ui->checkBoxUUID->setVisible( false ) ; m_ui->pbHelp->setVisible( false ) ; this->installEventFilter( this ) ; this->disableAll() ; }
keyDialog::keyDialog( QWidget * parent,QTableWidget * table,const QString& path, const QString& type,const QString& folderOpener,bool autoOpenFolderOnMount ) : QDialog( parent ),m_ui(new Ui::keyDialog) { m_ui->setupUi( this ) ; m_ui->checkBoxShareMountPoint->setToolTip( utility::shareMountPointToolTip() ) ; m_table = table ; m_path = path ; m_working = false ; m_folderOpener = folderOpener ; m_autoOpenFolderOnMount = autoOpenFolderOnMount ; QString msg ; if( type == QString( "crypto_LUKS" ) ){ msg = tr( "unlock and mount a luks volume in \"%1\"").arg( m_path ) ; }else{ msg = tr( "unlock and mount an encrypted volume in \"%1\"").arg( m_path ) ; } this->setWindowTitle( msg ) ; m_ui->lineEditMountPoint->setText( path ) ; m_ui->pbkeyFile->setVisible( false ) ; m_ui->pbOpenMountPoint->setIcon( QIcon( QString( ":/folder.png" ) ) ) ; m_menu = new QMenu( this ) ; this->setFixedSize( this->size() ) ; this->setWindowFlags( Qt::Window | Qt::Dialog ) ; this->setFont( parent->font() ) ; m_ui->lineEditKey->setFocus() ; m_ui->checkBoxOpenReadOnly->setChecked( utility::getOpenVolumeReadOnlyOption( QString( "zuluMount-gui" ) ) ) ; connect( m_ui->pbCancel,SIGNAL( clicked() ),this,SLOT( pbCancel() ) ) ; connect( m_ui->pbOpen,SIGNAL( clicked() ),this,SLOT( pbOpen() ) ) ; connect( m_ui->pbkeyOption,SIGNAL( clicked() ),this,SLOT( pbkeyOption() ) ) ; connect( m_ui->rbKey,SIGNAL( toggled( bool ) ),this,SLOT( rbKey( bool ) ) ) ; connect( m_ui->rbKeyFile,SIGNAL( toggled( bool ) ),this,SLOT( rbKeyFile( bool ) ) ) ; connect( m_ui->rbPlugIn,SIGNAL( toggled( bool ) ),this,SLOT( rbPlugIn( bool ) ) ) ; connect( m_ui->lineEditKey,SIGNAL( textChanged( QString ) ),this,SLOT( keyTextChanged( QString ) ) ) ; connect( m_ui->pbOpenMountPoint,SIGNAL( clicked() ),this,SLOT( pbMountPointPath() ) ) ; connect( m_ui->checkBoxOpenReadOnly,SIGNAL( stateChanged( int ) ),this,SLOT( cbMountReadOnlyStateChanged( int ) ) ) ; m_ui->rbKey->setChecked( true ) ; m_ui->pbOpenMountPoint->setVisible( false ) ; m_point = m_path.split( "/" ).last() ; m_ui->lineEditMountPoint->setText( m_point ) ; }
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() ; }
keyDialog::keyDialog( QWidget * parent,QTableWidget * table,const volumeEntryProperties& e,std::function< void() > p,std::function< void( const QString& ) > q ) : QDialog( parent ),m_ui( new Ui::keyDialog ),m_cancel( std::move( p ) ),m_success( std::move( q ) ) { m_ui->setupUi( this ) ; m_ui->checkBoxShareMountPoint->setToolTip( utility::shareMountPointToolTip() ) ; m_table = table ; m_path = e.volumeName() ; m_working = false ; m_volumeIsEncFs = e.fileSystem() == "encfs" ; QString msg ; if( e.fileSystem() == "crypto_LUKS" ){ msg = tr( "Mount A LUKS volume in \"%1\"").arg( m_path ) ; }else{ msg = tr( "Mount An Encrypted Volume In \"%1\"").arg( m_path ) ; } this->setWindowTitle( msg ) ; m_ui->lineEditMountPoint->setText( m_path ) ; m_ui->pbOpenMountPoint->setIcon( QIcon( ":/folder.png" ) ) ; m_menu = new QMenu( this ) ; connect( m_menu,SIGNAL( triggered( QAction * ) ),this,SLOT( pbPluginEntryClicked( QAction * ) ) ) ; this->setFixedSize( this->size() ) ; this->setWindowFlags( Qt::Window | Qt::Dialog ) ; this->setFont( parent->font() ) ; m_ui->lineEditKey->setFocus() ; m_ui->checkBoxOpenReadOnly->setChecked( utility::getOpenVolumeReadOnlyOption( "zuluMount-gui" ) ) ; m_ui->pbkeyOption->setEnabled( false ) ; m_ui->lineEditKey->setEchoMode( QLineEdit::Password ) ; connect( m_ui->pbOptions,SIGNAL( clicked() ),this,SLOT( pbOptions() ) ) ; connect( m_ui->pbCancel,SIGNAL( clicked() ),this,SLOT( pbCancel() ) ) ; connect( m_ui->pbOpen,SIGNAL( clicked() ),this,SLOT( pbOpen() ) ) ; connect( m_ui->pbkeyOption,SIGNAL( clicked() ),this,SLOT( pbkeyOption() ) ) ; connect( m_ui->pbOpenMountPoint,SIGNAL( clicked() ),this,SLOT( pbMountPointPath() ) ) ; connect( m_ui->checkBoxOpenReadOnly,SIGNAL( stateChanged( int ) ),this,SLOT( cbMountReadOnlyStateChanged( int ) ) ) ; connect( m_ui->cbKeyType,SIGNAL( currentIndexChanged( int ) ),this,SLOT( cbActicated( int ) ) ) ; m_ui->pbOpenMountPoint->setVisible( false ) ; m_point = utility::mountPathPostFix( m_path.split( "/" ).last() ) ; m_ui->lineEditMountPoint->setText( m_point ) ; QAction * ac = new QAction( this ) ; QKeySequence s( Qt::CTRL + Qt::Key_F ) ; ac->setShortcut( s ) ; connect( ac,SIGNAL( triggered() ),this,SLOT( showOffSetWindowOption() ) ) ; this->addAction( ac ) ; m_menu_1 = new QMenu( this ) ; auto _add_action = [ & ]( const QString& e ){ ac = m_menu_1->addAction( e ) ; ac ->setEnabled( !m_volumeIsEncFs ) ; } ; _add_action( tr( "Set File System Options" ) ) ; _add_action( tr( "Set Volume Offset" ) ) ; _add_action( tr( "Set Volume As VeraCrypt Volume" ) ) ; _add_action( tr( "Set VeraCrypt PIM value" ) ) ; m_ui->cbKeyType->addItem( tr( "Key" ) ) ; m_ui->cbKeyType->addItem( tr( "KeyFile" ) ) ; m_ui->cbKeyType->addItem( tr( "Plugin" ) ) ; if( m_volumeIsEncFs ){ m_ui->checkBoxShareMountPoint->setEnabled( false ) ; }else{ #if VERACRYPT_SUPPORT m_ui->cbKeyType->addItem( tr( "TrueCrypt/VeraCrypt Keys" ) ) ; #else m_ui->cbKeyType->addItem( tr( "TrueCrypt keys" ) ) ; #endif } connect( m_menu_1,SIGNAL( triggered( QAction * ) ),this,SLOT( doAction( QAction * ) ) ) ; m_veraCryptWarning.setWarningLabel( m_ui->veraCryptWarning ) ; this->installEventFilter( this ) ; }