Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
KDE:KDE3
kdeutils3
kdeutils-3.5.8-alt-create-password-zip-rar-7zip...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File kdeutils-3.5.8-alt-create-password-zip-rar-7zip.patch of Package kdeutils3
--- kdeutils-3.5.8/ark/ark.kcfg~ 2005-09-10 12:21:35 +0400 +++ kdeutils-3.5.8/ark/ark.kcfg 2007-11-15 16:29:05 +0300 @@ -18,6 +18,11 @@ <whatsthis>Overwrite any files that have matching names on disk with the one from the archive</whatsthis> <default>false</default> </entry> + <entry name="askCreatePassword" type="Bool"> + <label>Ask for password when create archive if possible</label> + <whatsthis>Ask for password when create archive if possible</whatsthis> + <default>true</default> + </entry> </group> <group name="Tar"> <entry name="preservePerms" type="Bool"> --- kdeutils-3.5.8/ark/addition.ui~ 2005-09-10 12:21:35 +0400 +++ kdeutils-3.5.8/ark/addition.ui 2007-11-15 16:31:35 +0300 @@ -16,6 +16,15 @@ <property name="name"> <cstring>unnamed</cstring> </property> + + <widget class="QCheckBox"> + <property name="name"> + <cstring>kcfg_askCreatePassword</cstring> + </property> + <property name="text"> + <string>Ask for &password when create archive if possible</string> + </property> + </widget> <widget class="QCheckBox"> <property name="name"> <cstring>kcfg_replaceOnlyWithNewer</cstring> --- kdeutils-3.5.8~/ark/arch.h 2007-11-02 14:06:05 +0300 +++ kdeutils-3.5.8/ark/arch.h 2007-11-02 14:08:34 +0300 @@ -149,6 +149,9 @@ class Arch : public QObject static Arch *archFactory( ArchType aType, ArkWidget *parent, const QString &filename, const QString &openAsMimeType = QString::null ); + QString password() { return m_password; } + void setPassword(const QString & pw) { m_password = pw.local8Bit(); } + virtual void createPassword() {} protected slots: void slotOpenExited( KProcess* ); --- kdeutils-3.5.8~/ark/arkwidget.cpp 2007-11-02 14:06:05 +0300 +++ kdeutils-3.5.8/ark/arkwidget.cpp 2007-11-02 14:08:34 +0300 @@ -732,7 +732,10 @@ ArkWidget::file_open(const KURL& url) m_url = url; //arch->clearShellOutput(); - openArchive( strFile ); + if( url.hasPass() ) + openArchive( strFile, url.pass() ); + else + openArchive( strFile ); } @@ -1177,6 +1180,8 @@ ArkWidget::slotAddDone(bool _bSuccess) //simulate reload KURL u; u.setPath( arch->fileName() ); + if( !arch->password().isEmpty() ) + u.setPass( arch->password() ); file_close(); file_open( u ); emit setWindowCaption( u.path() ); @@ -2095,6 +2100,7 @@ ArkWidget::slotCreate(Arch * _newarch, b m_bIsSimpleCompressedFile = (m_archType == COMPRESSED_FORMAT); fixEnables(); + arch->createPassword(); } else { @@ -2108,7 +2114,7 @@ ArkWidget::slotCreate(Arch * _newarch, b ////////////////////////////////////////////////////////////////////// void -ArkWidget::openArchive( const QString & _filename ) +ArkWidget::openArchive( const QString & _filename, const QString & _password ) { Arch *newArch = 0; ArchType archtype; @@ -2165,6 +2171,7 @@ ArkWidget::openArchive( const QString & busy( i18n( "Opening the archive..." ) ); m_fileListView->setUpdatesEnabled( false ); arch = newArch; + newArch->setPassword(_password); newArch->open(); emit addRecentURL( m_url ); } --- kdeutils-3.5.8~/ark/arkwidget.h 2007-11-02 14:06:05 +0300 +++ kdeutils-3.5.8/ark/arkwidget.h 2007-11-02 14:08:34 +0300 @@ -234,7 +234,7 @@ protected: void createFileListView(); bool createArchive(const QString & name); - void openArchive(const QString & name); + void openArchive(const QString & name, const QString & pass = ""); void showCurrentFile(); --- kdeutils-3.5.8~/ark/rar.cpp 2007-11-02 14:06:05 +0300 +++ kdeutils-3.5.8/ark/rar.cpp 2007-11-02 14:08:34 +0300 @@ -163,6 +163,12 @@ void RarArch::create() Arch::Extract | Arch::Delete | Arch::Add | Arch::View ); } +void RarArch::createPassword() +{ + if( m_password.isEmpty() && ArkSettings::askCreatePassword() ) + KPasswordDialog::getNewPassword( m_password, i18n("Warning!\nUsing KGpg for encryption is more secure.\nCancel this dialog or enter password for %1 archiver:").arg(m_archiver_program) ); +} + void RarArch::addDir( const QString & _dirName ) { if ( !_dirName.isEmpty() ) @@ -190,6 +196,9 @@ void RarArch::addFile( const QStringList if ( ArkSettings::rarRecurseSubdirs() ) *kp << "-r"; + if ( !m_password.isEmpty() ) + *kp << "-p"+m_password; + *kp << m_filename; KURL dir( urls.first() ); --- kdeutils-3.5.8~/ark/rar.h 2007-11-02 14:06:05 +0300 +++ kdeutils-3.5.8/ark/rar.h 2007-11-02 14:08:34 +0300 @@ -48,6 +48,7 @@ class RarArch : public Arch virtual void remove( QStringList * ); virtual void unarchFileInternal(); virtual bool passwordRequired(); + virtual void createPassword(); protected slots: virtual bool processLine( const QCString & ); --- kdeutils-3.5.8~/ark/sevenzip.cpp 2007-11-02 14:06:05 +0300 +++ kdeutils-3.5.8/ark/sevenzip.cpp 2007-11-02 14:08:52 +0300 @@ -120,6 +120,12 @@ void SevenZipArch::create() Arch::Extract | Arch::Delete | Arch::Add | Arch::View ); } +void SevenZipArch::createPassword() +{ + if( m_password.isEmpty() && ArkSettings::askCreatePassword() ) + KPasswordDialog::getNewPassword( m_password, i18n("Warning!\nUsing KGpg for encryption is more secure.\nCancel this dialog or enter password for %1 archiver:").arg(m_archiver_program) ); +} + void SevenZipArch::addFile( const QStringList & urls ) { KProcess *kp = m_currentProcess = new KProcess; @@ -127,6 +133,9 @@ void SevenZipArch::addFile( const QStrin kp->clearArguments(); *kp << m_archiver_program << "a" ; + if ( !m_password.isEmpty() ) + *kp << "-p" + m_password; + KURL url( urls.first() ); QDir::setCurrent( url.directory() ); @@ -163,6 +172,11 @@ void SevenZipArch::addDir( const QString } } +bool SevenZipArch::passwordRequired() +{ + return m_lastShellOutput.find("Enter password") >= 0; +} + void SevenZipArch::remove( QStringList *list ) { if ( !list ) @@ -212,6 +226,9 @@ void SevenZipArch::unarchFileInternal( ) //*kp << "-ao"; } + if ( !m_password.isEmpty() ) + *kp << "-p" + m_password; + *kp << m_filename; // if the file list is empty, no filenames go on the command line, bool SevenZipArch::processLine( const QCString& _line ) { QCString line( _line ); --- kdeutils-3.5.8~/ark/sevenzip.h 2007-11-02 14:06:05 +0300 +++ kdeutils-3.5.8/ark/sevenzip.h 2007-11-02 14:08:34 +0300 @@ -41,7 +41,9 @@ class SevenZipArch : public Arch virtual void remove( QStringList * ); virtual void unarchFileInternal( ); + virtual bool passwordRequired(); + virtual void createPassword(); protected slots: virtual bool processLine( const QCString& line ); virtual void slotReceivedTOC( KProcess*, char*, int ); --- kdeutils-3.5.8~/ark/zip.cpp 2007-11-02 14:06:05 +0300 +++ kdeutils-3.5.8/ark/zip.cpp 2007-11-02 14:08:34 +0300 @@ -35,6 +35,7 @@ #include <klocale.h> #include <kmessagebox.h> #include <kprocess.h> +#include <kpassdlg.h> // ark includes #include "zip.h" @@ -115,6 +116,12 @@ void ZipArch::create() Arch::Extract | Arch::Delete | Arch::Add | Arch::View ); } +void ZipArch::createPassword() +{ + if( m_password.isEmpty() && ArkSettings::askCreatePassword() ) + KPasswordDialog::getNewPassword( m_password, i18n("Warning!\nUsing KGpg for encryption is more secure.\nCancel this dialog or enter password for %1 archiver:").arg(m_archiver_program) ); +} + void ZipArch::addDir( const QString & _dirName ) { if ( !_dirName.isEmpty() ) --- kdeutils-3.5.8~/ark/zip.h 2007-11-02 14:06:05 +0300 +++ kdeutils-3.5.8/ark/zip.h 2007-11-02 14:08:34 +0300 @@ -51,6 +51,7 @@ class ZipArch : public Arch virtual void remove( QStringList * ); virtual void unarchFileInternal(); virtual bool passwordRequired(); + virtual void createPassword(); private: void setHeaders(); };
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor