summaryrefslogtreecommitdiff
path: root/ui/osx_dock.mm
diff options
context:
space:
mode:
Diffstat (limited to 'ui/osx_dock.mm')
-rw-r--r--ui/osx_dock.mm35
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
+ */
+ }
+}
bgstack15