6 |
#include <gtk/gtk.h> |
#include <gtk/gtk.h> |
7 |
#include <string.h> |
#include <string.h> |
8 |
#include <sys/stat.h> |
#include <sys/stat.h> |
9 |
|
#include "struct.h" |
10 |
#include "interface.h" |
#include "interface.h" |
11 |
#include "msgbar.h" |
#include "msgbar.h" |
12 |
#include "conf.h" |
#include "conf.h" |
13 |
#include "editor.h" |
#include "editor.h" |
|
#include "struct.h" |
|
14 |
#include "main.h" |
#include "main.h" |
15 |
#include "filesops.h" |
#include "filesops.h" |
16 |
#include "prefs.h" |
#include "prefs.h" |
324 |
pref_auto_completion (GtkToggleButton *togglebutton, |
pref_auto_completion (GtkToggleButton *togglebutton, |
325 |
gpointer user_data) |
gpointer user_data) |
326 |
{ |
{ |
|
|
|
327 |
} |
} |
328 |
|
|
329 |
|
|
330 |
void |
void |
331 |
pref_auto_completion_x (GtkEditable *editable, |
pref_auto_completion_x (GtkCellEditable *celleditable, |
332 |
gpointer user_data) |
gpointer user_data) |
333 |
{ |
{ |
334 |
Settings.complete_window_width = gtk_spin_button_get_value_as_int |
Settings.complete_window_width = gtk_spin_button_get_value_as_int |
335 |
(GTK_SPIN_BUTTON(editable)); |
(GTK_SPIN_BUTTON(celleditable)); |
336 |
set_int_conf ("General/CompletionPopUp/Width", |
set_int_conf ("General/CompletionPopUp/Width", |
337 |
Settings.complete_window_width); |
Settings.complete_window_width); |
338 |
} |
} |
339 |
|
|
340 |
|
|
341 |
void |
void |
342 |
pref_auto_completion_y (GtkEditable *editable, |
pref_auto_completion_y (GtkCellEditable *celleditable, |
343 |
gpointer user_data) |
gpointer user_data) |
344 |
{ |
{ |
345 |
Settings.complete_window_height = gtk_spin_button_get_value_as_int |
Settings.complete_window_height = gtk_spin_button_get_value_as_int |
346 |
(GTK_SPIN_BUTTON(editable)); |
(GTK_SPIN_BUTTON(celleditable)); |
347 |
set_int_conf ("General/CompletionPopUp/Height", |
set_int_conf ("General/CompletionPopUp/Height", |
348 |
Settings.complete_window_height); |
Settings.complete_window_height); |
349 |
} |
} |
425 |
Settings.main_window_height ); |
Settings.main_window_height ); |
426 |
|
|
427 |
gtk_toggle_button_set_active ( |
gtk_toggle_button_set_active ( |
428 |
GTK_TOGGLE_BUTTON (lookup_widget ( win, "radio_fixedcoord")), |
GTK_TOGGLE_BUTTON (lookup_widget ( win, "radio_fixedcoord" )), |
429 |
Settings.beep ); |
Settings.beep ); |
430 |
|
|
431 |
gtk_entry_set_text ( GTK_ENTRY (lookup_widget ( win, "entry_printcmd" )), |
gtk_entry_set_text ( GTK_ENTRY (lookup_widget ( win, "entry_printcmd" )), |
432 |
Settings.print_cmd ); |
Settings.print_cmd ); |
433 |
|
|
434 |
|
/* |
435 |
|
{ |
436 |
|
GtkWidget *Entry; |
437 |
|
|
438 |
|
Entry = gtk_text_view_new (); |
439 |
|
gtk_container_add ( |
440 |
|
GTK_CONTAINER ( |
441 |
|
lookup_widget ( win, "colbutton_text_fg" )), |
442 |
|
Entry ); |
443 |
|
|
444 |
|
Entry = gtk_text_view_new (); |
445 |
|
gtk_container_add ( |
446 |
|
GTK_CONTAINER ( |
447 |
|
lookup_widget ( win, "colbutton_text_bg" )), |
448 |
|
Entry ); |
449 |
|
|
450 |
|
Entry = gtk_text_view_new (); |
451 |
|
gtk_container_add ( |
452 |
|
GTK_CONTAINER ( |
453 |
|
lookup_widget ( win, "colbutton_hl_fg" )), |
454 |
|
Entry ); |
455 |
|
|
456 |
|
Entry = gtk_text_view_new (); |
457 |
|
gtk_container_add ( |
458 |
|
GTK_CONTAINER ( |
459 |
|
lookup_widget ( win, "colbutton_hl_bg" )), |
460 |
|
Entry ); |
461 |
|
} |
462 |
|
*/ |
463 |
|
|
464 |
return; |
return; |
465 |
} |
} |
474 |
|
|
475 |
return; |
return; |
476 |
} |
} |
477 |
|
|
478 |
|
|
479 |
|
/* COLOR BUTTONS */ |
480 |
|
void pref_colordialogue (GtkWidget *Widget, short num) |
481 |
|
{ |
482 |
|
GdkColor current_color; |
483 |
|
t_widgint *col_but; |
484 |
|
GtkColorSelectionDialog *csd; |
485 |
|
|
486 |
|
if (ColorIsVisible) {return;} |
487 |
|
col_but = g_malloc (sizeof(t_widgint)); |
488 |
|
col_but -> widget = Widget; |
489 |
|
switch ( num ) |
490 |
|
{ |
491 |
|
case 1: |
492 |
|
col_but -> op = 1; |
493 |
|
current_color.red = Settings.fg[0]; |
494 |
|
current_color.green = Settings.fg[1]; |
495 |
|
current_color.blue = Settings.fg[2]; |
496 |
|
break; |
497 |
|
case 2: |
498 |
|
col_but -> op = 2; |
499 |
|
current_color.red = Settings.bg[0]; |
500 |
|
current_color.green = Settings.bg[1]; |
501 |
|
current_color.blue = Settings.bg[2]; |
502 |
|
break; |
503 |
|
case 3: |
504 |
|
col_but -> op = 3; |
505 |
|
current_color.red = Settings.selected_fg[0]; |
506 |
|
current_color.green = Settings.selected_fg[1]; |
507 |
|
current_color.blue = Settings.selected_fg[2]; |
508 |
|
break; |
509 |
|
case 4: |
510 |
|
col_but -> op = 4; |
511 |
|
current_color.red = Settings.selected_bg[0]; |
512 |
|
current_color.green = Settings.selected_bg[1]; |
513 |
|
current_color.blue = Settings.selected_bg[2]; |
514 |
|
break; |
515 |
|
} |
516 |
|
|
517 |
|
csd = (GtkColorSelectionDialog *)gtk_color_selection_dialog_new |
518 |
|
("Select Color"); |
519 |
|
|
520 |
|
g_signal_connect (G_OBJECT(csd), "delete_event", |
521 |
|
(GtkSignalFunc) color_window_not_visible, NULL); |
522 |
|
|
523 |
|
g_signal_connect_swapped (G_OBJECT(csd), "delete_event", |
524 |
|
(GtkSignalFunc) gtk_widget_destroy, |
525 |
|
G_OBJECT(csd)); |
526 |
|
|
527 |
|
g_signal_connect (G_OBJECT (csd), "destroy", |
528 |
|
(GtkSignalFunc) color_window_not_visible, NULL); |
529 |
|
|
530 |
|
g_signal_connect_swapped (G_OBJECT(csd), "destroy", |
531 |
|
(GtkSignalFunc) gtk_widget_destroy, |
532 |
|
G_OBJECT(csd)); |
533 |
|
|
534 |
|
gtk_color_selection_set_current_color (GTK_COLOR_SELECTION(csd -> colorsel), |
535 |
|
¤t_color); |
536 |
|
|
537 |
|
g_signal_connect (G_OBJECT(csd -> ok_button), "clicked", |
538 |
|
(GtkSignalFunc)apply_color_button, col_but); |
539 |
|
|
540 |
|
g_signal_connect (G_OBJECT(csd -> ok_button), "clicked", |
541 |
|
(GtkSignalFunc)color_window_not_visible, NULL); |
542 |
|
|
543 |
|
g_signal_connect_swapped (G_OBJECT(csd -> ok_button), "clicked", |
544 |
|
(GtkSignalFunc)gtk_widget_destroy, |
545 |
|
G_OBJECT(csd)); |
546 |
|
|
547 |
|
g_signal_connect (G_OBJECT(csd -> cancel_button), "clicked", |
548 |
|
(GtkSignalFunc)color_window_not_visible, NULL); |
549 |
|
|
550 |
|
g_signal_connect_swapped (G_OBJECT(csd -> cancel_button), "clicked", |
551 |
|
(GtkSignalFunc)gtk_widget_destroy, |
552 |
|
G_OBJECT(csd)); |
553 |
|
gtk_widget_hide (csd -> help_button); |
554 |
|
ColorIsVisible = TRUE; |
555 |
|
gtk_widget_show (GTK_WIDGET(csd)); |
556 |
|
print_msg ("Display Color selection window..."); |
557 |
|
} |
558 |
|
|
559 |
|
|
560 |
|
void apply_color_button ( GtkWidget *Widget, t_widgint *Data ) |
561 |
|
{ |
562 |
|
GtkStyle *Style; |
563 |
|
guint16 Colors[3]; |
564 |
|
gint i; |
565 |
|
|
566 |
|
g_print ("apply color button\n"); |
567 |
|
if (Widget) |
568 |
|
{ |
569 |
|
g_print ("\twith widget\n"); |
570 |
|
} |
571 |
|
g_printf ("\top: %d\n", Data->op ); |
572 |
|
|
573 |
|
|
574 |
|
if (Widget) |
575 |
|
{ |
576 |
|
GdkColor color; |
577 |
|
|
578 |
|
gtk_color_selection_get_current_color |
579 |
|
(GTK_COLOR_SELECTION |
580 |
|
(((GtkColorSelectionDialog *) |
581 |
|
gtk_widget_get_toplevel(Widget)) -> colorsel), &color); |
582 |
|
Colors[0] = color.red; |
583 |
|
Colors[1] = color.green; |
584 |
|
Colors[2] = color.blue; |
585 |
|
switch ( Data->op ) |
586 |
|
{ |
587 |
|
case 1: |
588 |
|
for (i = 0; i <= 2; i++) |
589 |
|
{ |
590 |
|
Settings.fg[i] = Colors[i]; |
591 |
|
} |
592 |
|
set_int_conf ("General/Editor/FGRed", Settings.fg[0]); |
593 |
|
set_int_conf ("General/Editor/FGGreen", Settings.fg[1]); |
594 |
|
set_int_conf ("General/Editor/FGBlue", Settings.fg[2]); |
595 |
|
for (i = 0; i < OpenedFilesCnt; i++) |
596 |
|
{ |
597 |
|
gtk_widget_modify_text (FPROPS(i, Text), GTK_STATE_NORMAL, &color); |
598 |
|
} |
599 |
|
break; |
600 |
|
case 2: |
601 |
|
for (i = 0; i <= 2; i++) |
602 |
|
{ |
603 |
|
Settings.bg[i] = Colors[i]; |
604 |
|
} |
605 |
|
set_int_conf ("General/Editor/BGRed", Settings.bg[0]); |
606 |
|
set_int_conf ("General/Editor/BGGreen", Settings.bg[1]); |
607 |
|
set_int_conf ("General/Editor/BGBlue", Settings.bg[2]); |
608 |
|
for (i = 0; i < OpenedFilesCnt; i++) |
609 |
|
{ |
610 |
|
gtk_widget_modify_base (FPROPS(i, Text), GTK_STATE_NORMAL, &color); |
611 |
|
} |
612 |
|
break; |
613 |
|
case 3: |
614 |
|
for (i = 0; i <= 2; i++) |
615 |
|
{ |
616 |
|
Settings.selected_fg[i] = Colors[i]; |
617 |
|
} |
618 |
|
set_int_conf ("General/Editor/SelectedFGRed", Settings.selected_fg[0]); |
619 |
|
set_int_conf ("General/Editor/SelectedFGGreen", Settings.selected_fg[1]); |
620 |
|
set_int_conf ("General/Editor/SelectedFGBlue", Settings.selected_fg[2]); |
621 |
|
for (i = 0; i < OpenedFilesCnt; i++) |
622 |
|
{ |
623 |
|
gtk_widget_modify_text (FPROPS(i, Text), GTK_STATE_SELECTED, &color); |
624 |
|
} |
625 |
|
break; |
626 |
|
case 4: |
627 |
|
for (i = 0; i <= 2; i++) |
628 |
|
{ |
629 |
|
Settings.selected_bg[i] = Colors[i]; |
630 |
|
} |
631 |
|
set_int_conf ("General/Editor/SelectedBGRed", Settings.selected_bg[0]); |
632 |
|
set_int_conf ("General/Editor/SelectedBGGreen", Settings.selected_bg[1]); |
633 |
|
set_int_conf ("General/Editor/SelectedBGBlue", Settings.selected_bg[2]); |
634 |
|
for (i = 0; i < OpenedFilesCnt; i++) |
635 |
|
{ |
636 |
|
gtk_widget_modify_base (FPROPS(i, Text), GTK_STATE_SELECTED, &color); |
637 |
|
} |
638 |
|
break; |
639 |
|
} |
640 |
|
text_preview (example_text); |
641 |
|
} |
642 |
|
else |
643 |
|
{ |
644 |
|
switch (Data -> op) |
645 |
|
{ |
646 |
|
case 1: |
647 |
|
for (i = 0; i <= 2; i++) |
648 |
|
Colors[i] = Settings.fg[i]; |
649 |
|
break; |
650 |
|
case 2: |
651 |
|
for (i = 0; i <= 2; i++) |
652 |
|
Colors[i] = Settings.bg[i]; |
653 |
|
break; |
654 |
|
case 3: |
655 |
|
for (i = 0; i <= 2; i++) |
656 |
|
Colors[i] = Settings.selected_fg[i]; |
657 |
|
break; |
658 |
|
case 4: |
659 |
|
for (i = 0; i <= 2; i++) |
660 |
|
Colors[i] = Settings.selected_bg[i]; |
661 |
|
break; |
662 |
|
} |
663 |
|
} |
664 |
|
Style = gtk_style_copy ( gtk_widget_get_style ( |
665 |
|
(GTK_BIN (Data->widget) -> child) ) ); |
666 |
|
Style -> base[GTK_STATE_NORMAL].red = Colors[0]; |
667 |
|
Style -> base[GTK_STATE_NORMAL].green = Colors[1]; |
668 |
|
Style -> base[GTK_STATE_NORMAL].blue = Colors[2]; |
669 |
|
gtk_widget_set_style ( GTK_BIN (Data->widget) -> child, Style ); |
670 |
|
} |
671 |
|
|
672 |
|
|
673 |
|
void |
674 |
|
on_colbutton_clicked (GtkButton *button, |
675 |
|
gpointer user_data) |
676 |
|
{ |
677 |
|
|
678 |
|
} |
679 |
|
|
680 |
|
|
681 |
|
void |
682 |
|
on_colbutton_text_fg_clicked (GtkButton *button, |
683 |
|
gpointer user_data) |
684 |
|
{ |
685 |
|
pref_colordialogue ( (GtkWidget *)button, 1 ); |
686 |
|
|
687 |
|
return; |
688 |
|
} |
689 |
|
|
690 |
|
|
691 |
|
void |
692 |
|
on_colbutton_text_bg_clicked (GtkButton *button, |
693 |
|
gpointer user_data) |
694 |
|
{ |
695 |
|
pref_colordialogue ( (GtkWidget *)button, 2 ); |
696 |
|
|
697 |
|
return; |
698 |
|
} |
699 |
|
|
700 |
|
|
701 |
|
void |
702 |
|
on_colbutton_hl_fg_clicked (GtkButton *button, |
703 |
|
gpointer user_data) |
704 |
|
{ |
705 |
|
pref_colordialogue ( (GtkWidget *)button, 3 ); |
706 |
|
|
707 |
|
return; |
708 |
|
} |
709 |
|
|
710 |
|
|
711 |
|
void |
712 |
|
on_colbutton_hl_bg_clicked (GtkButton *button, |
713 |
|
gpointer user_data) |
714 |
|
{ |
715 |
|
pref_colordialogue ( (GtkWidget *)button, 4 ); |
716 |
|
|
717 |
|
return; |
718 |
|
} |
719 |
|
|