X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gtk%2Fxoptions.c;h=b618013fa307312ca8f5ea8ac796e3b58967aa86;hb=e6e38912837a4fe2464356408d10dee950b3121c;hp=0eb64ffe4fde01b3b46f14b9c73183b522addfc4;hpb=90f9791afa04690fdd044946c7369ae5c085f9b9;p=xboard.git diff --git a/gtk/xoptions.c b/gtk/xoptions.c index 0eb64ff..b618013 100644 --- a/gtk/xoptions.c +++ b/gtk/xoptions.c @@ -1,7 +1,7 @@ /* * 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 @@ -51,8 +51,8 @@ extern char *getenv(); #include #include #include -#ifdef OSX -# include "gtkmacintegration/gtkosxapplication.h" +#ifdef __APPLE__ +# include #endif #include "common.h" @@ -428,7 +428,7 @@ CreateMenuPopup (Option *opt, int n, int def) { 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 @@ -445,11 +445,11 @@ CreateMenuPopup (Option *opt, int n, int def) 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); @@ -944,7 +944,7 @@ void BrowseGTK(GtkWidget *widget, gpointer gdata) 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) @@ -965,11 +965,16 @@ void BrowseGTK(GtkWidget *widget, gpointer gdata) 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); @@ -1493,7 +1498,7 @@ if(appData.debugMode) printf("n=%d, h=%d, w=%d\n",n,height,width); 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 @@ -1506,7 +1511,7 @@ if(appData.debugMode) printf("n=%d, h=%d, w=%d\n",n,height,width); 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: