comparison src/gui_gtk_x11.c @ 714:0f9f4761ad9c v7.0216

updated for version 7.0216
author vimboss
date Mon, 06 Mar 2006 23:29:24 +0000
parents 7cf327ccb632
children d20041a02ee5
comparison
equal deleted inserted replaced
713:0c381fb7846c 714:0f9f4761ad9c
3185 if (send_tabline_event(index + 1) && gtk_main_level() > 0) 3185 if (send_tabline_event(index + 1) && gtk_main_level() > 0)
3186 gtk_main_quit(); 3186 gtk_main_quit();
3187 } 3187 }
3188 } 3188 }
3189 3189
3190 #ifndef HAVE_GTK2
3191 static int showing_tabline = 0;
3192 #endif
3193
3190 /* 3194 /*
3191 * Show or hide the tabline. 3195 * Show or hide the tabline.
3192 */ 3196 */
3193 void 3197 void
3194 gui_mch_show_tabline(int showit) 3198 gui_mch_show_tabline(int showit)
3195 { 3199 {
3196 if (gui.tabline == NULL) 3200 if (gui.tabline == NULL)
3197 return; 3201 return;
3198 3202
3203 #ifdef HAVE_GTK2
3204 /* gtk_notebook_get_show_tabs does not exist in gtk+-1.2.10 */
3199 if (!showit != !gtk_notebook_get_show_tabs(GTK_NOTEBOOK(gui.tabline))) 3205 if (!showit != !gtk_notebook_get_show_tabs(GTK_NOTEBOOK(gui.tabline)))
3206 #else
3207 if (!showit != !showing_tabline)
3208 #endif
3200 { 3209 {
3201 /* Note: this may cause a resize event */ 3210 /* Note: this may cause a resize event */
3202 gtk_notebook_set_show_tabs(GTK_NOTEBOOK(gui.tabline), showit); 3211 gtk_notebook_set_show_tabs(GTK_NOTEBOOK(gui.tabline), showit);
3203 update_window_manager_hints(); 3212 update_window_manager_hints();
3213 #ifndef HAVE_GTK2
3214 showing_tabline = showit;
3215 #endif
3204 } 3216 }
3205 } 3217 }
3206 3218
3207 /* 3219 /*
3208 * Return TRUE when tabline is displayed. 3220 * Return TRUE when tabline is displayed.
3209 */ 3221 */
3210 int 3222 int
3211 gui_mch_showing_tabline(void) 3223 gui_mch_showing_tabline(void)
3212 { 3224 {
3213 return gui.tabline != NULL 3225 return gui.tabline != NULL
3214 && gtk_notebook_get_show_tabs(GTK_NOTEBOOK(gui.tabline)); 3226 #ifdef HAVE_GTK2
3227 /* gtk_notebook_get_show_tabs does not exist in gtk+-1.2.10 */
3228 && gtk_notebook_get_show_tabs(GTK_NOTEBOOK(gui.tabline))
3229 #else
3230 && showing_tabline
3231 #endif
3232 ;
3215 } 3233 }
3216 3234
3217 /* 3235 /*
3218 * Update the labels of the tabline. 3236 * Update the labels of the tabline.
3219 */ 3237 */
4454 while (gui.fontdlg && GTK_WIDGET_DRAWABLE(gui.fontdlg)) 4472 while (gui.fontdlg && GTK_WIDGET_DRAWABLE(gui.fontdlg))
4455 gtk_main_iteration_do(TRUE); 4473 gtk_main_iteration_do(TRUE);
4456 4474
4457 if (gui.fontname != NULL) 4475 if (gui.fontname != NULL)
4458 { 4476 {
4459 fontname = vim_strsave(gui.fontname); 4477 /* Apparently some font names include a comma, need to escape that,
4478 * because in 'guifont' it separates names. */
4479 fontname = vim_strsave_escaped(gui.fontname, (char_u *)",");
4460 g_free(gui.fontname); 4480 g_free(gui.fontname);
4461 gui.fontname = NULL; 4481 gui.fontname = NULL;
4462 } 4482 }
4463 return fontname; 4483 return fontname;
4464 } 4484 }
4524 4544
4525 name = gtk_font_selection_dialog_get_font_name( 4545 name = gtk_font_selection_dialog_get_font_name(
4526 GTK_FONT_SELECTION_DIALOG(dialog)); 4546 GTK_FONT_SELECTION_DIALOG(dialog));
4527 if (name != NULL) 4547 if (name != NULL)
4528 { 4548 {
4549 char_u *p;
4550
4551 /* Apparently some font names include a comma, need to escape
4552 * that, because in 'guifont' it separates names. */
4553 p = vim_strsave_escaped((char_u *)name, (char_u *)",");
4554 g_free(name);
4529 if (input_conv.vc_type != CONV_NONE) 4555 if (input_conv.vc_type != CONV_NONE)
4530 fontname = string_convert(&input_conv, (char_u *)name, NULL); 4556 {
4557 fontname = string_convert(&input_conv, p, NULL);
4558 vim_free(p);
4559 }
4531 else 4560 else
4532 fontname = vim_strsave((char_u *)name); 4561 fontname = p;
4533 g_free(name);
4534 } 4562 }
4535 } 4563 }
4536 4564
4537 if (response != GTK_RESPONSE_NONE) 4565 if (response != GTK_RESPONSE_NONE)
4538 gtk_widget_destroy(dialog); 4566 gtk_widget_destroy(dialog);