/[beaver]/beaver/src/glade_prefs_callbacks.c
ViewVC logotype

Diff of /beaver/src/glade_prefs_callbacks.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by skypher, Fri Jul 4 14:19:20 2003 UTC revision 1.2 by skypher, Wed Aug 20 08:59:45 2003 UTC
# Line 6  Line 6 
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"
# Line 324  void Line 324  void
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  }  }
# Line 426  visibilize_settings (GtkWidget *win) Line 425  visibilize_settings (GtkWidget *win)
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  }  }
# Line 447  on_PrefsWindow_show                    ( Line 474  on_PrefsWindow_show                    (
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                                         &current_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    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26