summaryrefslogtreecommitdiffstats
path: root/ark/rar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ark/rar.cpp')
-rw-r--r--ark/rar.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/ark/rar.cpp b/ark/rar.cpp
index 592ffe2..742df1c 100644
--- a/ark/rar.cpp
+++ b/ark/rar.cpp
@@ -55,6 +55,8 @@ RarArch::RarArch( ArkWidget *_gui, const QString & _fileName )
{
// Check if rar is available
bool have_rar = !KGlobal::dirs()->findExe( "rar" ).isNull();
+ bool have_unrar = !KGlobal::dirs()->findExe( "unrar" ).isNull();
+ bool have_unrar_free = !KGlobal::dirs()->findExe( "unrar-free" ).isNull();
if ( have_rar )
{
@@ -63,13 +65,20 @@ RarArch::RarArch( ArkWidget *_gui, const QString & _fileName )
verifyCompressUtilityIsAvailable( m_archiver_program );
verifyUncompressUtilityIsAvailable( m_unarchiver_program );
}
- else
+ else if (have_unrar)
{
// If rar is not available, try to use unrar to open the archive read-only
m_unarchiver_program = "unrar";
verifyUncompressUtilityIsAvailable( m_unarchiver_program );
setReadOnly( true );
}
+ else
+ {
+ // If rar is not available, try to use unrar to open the archive read-only
+ m_unarchiver_program = "unrar-free";
+ verifyUncompressUtilityIsAvailable( m_unarchiver_program );
+ setReadOnly( true );
+ }