/*
* xoptions.c -- Move list window, part of X front end for XBoard
*
- * Copyright 2000, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+ * Copyright 2000, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
* ------------------------------------------------------------------------
*
* GNU XBoard is free software: you can redistribute it and/or modify
#include <cairo/cairo-xlib.h>
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
-#ifdef OSX
-# include "gtkmacintegration/gtkosxapplication.h"
+#ifdef __APPLE__
+# include <gtkmacintegration/gtkosxapplication.h>
#endif
#include "common.h"
{
char *msg = mb[i].string;
if(!msg) break;
-#ifdef OSX
+#ifdef __APPLE__
if(!strcmp(msg, "Quit ")) continue; // Quit item will appear automatically in App menu
if(!strcmp(msg, "About XBoard")) msg = "About"; // 'XBoard' will be appended automatically when moved to App menu 1st item
#endif
GdkModifierType accelerator_mods;
gtk_accelerator_parse(mb[i].accel, &accelerator_key, &accelerator_mods);
-#ifdef OSX
+#ifdef __APPLE__
if(accelerator_mods & GDK_CONTROL_MASK) { // in OSX use Meta where Linux uses Ctrl
accelerator_mods &= ~GDK_CONTROL_MASK; // clear Ctrl flag
accelerator_mods |= GDK_META_MASK; // set Meta flag
- }
+ }
#endif
gtk_widget_add_accelerator (GTK_WIDGET(entry), "activate",GtkAccelerators,
accelerator_key, accelerator_mods, GTK_ACCEL_VISIBLE);
gtkfilter = gtk_file_filter_new();
gtkfilter_all = gtk_file_filter_new();
- char fileext[10] = "*";
+ char fileext[MSG_SIZ];
/* select file or folder depending on option_type */
if (currentOption[opt_i].type == PathName)
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog),gtkfilter_all);
/* filter for specific filetypes e.g. pgn or fen */
- if (currentOption[opt_i].textValue != NULL && (strcmp(currentOption[opt_i].textValue, "") != 0) )
+ if (currentOption[opt_i].textValue != NULL)
{
- strcat(fileext, currentOption[opt_i].textValue);
- gtk_file_filter_add_pattern(gtkfilter, fileext);
- gtk_file_filter_set_name (gtkfilter, currentOption[opt_i].textValue);
+ char *q, *p = currentOption[opt_i].textValue;
+ gtk_file_filter_set_name (gtkfilter, p);
+ while(*p) {
+ snprintf(fileext, MSG_SIZ, "*%s", p);
+ while(*p) if(*p++ == ' ') break;
+ for(q=fileext; *q; q++) if(*q == ' ') { *q = NULLCHAR; break; }
+ gtk_file_filter_add_pattern(gtkfilter, fileext);
+ }
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(dialog),gtkfilter);
/* activate filter */
gtk_file_chooser_set_filter (GTK_FILE_CHOOSER(dialog),gtkfilter);
break;
case BarEnd:
top--;
-#ifndef OSX
+#ifndef __APPLE__
gtk_table_attach(GTK_TABLE(table), menuBar, left, left+r, top, top+1, GTK_FILL | GTK_EXPAND, GTK_FILL, 2, 1);
if(option[i].target) ((ButtonCallback*)option[i].target)(boxStart); // callback that can make sizing decisions
gtkosx_application_set_menu_bar(theApp, GTK_MENU_SHELL(menuBar));
gtkosx_application_insert_app_menu_item(theApp, GTK_MENU_ITEM(helpMenu[8].handle), 0); // hack
gtkosx_application_sync_menubar(theApp);
- }
+ }
#endif
break;
case BoxEnd: