[Scummvm-cvs-logs] scummvm master -> efc374fc432abb93a57a303fb45d430e7df667be

fuzzie fuzzie at fuzzie.org
Sun May 26 21:05:46 CEST 2013


This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
f1d59de3d5 OSX: Allow user to display hidden files in the browser dialog
fa7f1adf03 OSX: Fix memory leaks
efc374fc43 Merge pull request #307 from criezy/filebrowser-hidden-osx


Commit: f1d59de3d51cf292623474d204dd5060f873d79c
    https://github.com/scummvm/scummvm/commit/f1d59de3d51cf292623474d204dd5060f873d79c
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2013-03-17T11:14:21-07:00

Commit Message:
OSX: Allow user to display hidden files in the browser dialog

Changed paths:
    gui/browser.h
    gui/browser_osx.mm



diff --git a/gui/browser.h b/gui/browser.h
index 7c09861..b82fe51 100644
--- a/gui/browser.h
+++ b/gui/browser.h
@@ -51,6 +51,7 @@ protected:
 #ifdef MACOSX
 	const void *_titleRef;
 	const void *_chooseRef;
+	const void *_hiddenFilesRef;
 #else
 	ListWidget		*_fileList;
 	StaticTextWidget	*_currentPath;
diff --git a/gui/browser_osx.mm b/gui/browser_osx.mm
index ecd6091..d0bbfd5 100644
--- a/gui/browser_osx.mm
+++ b/gui/browser_osx.mm
@@ -31,9 +31,53 @@
 #include "common/translation.h"
 
 #include <AppKit/NSOpenPanel.h>
+#include <AppKit/NSButton.h>
 #include <Foundation/NSString.h>
 #include <Foundation/NSURL.h>
 
