diff options
Diffstat (limited to 'ui/osx_dock.mm')
-rw-r--r-- | ui/osx_dock.mm | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ui/osx_dock.mm b/ui/osx_dock.mm new file mode 100644 index 00000000..5ac6d154 --- /dev/null +++ b/ui/osx_dock.mm @@ -0,0 +1,35 @@ +// ************************************************************************** +// * This file is part of the FreeFileSync project. It is distributed under * +// * GNU General Public License: http://www.gnu.org/licenses/gpl.html * +// * Copyright (C) Zenju (zenju AT gmx DOT de) - All Rights Reserved * +// ************************************************************************** + +#include "osx_dock.h" +#import <Cocoa/Cocoa.h> + + +void osx::dockIconSetText(const char* str) +{ + @try + { + NSString* label = [NSString stringWithCString:str encoding:NSUTF8StringEncoding]; + [[NSApp dockTile] setBadgeLabel:label]; + } + @catch (NSException* e) + { + std::string msg; + if (const char* name = [[e name ] cStringUsingEncoding:NSUTF8StringEncoding]) + msg += name; + if (const char* descr = [[e reason] cStringUsingEncoding:NSUTF8StringEncoding]) + { + msg += "\n"; + msg += descr; + } + throw OsxError(msg); + /* + e.g. + NSInvalidArgumentException + *** +[NSString stringWithCString:encoding:]: NULL cString + */ + } +} |