Merge branch 'ManuelBlanc-dev-osx' into dev
commit
6c87144ae8
|
@ -289,12 +289,8 @@ endif()
|
||||||
##
|
##
|
||||||
# Clipboard support needs X11 libraries
|
# Clipboard support needs X11 libraries
|
||||||
##
|
##
|
||||||
if(PLATFORM_GNU OR PLATFORM_MACOSX)
|
if(PLATFORM_GNU)
|
||||||
find_package(X11 REQUIRED)
|
find_package(X11 REQUIRED)
|
||||||
if(PLATFORM_MACOSX)
|
|
||||||
# Add the includes for X11
|
|
||||||
include_directories("/opt/X11/include")
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,9 @@ add_definitions(-DLIB_COMPILE=1)
|
||||||
|
|
||||||
if(PLATFORM_WINDOWS)
|
if(PLATFORM_WINDOWS)
|
||||||
set(CLIPBOARD_SRC src/clipboardWin32.c)
|
set(CLIPBOARD_SRC src/clipboardWin32.c)
|
||||||
|
elseif(PLATFORM_MACOSX)
|
||||||
|
set(CMAKE_CXX_FLAGS "-fobjc-arc")
|
||||||
|
set(CLIPBOARD_SRC src/clipboardOSX.m)
|
||||||
else()
|
else()
|
||||||
set(CLIPBOARD_SRC src/clipboardX11.c)
|
set(CLIPBOARD_SRC src/clipboardX11.c)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include <AppKit/AppKit.h>
|
||||||
|
|
||||||
|
char *widgetGetClipboardText()
|
||||||
|
{
|
||||||
|
NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];
|
||||||
|
NSString *myString = [pasteboard stringForType:NSPasteboardTypeString];
|
||||||
|
|
||||||
|
if (myString == nil || [myString length] == 0) return NULL;
|
||||||
|
|
||||||
|
return strdup([myString UTF8String]);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool widgetSetClipboardText(const char *text)
|
||||||
|
{
|
||||||
|
NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];
|
||||||
|
[pasteboard clearContents];
|
||||||
|
|
||||||
|
NSString *stringFromUTFString = [[NSString alloc] initWithUTF8String:text];
|
||||||
|
return [pasteboard setString:stringFromUTFString forType:NSStringPboardType];
|
||||||
|
}
|
|
@ -45,7 +45,8 @@ elseif(PLATFORM_LINUX)
|
||||||
set(PLATFORM_LIBS "-lrt -lX11")
|
set(PLATFORM_LIBS "-lrt -lX11")
|
||||||
elseif(PLATFORM_MACOSX)
|
elseif(PLATFORM_MACOSX)
|
||||||
find_library(LIBINTL_LIBRARY NAMES intl libintl)
|
find_library(LIBINTL_LIBRARY NAMES intl libintl)
|
||||||
set(PLATFORM_LIBS ${LIBINTL_LIBRARY} ${X11_X11_LIB})
|
find_path(LIBINTL_INCLUDE_PATH NAMES libintl.h)
|
||||||
|
set(PLATFORM_LIBS ${LIBINTL_LIBRARY})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
@ -256,6 +257,7 @@ set(SYSTEM_INCLUDES
|
||||||
${LOCALENAME_INCLUDE_DIR}
|
${LOCALENAME_INCLUDE_DIR}
|
||||||
${CLIPBOARD_INCLUDE_DIR}
|
${CLIPBOARD_INCLUDE_DIR}
|
||||||
${PHYSFS_INCLUDE_PATH}
|
${PHYSFS_INCLUDE_PATH}
|
||||||
|
${LIBINTL_INCLUDE_PATH}
|
||||||
${OPTIONAL_INCLUDES}
|
${OPTIONAL_INCLUDES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
#include "clipboard/clipboard.h"
|
#include "clipboard/clipboard.h"
|
||||||
|
|
||||||
|
#include "common/config.h"
|
||||||
#include "common/pathman.h"
|
#include "common/pathman.h"
|
||||||
#include "common/resources/inputstream.h"
|
#include "common/resources/inputstream.h"
|
||||||
#include "common/resources/outputstream.h"
|
#include "common/resources/outputstream.h"
|
||||||
|
@ -303,7 +304,11 @@ bool CEdit::EventProcess(const Event &event)
|
||||||
if (event.type == EVENT_KEY_DOWN)
|
if (event.type == EVENT_KEY_DOWN)
|
||||||
{
|
{
|
||||||
bShift = ( (event.kmodState & KEY_MOD(SHIFT) ) != 0 );
|
bShift = ( (event.kmodState & KEY_MOD(SHIFT) ) != 0 );
|
||||||
|
#if PLATFORM_MACOSX
|
||||||
|
bControl = ( (event.kmodState & KEY_MOD(META) ) != 0);
|
||||||
|
#else
|
||||||
bControl = ( (event.kmodState & KEY_MOD(CTRL) ) != 0);
|
bControl = ( (event.kmodState & KEY_MOD(CTRL) ) != 0);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( event.type == EVENT_KEY_DOWN && m_bFocus )
|
if ( event.type == EVENT_KEY_DOWN && m_bFocus )
|
||||||
|
|
Loading…
Reference in New Issue