+ at interface ShowHiddenFilesControler : NSObject {
+	NSOpenPanel* _panel;
+}
+
+- (id) init;
+- (void) dealloc;
+- (void) setOpenPanel : (NSOpenPanel*) panel;
+- (IBAction) showHiddenFiles : (id) sender;
+
+ at end
+
+ at implementation ShowHiddenFilesControler
+
+- (id) init {
+	self = [super init];
+	_panel = 0;
+	
+	return self;
+}
+
+- (void) dealloc {
+	[_panel release];
+	[super dealloc];
+}
+
+- (void) setOpenPanel : (NSOpenPanel*) panel {
+	_panel = panel;
+	[_panel retain];
+}
+
+
+- (IBAction) showHiddenFiles : (id) sender {
+	if ([sender state] == NSOnState) {
+		[_panel setShowsHiddenFiles: YES];
+		ConfMan.setBool("gui_browser_show_hidden", true, Common::ConfigManager::kApplicationDomain);
+	} else {
+		[_panel setShowsHiddenFiles: NO];
+		ConfMan.setBool("gui_browser_show_hidden", false, Common::ConfigManager::kApplicationDomain);
+	}
+}
+
+ at end
+
 namespace GUI {
 
 BrowserDialog::BrowserDialog(const char *title, bool dirBrowser)
@@ -56,11 +100,13 @@ BrowserDialog::BrowserDialog(const char *title, bool dirBrowser)
 
 	// Convert button text to NSString
 	_chooseRef = CFStringCreateWithCString(0, _("Choose"), stringEncoding);
+	_hiddenFilesRef = CFStringCreateWithCString(0, _("Show hidden files"), stringEncoding);
 }
 
 BrowserDialog::~BrowserDialog() {
 	CFRelease(_titleRef);
 	CFRelease(_chooseRef);
+	CFRelease(_hiddenFilesRef);
 }
 
 int BrowserDialog::runModal() {
@@ -82,6 +128,31 @@ int BrowserDialog::runModal() {
 	[panel setCanChooseDirectories:_isDirBrowser];
 	[panel setTitle:(NSString *)_titleRef];
 	[panel setPrompt:(NSString *)_chooseRef];
+
+	NSButton *shoHiddenFilesButton = 0;
+	ShowHiddenFilesControler *shoHiddenFilesControler = 0;
+	if ([panel respondsToSelector:@selector(setShowsHiddenFiles:)]) {
+		shoHiddenFilesButton = [[NSButton alloc] init];
+		[shoHiddenFilesButton retain];
+		[shoHiddenFilesButton setButtonType:NSSwitchButton];
+		[shoHiddenFilesButton setTitle:(NSString *)_hiddenFilesRef];
+		[shoHiddenFilesButton sizeToFit];
+		if (ConfMan.getBool("gui_browser_show_hidden", Common::ConfigManager::kApplicationDomain)) {
+			[shoHiddenFilesButton setState:NSOnState];
+			[panel setShowsHiddenFiles: YES];
+		} else {
+			[shoHiddenFilesButton setState:NSOffState];
+			[panel setShowsHiddenFiles: NO];
+		}
+		[panel setAccessoryView:shoHiddenFilesButton];
+
+		shoHiddenFilesControler = [[ShowHiddenFilesControler alloc] init];
+		[shoHiddenFilesControler retain];
+		[shoHiddenFilesControler setOpenPanel:panel];
+		[shoHiddenFilesButton setTarget:shoHiddenFilesControler];
+		[shoHiddenFilesButton setAction:@selector(showHiddenFiles:)];
+	}
+
 	if ([panel runModal] == NSOKButton) {
 		NSURL *url = [panel URL];
 		if ([url isFileURL]) {
@@ -91,6 +162,11 @@ int BrowserDialog::runModal() {
 		}
 	}
 
+	if (shoHiddenFilesButton != 0)
+		[shoHiddenFilesButton release];
+	if (shoHiddenFilesControler != 0)
+		[shoHiddenFilesControler release];
+
 	// If we were in fullscreen mode, switch back
 	if (wasFullscreen) {
 		g_system->beginGFXTransaction();


Commit: fa7f1adf03cfea062a96976e6a1dfc25ab151278
    https://github.com/scummvm/scummvm/commit/fa7f1adf03cfea062a96976e6a1dfc25ab151278
Author: Thierry Crozat (criezy at scummvm.org)
Date: 2013-04-09T14:52:14-07:00

Commit Message:
OSX: Fix memory leaks

Changed paths:
    gui/browser_osx.mm



diff --git a/gui/browser_osx.mm b/gui/browser_osx.mm
index d0bbfd5..9752186 100644
--- a/gui/browser_osx.mm
+++ b/gui/browser_osx.mm
@@ -133,7 +133,6 @@ int BrowserDialog::runModal() {
 	ShowHiddenFilesControler *shoHiddenFilesControler = 0;
 	if ([panel respondsToSelector:@selector(setShowsHiddenFiles:)]) {
 		shoHiddenFilesButton = [[NSButton alloc] init];
-		[shoHiddenFilesButton retain];
 		[shoHiddenFilesButton setButtonType:NSSwitchButton];
 		[shoHiddenFilesButton setTitle:(NSString *)_hiddenFilesRef];
 		[shoHiddenFilesButton sizeToFit];
@@ -147,7 +146,6 @@ int BrowserDialog::runModal() {
 		[panel setAccessoryView:shoHiddenFilesButton];
 
 		shoHiddenFilesControler = [[ShowHiddenFilesControler alloc] init];
-		[shoHiddenFilesControler retain];
 		[shoHiddenFilesControler setOpenPanel:panel];
 		[shoHiddenFilesButton setTarget:shoHiddenFilesControler];
 		[shoHiddenFilesButton setAction:@selector(showHiddenFiles:)];
@@ -162,10 +160,8 @@ int BrowserDialog::runModal() {
 		}
 	}
 
-	if (shoHiddenFilesButton != 0)
-		[shoHiddenFilesButton release];
-	if (shoHiddenFilesControler != 0)
-		[shoHiddenFilesControler release];
+	[shoHiddenFilesButton release];
+	[shoHiddenFilesControler release];
 
 	// If we were in fullscreen mode, switch back
 	if (wasFullscreen) {


Commit: efc374fc432abb93a57a303fb45d430e7df667be
    https://github.com/scummvm/scummvm/commit/efc374fc432abb93a57a303fb45d430e7df667be
Author: Alyssa Milburn (fuzzie at fuzzie.org)
Date: 2013-05-26T12:04:52-07:00

Commit Message:
Merge pull request #307 from criezy/filebrowser-hidden-osx

OSX: Allow user to display hidden files in the browser dialog.

Changed paths:
    gui/browser.h
    gui/browser_osx.mm









More information about the Scummvm-git-logs mailing list