[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