mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-03 20:57:52 +02:00
set unzipped executable to executable
This commit is contained in:
@@ -44,6 +44,20 @@
|
|||||||
{
|
{
|
||||||
if ( receiver )
|
if ( receiver )
|
||||||
QMetaObject::invokeMethod(receiver, "installSucceeded", Qt::DirectConnection, Q_ARG(QString, path));
|
QMetaObject::invokeMethod(receiver, "installSucceeded", Qt::DirectConnection, Q_ARG(QString, path));
|
||||||
|
|
||||||
|
// HACK since I can't figure out how to get QuaZip to maintain executable permissions after unzip (nor find the info)
|
||||||
|
// we set the binary to executable here
|
||||||
|
|
||||||
|
NSFileManager *manager = [[[NSFileManager alloc] init] autorelease];
|
||||||
|
NSError* error;
|
||||||
|
NSDictionary* attrs = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:0755], NSFilePosixPermissions, nil];
|
||||||
|
|
||||||
|
NSString* target = [[NSString alloc] initWithBytes:path.toUtf8() length:path.length() encoding: NSUTF8StringEncoding];
|
||||||
|
NSLog(@"Changing permissions to executable for: %@", target);
|
||||||
|
BOOL success = [manager setAttributes:attrs ofItemAtPath:target error:&error];
|
||||||
|
if (!success) {
|
||||||
|
NSLog( @"Failed to do chmod +x of moved resolver! %@", [[error userInfo] objectForKey: NSLocalizedDescriptionKey] );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)moveFailedWithError:(NSError *)error
|
- (void)moveFailedWithError:(NSError *)error
|
||||||
@@ -73,7 +87,11 @@ copyWithAuthentication( const QString& srcFile, const QDir dest, QObject* receiv
|
|||||||
|
|
||||||
MoveDelegate* del = [[MoveDelegate alloc] init];
|
MoveDelegate* del = [[MoveDelegate alloc] init];
|
||||||
[del setReceiver: receiver];
|
[del setReceiver: receiver];
|
||||||
[del setMoveTo: dest.absolutePath()];
|
|
||||||
|
// Get the filename + path to save for later
|
||||||
|
QFileInfo srcInfo( srcFile );
|
||||||
|
const QString resultingPath = dest.absoluteFilePath( srcInfo.fileName() );
|
||||||
|
[del setMoveTo: resultingPath];
|
||||||
|
|
||||||
const QFileInfo info( srcFile );
|
const QFileInfo info( srcFile );
|
||||||
const QString destPath = dest.absoluteFilePath( info.fileName() );
|
const QString destPath = dest.absoluteFilePath( info.fileName() );
|
||||||
|
Reference in New Issue
Block a user