ayttm-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Ayttm-commits] CVS: ayttm/src prefs_window.c,1.5.2.3,1.5.2.4


From: Andy Maloney <address@hidden>
Subject: [Ayttm-commits] CVS: ayttm/src prefs_window.c,1.5.2.3,1.5.2.4
Date: Fri, 28 Mar 2003 07:42:50 -0500

Update of /cvsroot/ayttm/ayttm/src
In directory subversions:/tmp/cvs-serv6042/src

Modified Files:
      Tag: new_prefs
        prefs_window.c 
Log Message:
First step for module prefs
Remove 'Rescan' button for module prefs
Module paths not editable
Remove context menu for modules [Load/Unload]


Index: prefs_window.c
===================================================================
RCS file: /cvsroot/ayttm/ayttm/src/prefs_window.c,v
retrieving revision 1.5.2.3
retrieving revision 1.5.2.4
diff -u -r1.5.2.3 -r1.5.2.4
--- prefs_window.c      23 Mar 2003 12:22:58 -0000      1.5.2.3
+++ prefs_window.c      28 Mar 2003 12:42:48 -0000      1.5.2.4
@@ -53,7 +53,7 @@
 #endif
 
 static int                     s_is_prefs_open = 0;
-static struct prefs    s_prefs;
+static struct prefs    *s_prefs = NULL;
 
 /*
  * Preferences Dialog
@@ -71,10 +71,11 @@
 #endif
 static void build_modules_prefs(GtkWidget *);
 static void ok_callback(GtkWidget * widget, gpointer data);
+static void cancel_callback(GtkWidget * widget, gpointer data);
 static void destroy(GtkWidget * widget, gpointer data);
 
 
-void prefs_window_create( struct prefs inPrefs )
+void prefs_window_create( struct prefs *inPrefs )
 {
      if ( !s_is_prefs_open )
      {
@@ -142,6 +143,9 @@
          /* Cancel Button */
          button = do_icon_button(_("Cancel"), cancel_xpm, prefs_window);
 
+         gtk_signal_connect(GTK_OBJECT(button), "clicked", 
+                            cancel_callback, prefs_window);
+
          gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
                                     GTK_SIGNAL_FUNC (gtk_widget_destroy),
                                     GTK_OBJECT (prefs_window));
@@ -199,7 +203,7 @@
 
 static void set_use_alternate_browser(GtkWidget * w, int * data)
 {
-     if ( s_prefs.general.use_alternate_browser == 0)
+     if ( s_prefs->general.use_alternate_browser == 0 )
      {
          gtk_widget_set_sensitive(alternate_browser_entry, FALSE);
          gtk_widget_set_sensitive(g_browser_browse_button, FALSE);
@@ -241,20 +245,20 @@
     gtk_widget_show(hbox);
     gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
 
-    eb_button(_("Log in on startup"), &s_prefs.general.do_login_on_startup, 
vbox);
+    eb_button(_("Log in on startup"), &s_prefs->general.do_login_on_startup, 
vbox);
 
 #ifdef HAVE_ISPELL
     hbox = gtk_hbox_new(FALSE, 0);
     dictionary_entry = gtk_entry_new();
 
-       gtk_entry_set_text(GTK_ENTRY(dictionary_entry), 
s_prefs.general.spell_dictionary);
+       gtk_entry_set_text(GTK_ENTRY(dictionary_entry), 
s_prefs->general.spell_dictionary);
 
-    brbutton = eb_button(_("Use spell checking - dictionary (empty for 
default):"), &s_prefs.general.do_spell_checking, hbox);
+    brbutton = eb_button(_("Use spell checking - dictionary (empty for 
default):"), &s_prefs->general.do_spell_checking, hbox);
     gtk_box_pack_start(GTK_BOX(hbox), dictionary_entry, TRUE, TRUE, 10);
     gtk_widget_show(dictionary_entry);
     gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
     gtk_widget_show(hbox);
-    if(s_prefs.general.do_spell_checking == 0)
+    if(s_prefs->general.do_spell_checking == 0)
     {
        gtk_widget_set_sensitive(dictionary_entry, FALSE);
     }
@@ -262,13 +266,13 @@
            GTK_SIGNAL_FUNC(set_use_spell), (gpointer)brbutton);
 #endif
 
-    eb_button(_("Enable debug messages"), &s_prefs.general.do_ayttm_debug, 
vbox);
+    eb_button(_("Enable debug messages"), &s_prefs->general.do_ayttm_debug, 
vbox);
 
     alternate_browser_entry = gtk_entry_new();
 
-       gtk_entry_set_text(GTK_ENTRY(alternate_browser_entry), 
s_prefs.general.alternate_browser);
+       gtk_entry_set_text(GTK_ENTRY(alternate_browser_entry), 
s_prefs->general.alternate_browser);
 
-    brbutton = eb_button(_("Use alternate browser"), 
&s_prefs.general.use_alternate_browser, vbox);
+    brbutton = eb_button(_("Use alternate browser"), 
&s_prefs->general.use_alternate_browser, vbox);
     gtk_signal_connect(GTK_OBJECT(brbutton), "clicked",
            GTK_SIGNAL_FUNC(set_use_alternate_browser), NULL);
 
@@ -290,7 +294,7 @@
 
     gtk_widget_show(vbox);
 
-    if(s_prefs.general.use_alternate_browser == 0)
+    if(s_prefs->general.use_alternate_browser == 0)
     {
        gtk_widget_set_sensitive(alternate_browser_entry, FALSE);
        gtk_widget_set_sensitive(g_browser_browse_button, FALSE);
@@ -304,30 +308,30 @@
 static void    set_general_prefs( void )
 {     
 #ifdef HAVE_ISPELL
-       if ( s_prefs.general.do_spell_checking )
+       if ( s_prefs->general.do_spell_checking )
        {
                char    *newspell = NULL;
                
            newspell = (dictionary_entry != NULL && 
strlen(gtk_entry_get_text(GTK_ENTRY(dictionary_entry))))
                            ?gtk_entry_get_text(GTK_ENTRY(dictionary_entry)):"";
 
-           if ( strcmp( newspell, s_prefs.general.spell_dictionary ) )
+           if ( strcmp( newspell, s_prefs->general.spell_dictionary ) )
                {
                        gtkspell_stop();
            }
     }
     if ( dictionary_entry != NULL )
-               strncpy( s_prefs.general.spell_dictionary, 
gtk_entry_get_text(GTK_ENTRY(dictionary_entry)), MAX_PREF_LEN );
+               strncpy( s_prefs->general.spell_dictionary, 
gtk_entry_get_text(GTK_ENTRY(dictionary_entry)), MAX_PREF_LEN );
 #endif
     
        if( alternate_browser_entry != NULL )
-               strncpy( s_prefs.general.alternate_browser, 
gtk_entry_get_text(GTK_ENTRY(alternate_browser_entry)), MAX_PREF_LEN );
+               strncpy( s_prefs->general.alternate_browser, 
gtk_entry_get_text(GTK_ENTRY(alternate_browser_entry)), MAX_PREF_LEN );
 }
 
 #ifdef HAVE_ISPELL
 static void set_use_spell(GtkWidget * w, int * data)
 {
-     if(s_prefs.general.do_spell_checking == 0)
+     if(s_prefs->general.do_spell_checking == 0)
      {
          gtk_widget_set_sensitive(dictionary_entry, FALSE);
      }
@@ -370,8 +374,8 @@
 {
      GtkWidget *vbox = gtk_vbox_new(FALSE, 5);
 
-     eb_button(_("Save all conversations to logfiles"), 
&s_prefs.logging.do_logging, vbox);
-     eb_button(_("Restore last conversation when opening a chat window"), 
&s_prefs.logging.do_restore_last_conv, vbox);
+     eb_button(_("Save all conversations to logfiles"), 
&s_prefs->logging.do_logging, vbox);
+     eb_button(_("Restore last conversation when opening a chat window"), 
&s_prefs->logging.do_restore_last_conv, vbox);
      
         gtk_widget_show(vbox);
      gtk_notebook_append_page(GTK_NOTEBOOK(prefs_note), vbox, 
gtk_label_new(_("Logs")));
@@ -392,7 +396,7 @@
 */
 static void set_tco_element (GtkWidget * w, int data)
 {
-       s_prefs.layout.do_tabbed_chat_orient = data;
+       s_prefs->layout.do_tabbed_chat_orient = data;
 }
 
 static void build_layout_prefs(GtkWidget *prefs_note) 
@@ -406,7 +410,7 @@
      vbox = gtk_vbox_new(FALSE, 5);
 
      /* Values */
-     eb_button(_("Use tabs in chat windows"), &s_prefs.layout.do_tabbed_chat, 
vbox);
+     eb_button(_("Use tabs in chat windows"), &s_prefs->layout.do_tabbed_chat, 
vbox);
 
      /*
        Radio button group for tabbed chat orientation
@@ -424,19 +428,19 @@
                we must save our current value and restore it after the 
creation of the radio buttons
        */
        
-       save_orientation = s_prefs.layout.do_tabbed_chat_orient;
+       save_orientation = s_prefs->layout.do_tabbed_chat_orient;
        
      /* Create buttons */
-     group = eb_radio (group, _("Bottom"), 
s_prefs.layout.do_tabbed_chat_orient, 0, hbox,
+     group = eb_radio (group, _("Bottom"), 
s_prefs->layout.do_tabbed_chat_orient, 0, hbox,
                       set_tco_element);
-     group = eb_radio (group, _("Top"),    
s_prefs.layout.do_tabbed_chat_orient, 1, hbox,
+     group = eb_radio (group, _("Top"),    
s_prefs->layout.do_tabbed_chat_orient, 1, hbox,
                       set_tco_element);
-     group = eb_radio (group, _("Left"),   
s_prefs.layout.do_tabbed_chat_orient, 2, hbox,
+     group = eb_radio (group, _("Left"),   
s_prefs->layout.do_tabbed_chat_orient, 2, hbox,
                       set_tco_element);
-     group = eb_radio (group, _("Right"),  
s_prefs.layout.do_tabbed_chat_orient, 3, hbox,
+     group = eb_radio (group, _("Right"),  
s_prefs->layout.do_tabbed_chat_orient, 3, hbox,
                       set_tco_element);
 
-       s_prefs.layout.do_tabbed_chat_orient = save_orientation;
+       s_prefs->layout.do_tabbed_chat_orient = save_orientation;
        
      /* Put it in the vbox and make it visible */
      gtk_box_pack_start (GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
@@ -564,12 +568,12 @@
      /* Values */
         accel_change_handler_id = 0;
 
-     eb_button(_("Send idle/away status to servers"), 
&s_prefs.chat.do_send_idle_time, vbox);
-     eb_button(_("Raise chat-window when receiving a message"), 
&s_prefs.chat.do_raise_window, vbox);
-     eb_button(_("Ignore unknown people"), &s_prefs.chat.do_ignore_unknown, 
vbox);
-     eb_button(_("Ignore foreground Colors"), &s_prefs.chat.do_ignore_fore, 
vbox);
-     eb_button(_("Ignore background Colors"), &s_prefs.chat.do_ignore_back, 
vbox);
-     eb_button(_("Ignore fonts"), &s_prefs.chat.do_ignore_font, vbox);
+     eb_button(_("Send idle/away status to servers"), 
&s_prefs->chat.do_send_idle_time, vbox);
+     eb_button(_("Raise chat-window when receiving a message"), 
&s_prefs->chat.do_raise_window, vbox);
+     eb_button(_("Ignore unknown people"), &s_prefs->chat.do_ignore_unknown, 
vbox);
+     eb_button(_("Ignore foreground Colors"), &s_prefs->chat.do_ignore_fore, 
vbox);
+     eb_button(_("Ignore background Colors"), &s_prefs->chat.do_ignore_back, 
vbox);
+     eb_button(_("Ignore fonts"), &s_prefs->chat.do_ignore_font, vbox);
 
     hbox = gtk_hbox_new(FALSE, 0);
 
@@ -579,7 +583,7 @@
 
     font_size_entry = gtk_entry_new();
     gtk_widget_set_usize(font_size_entry, 60, -1);
-    g_snprintf(buff, 10, "%d", s_prefs.chat.font_size);
+    g_snprintf(buff, 10, "%d", s_prefs->chat.font_size);
 
     gtk_entry_set_text(GTK_ENTRY(font_size_entry), buff);
     gtk_box_pack_start(GTK_BOX(hbox), font_size_entry,
@@ -588,8 +592,8 @@
     gtk_widget_show(hbox);
     gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
                
-       gtk_accelerator_parse( s_prefs.chat.accel_next_tab, 
&(local_accel_next_tab.keyval), &(local_accel_next_tab.modifiers) );
-       gtk_accelerator_parse( s_prefs.chat.accel_next_tab, 
&(local_accel_prev_tab.keyval), &(local_accel_prev_tab.modifiers) );
+       gtk_accelerator_parse( s_prefs->chat.accel_next_tab, 
&(local_accel_next_tab.keyval), &(local_accel_next_tab.modifiers) );
+       gtk_accelerator_parse( s_prefs->chat.accel_next_tab, 
&(local_accel_prev_tab.keyval), &(local_accel_prev_tab.modifiers) );
 
        add_key_set(_("Hotkey to go to previous tab (requires a modifier)"), 
&local_accel_prev_tab, vbox);
        add_key_set(_("Hotkey to go to next tab (requires a modifier)"), 
&local_accel_next_tab, vbox);
@@ -605,15 +609,15 @@
        if ( font_size_entry != NULL )
        {
                ptr = gtk_entry_get_text(GTK_ENTRY(font_size_entry));
-               s_prefs.chat.font_size = atoi(ptr);
+               s_prefs->chat.font_size = atoi(ptr);
        }
 
        ptr = gtk_accelerator_name( local_accel_next_tab.keyval, 
local_accel_next_tab.modifiers );
-       strncpy( s_prefs.chat.accel_next_tab, ptr, MAX_PREF_LEN );
+       strncpy( s_prefs->chat.accel_next_tab, ptr, MAX_PREF_LEN );
        g_free(ptr);
         
        ptr = gtk_accelerator_name( local_accel_prev_tab.keyval, 
local_accel_prev_tab.modifiers );
-       strncpy( s_prefs.chat.accel_prev_tab, ptr, MAX_PREF_LEN );
+       strncpy( s_prefs->chat.accel_prev_tab, ptr, MAX_PREF_LEN );
        g_free(ptr);
 }
 
@@ -656,7 +660,7 @@
      gtk_signal_connect(GTK_OBJECT(button), "clicked", 
                        GTK_SIGNAL_FUNC(set_proxy_type), (gpointer)PROXY_NONE);
 
-     if(s_prefs.advanced.proxy_type == PROXY_NONE)
+     if(s_prefs->advanced.proxy_type == PROXY_NONE)
      {
          gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), TRUE);
      }
@@ -668,7 +672,7 @@
      gtk_signal_connect(GTK_OBJECT(button), "clicked",
                        GTK_SIGNAL_FUNC(set_proxy_type), (gpointer)PROXY_HTTP);
 
-     if(s_prefs.advanced.proxy_type == PROXY_HTTP)
+     if(s_prefs->advanced.proxy_type == PROXY_HTTP)
      {
          gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), TRUE);
      }
@@ -681,7 +685,7 @@
      gtk_signal_connect(GTK_OBJECT(button), "clicked",
                        GTK_SIGNAL_FUNC(set_proxy_type), 
(gpointer)PROXY_SOCKS4);
 
-     if(s_prefs.advanced.proxy_type == PROXY_SOCKS4)
+     if(s_prefs->advanced.proxy_type == PROXY_SOCKS4)
      {
          gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), TRUE);
      }
@@ -693,7 +697,7 @@
      gtk_signal_connect(GTK_OBJECT(button), "clicked",
                        GTK_SIGNAL_FUNC(set_proxy_type), 
(gpointer)PROXY_SOCKS5);
 
-     if(s_prefs.advanced.proxy_type == PROXY_SOCKS5)
+     if(s_prefs->advanced.proxy_type == PROXY_SOCKS5)
      {
          gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), TRUE);
      }
@@ -703,7 +707,7 @@
      gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
      gtk_widget_show(label);
 
-        gtk_entry_set_text(GTK_ENTRY(proxy_server_entry), 
s_prefs.advanced.proxy_host);
+        gtk_entry_set_text(GTK_ENTRY(proxy_server_entry), 
s_prefs->advanced.proxy_host);
 
      gtk_box_pack_start(GTK_BOX(hbox), proxy_server_entry, TRUE, TRUE, 10);
      gtk_widget_show(proxy_server_entry);
@@ -712,7 +716,7 @@
      gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
      gtk_widget_show(label);
 
-     g_snprintf(buff, 10, "%d", s_prefs.advanced.proxy_port);
+     g_snprintf(buff, 10, "%d", s_prefs->advanced.proxy_port);
      gtk_entry_set_text(GTK_ENTRY(proxy_port_entry), buff);
      gtk_box_pack_start(GTK_BOX(hbox), proxy_port_entry, FALSE, FALSE, 0);
      gtk_widget_show(proxy_port_entry);
@@ -720,14 +724,14 @@
      gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 3);
      gtk_widget_show(hbox);
 
-        eb_button(_("Proxy requires authentication"), 
&s_prefs.advanced.do_proxy_auth, vbox);
+        eb_button(_("Proxy requires authentication"), 
&s_prefs->advanced.do_proxy_auth, vbox);
 
      hbox = gtk_hbox_new(FALSE, 0);
      label = gtk_label_new(_("Proxy User ID:"));
      gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
      gtk_widget_show(label);
 
-         gtk_entry_set_text(GTK_ENTRY(proxy_user_entry), 
s_prefs.advanced.proxy_user);
+         gtk_entry_set_text(GTK_ENTRY(proxy_user_entry), 
s_prefs->advanced.proxy_user);
 
      gtk_box_pack_start(GTK_BOX(hbox), proxy_user_entry, TRUE, TRUE, 10);
      gtk_widget_show(proxy_user_entry);
@@ -736,7 +740,7 @@
      gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
      gtk_widget_show(label);
 
-         gtk_entry_set_text(GTK_ENTRY(proxy_password_entry), 
s_prefs.advanced.proxy_password);
+         gtk_entry_set_text(GTK_ENTRY(proxy_password_entry), 
s_prefs->advanced.proxy_password);
 
         gtk_entry_set_visibility(GTK_ENTRY(proxy_password_entry), FALSE);
 
@@ -746,7 +750,7 @@
      gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 3);
      gtk_widget_show(hbox);
 
-     if(s_prefs.advanced.proxy_type == PROXY_NONE)
+     if(s_prefs->advanced.proxy_type == PROXY_NONE)
      {
          gtk_widget_set_sensitive(proxy_server_entry, FALSE);
          gtk_widget_set_sensitive(proxy_port_entry, FALSE);
@@ -775,18 +779,18 @@
 
 static void    set_proxy_prefs( void )
 {
-       strncpy( s_prefs.advanced.proxy_host, 
gtk_entry_get_text(GTK_ENTRY(proxy_server_entry)), MAX_PREF_LEN );
-       s_prefs.advanced.proxy_port = atol( 
gtk_entry_get_text(GTK_ENTRY(proxy_port_entry)) );
+       strncpy( s_prefs->advanced.proxy_host, 
gtk_entry_get_text(GTK_ENTRY(proxy_server_entry)), MAX_PREF_LEN );
+       s_prefs->advanced.proxy_port = atol( 
gtk_entry_get_text(GTK_ENTRY(proxy_port_entry)) );
        
-       strncpy( s_prefs.advanced.proxy_user, 
gtk_entry_get_text(GTK_ENTRY(proxy_user_entry)), MAX_PREF_LEN );
-       strncpy( s_prefs.advanced.proxy_password, 
gtk_entry_get_text(GTK_ENTRY(proxy_password_entry)), MAX_PREF_LEN );
+       strncpy( s_prefs->advanced.proxy_user, 
gtk_entry_get_text(GTK_ENTRY(proxy_user_entry)), MAX_PREF_LEN );
+       strncpy( s_prefs->advanced.proxy_password, 
gtk_entry_get_text(GTK_ENTRY(proxy_password_entry)), MAX_PREF_LEN );
 }
 
 
 static void set_proxy_type(GtkWidget * w, int * data)
 {
-     s_prefs.advanced.proxy_type = (int)data;
-     if(s_prefs.advanced.proxy_type == PROXY_NONE)
+     s_prefs->advanced.proxy_type = (int)data;
+     if(s_prefs->advanced.proxy_type == PROXY_NONE)
      {
          gtk_widget_set_sensitive(proxy_server_entry, FALSE);
          gtk_widget_set_sensitive(proxy_port_entry, FALSE);
@@ -827,7 +831,7 @@
      gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
      gtk_widget_show(label);
 
-     button = eb_button(_("Use recoding in conversations"), 
&s_prefs.advanced.use_recoding, vbox);
+     button = eb_button(_("Use recoding in conversations"), 
&s_prefs->advanced.use_recoding, vbox);
 
      gtk_signal_connect(GTK_OBJECT(button), "clicked",
                        GTK_SIGNAL_FUNC(set_use_of_recoding), (gpointer)button);
@@ -858,7 +862,7 @@
      gtk_notebook_append_page(GTK_NOTEBOOK(prefs_note), vbox, 
gtk_label_new(_("Recoding")));
      gtk_widget_show(vbox);
 
-     if(s_prefs.advanced.use_recoding == 0)
+     if(s_prefs->advanced.use_recoding == 0)
      {
          gtk_widget_set_sensitive(local_encoding_entry, FALSE);
          gtk_widget_set_sensitive(remote_encoding_entry, FALSE);
@@ -877,7 +881,7 @@
 
 static void set_use_of_recoding(GtkWidget * w, int * data)
 {
-     if(s_prefs.advanced.use_recoding == 0)
+     if(s_prefs->advanced.use_recoding == 0)
      {
          gtk_widget_set_sensitive(local_encoding_entry, FALSE);
          gtk_widget_set_sensitive(remote_encoding_entry, FALSE);
@@ -891,8 +895,8 @@
 
 static void    set_encoding_prefs( void )
 {
-       strncpy( s_prefs.advanced.local_encoding, 
gtk_entry_get_text(GTK_ENTRY(local_encoding_entry)), MAX_PREF_LEN );
-       strncpy( s_prefs.advanced.remote_encoding, 
gtk_entry_get_text(GTK_ENTRY(remote_encoding_entry)), MAX_PREF_LEN );
+       strncpy( s_prefs->advanced.local_encoding, 
gtk_entry_get_text(GTK_ENTRY(local_encoding_entry)), MAX_PREF_LEN );
+       strncpy( s_prefs->advanced.remote_encoding, 
gtk_entry_get_text(GTK_ENTRY(remote_encoding_entry)), MAX_PREF_LEN );
 }
 
 #endif
@@ -911,29 +915,36 @@
        PLUGIN_ERROR_COL
 };
 
-static GtkWidget       *modules_path_text = NULL;
+const int      s_plugin_info_columns = 7;
+
 static GtkWidget       *plugin_prefs_win = NULL;
 
-static void build_modules_list(GtkWidget * module_list)
+static void    build_modules_list( GtkWidget * module_list )
 {
-       char *module_info[7];
-       GList *plugins=NULL;
-       eb_PLUGIN_INFO *epi=NULL;
-
-       for(plugins=GetPref(EB_PLUGIN_LIST); plugins; plugins=plugins->next) {
-               epi=plugins->data;
-               eb_debug(DBG_CORE, "Adding plugin %s\n", epi->name);
-               module_info[0]=PLUGIN_TYPE_TXT[epi->pi.type-1];
-               module_info[1]=epi->pi.brief_desc;
-               module_info[2]=PLUGIN_STATUS_TXT[epi->status];
-               module_info[3]=epi->pi.version;
-               module_info[4]=epi->pi.date;
-               module_info[5]=epi->name;
-               if(epi->status_desc)
-                       module_info[6]=(char *)epi->status_desc;
+       const char      *row_data[s_plugin_info_columns];       
+       LList           *module_info = s_prefs->module.module_info;
+       
+       for ( ; module_info != NULL; module_info = module_info->next )
+       {
+               plugin_pref             *pref_info = module_info->data;
+       
+               if ( pref_info == NULL )
+                       continue;
+                                       
+               eb_debug(DBG_CORE, "Adding plugin %s\n", pref_info->name);
+               
+               row_data[0] = pref_info->type;
+               row_data[1] = pref_info->brief_desc;
+               row_data[2] = pref_info->status;
+               row_data[3] = pref_info->version;
+               row_data[4] = pref_info->date;
+               row_data[5] = pref_info->name;
+               if ( pref_info->status_desc )
+                       row_data[6] = pref_info->status_desc;
                else
-                       module_info[6]="";
-               gtk_clist_append(GTK_CLIST(module_list), module_info);
+                       row_data[6] = "";
+                       
+               gtk_clist_append( GTK_CLIST(module_list), (char **)row_data );
        }
 }
 
@@ -974,99 +985,6 @@
        gtk_widget_draw(GTK_WIDGET(profile_submenuitem), NULL);
 }
 
-static void reload_modules(GtkWidget * w, int * data)
-{
-        GtkWidget *module_list;
-        char *ptr=NULL;
-        char *modules_path=NULL;
-
-        module_list = GetPref("widget::module_list");
-        gtk_clist_clear(GTK_CLIST(module_list));
-
-        eb_debug(DBG_CORE, "Reloading modules\n");
-        modules_path = gtk_editable_get_chars(GTK_EDITABLE(modules_path_text), 
0, -1);
-        ptr=modules_path;
-        while( (ptr=strchr(ptr, '\n')) )
-               ptr[0]=':';
-        cSetLocalPref("modules_path", modules_path);
-        load_modules();
-        build_modules_list(module_list);
-        rebuild_set_status_menu();
-        rebuild_import_menu();
-        rebuild_profile_menu();
-        g_free(modules_path);
-}
-
-typedef struct {
-       GtkCList *clist;
-       eb_PLUGIN_INFO *epi;
-       int row;
-}Plugin_Callback_Data;
-
-static void reload_plugin_callback(GtkWidget * reload_button, gpointer 
userdata)
-{
-       Plugin_Callback_Data *PCD=(Plugin_Callback_Data *)userdata;
-       char *name=NULL, *path=NULL, buffer[1024];
-       char *module_info[7];
-
-       strncpy(buffer, PCD->epi->name, 1023);
-       name=rindex(buffer, '/');
-       if(name) {
-               name[0]='\0';
-               name++;
-               path=buffer;
-       }
-       else {
-                       name=buffer;
-                       path=NULL;
-       }
-       if(PCD->epi->status==PLUGIN_LOADED)
-       {
-               eb_debug(DBG_CORE, "Unloading plugin %s\n", PCD->epi->name);
-               if(unload_module(PCD->epi)!=0) {
-                       eb_debug(DBG_CORE, "Could not unload plugin %s\n", 
PCD->epi->name);
-                       return;
-               }
-               load_module(path, name);
-       }
-       else {
-                       load_module(path, name);
-       }
-       module_info[0]=PLUGIN_TYPE_TXT[PCD->epi->pi.type-1];
-       module_info[1]=PCD->epi->pi.brief_desc;
-       module_info[2]=PLUGIN_STATUS_TXT[PCD->epi->status];
-       module_info[3]=PCD->epi->pi.version;
-       module_info[4]=PCD->epi->pi.date;
-       module_info[5]=PCD->epi->name;
-       if(PCD->epi->status_desc)
-               module_info[6]=(char *)PCD->epi->status_desc;
-       else
-               module_info[6]="";
-       gtk_clist_remove(PCD->clist, PCD->row);
-       gtk_clist_insert(PCD->clist, PCD->row, module_info);
-       if(PCD->epi->pi.type==PLUGIN_SERVICE)
-       {
-               rebuild_set_status_menu();
-       }
-}
-
-static void unload_plugin_callback(GtkWidget * reload_button, gpointer 
userdata)
-{
-       Plugin_Callback_Data *PCD=(Plugin_Callback_Data *)userdata;
-
-       /*FIXME: Should set a pref so this module is not automatically loaded 
next time */
-       eb_debug(DBG_CORE, "Unloading plugin %s\n", PCD->epi->name);
-       if(unload_module(PCD->epi)==0) {
-               gtk_clist_set_text(PCD->clist, PCD->row, PLUGIN_STATUS_COL, 
PLUGIN_STATUS_TXT[PLUGIN_NOT_LOADED]);
-               eb_debug(DBG_CORE, "Unloaded plugin %s\n", PCD->epi->name);
-               if(PCD->epi->pi.type==PLUGIN_SERVICE)
-               {
-                       rebuild_set_status_menu();
-               }
-       }
-       else
-               eb_debug(DBG_CORE, "Could not unload plugin %s\n", 
PCD->epi->name);
-}
 
 static void update_plugin_prefs(GtkWidget * w, input_list *prefs)
 {
@@ -1121,45 +1039,7 @@
                        fprintf(stderr, "Unable to find plugin %s in plugin 
list!\n", plugin_path);
                        return;
        }
-       if (event->button == 3)
-       {
-               GtkWidget *menu;
-               Plugin_Callback_Data *PCD=g_new0(Plugin_Callback_Data, 1);
-               GtkWidget *button;
-
-               menu = gtk_menu_new();
-
-               PCD->clist=clist;
-               PCD->epi=epi;
-               PCD->row=row;
-               if(epi->status==PLUGIN_LOADED) { // Is this an already loaded 
plugin? 
-                       eb_debug(DBG_CORE, "Adding Reload button\n");
-                       button = gtk_menu_item_new_with_label(_("Reload"));
-                       gtk_signal_connect(GTK_OBJECT(button), "activate",
-                               GTK_SIGNAL_FUNC(reload_plugin_callback), PCD);
-                       gtk_menu_append(GTK_MENU(menu), button);
-                       gtk_widget_show(button);
-                       eb_debug(DBG_CORE, "Adding Unload button\n");
-                       button = gtk_menu_item_new_with_label(_("Unload"));
-                       gtk_signal_connect(GTK_OBJECT(button), "activate",
-                               GTK_SIGNAL_FUNC(unload_plugin_callback), PCD);
-                       gtk_menu_append(GTK_MENU(menu), button);
-                       gtk_widget_show(button);
-               }
-               else
-               {
-                       eb_debug(DBG_CORE, "Adding Reload button\n");
-                       button = gtk_menu_item_new_with_label(_("Load"));
-                       gtk_signal_connect(GTK_OBJECT(button), "activate",
-                               GTK_SIGNAL_FUNC(reload_plugin_callback), PCD);
-                       gtk_menu_append(GTK_MENU(menu), button);
-                       gtk_widget_show(button);
-               }
-               gtk_widget_show(menu);
-               gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
-                       event->button, event->time );
-       }
-       else if(event->button == 1)
+       if(event->button == 1)
        {
                GString         *windowName = g_string_new( NULL );
                const char      *pluginDescr = _("Plugin");
@@ -1314,26 +1194,28 @@
 
 static void build_modules_prefs(GtkWidget * prefs_note)
 {
-       GtkWidget * hbox;
-       GtkWidget * label;
-       GtkWidget * button;
-       GtkWidget *vbox = gtk_vbox_new(FALSE, 5);
-       GtkWidget *vbox2 = NULL;
-       GtkWidget * module_list=NULL;
-       GtkWidget *w;
-       int Columns=7, col=0;
-       char *titles[7] = {_("Type"), 
+       GtkWidget       *hbox = NULL;
+       GtkWidget       *label = NULL;
+       GtkWidget       *vbox = gtk_vbox_new(FALSE, 5);
+       GtkWidget       *vbox2 = NULL;
+       GtkWidget       *module_list = NULL;
+       GtkWidget       *w = NULL;
+       int                     col = 0;
+       char            *titles[7] = {_("Type"), 
                           _("Brief Description"), 
                           _("Status"), 
                           _("Version"), 
                           _("Date Last Modified") ,
                           _("Path to module"), 
                           _("Error Text")};
-       char    *ptr = NULL;
-       int             mod_path_pos = 0;
+       char            *ptr = NULL;
+       int                     mod_path_pos = 0;
+       char            modules_path_text[MAX_PREF_LEN];
+       GtkWidget       *modules_path_widget = NULL;
 
-       modules_path_text = gtk_text_new(NULL, NULL);
-       gtk_editable_set_editable(GTK_EDITABLE(modules_path_text), TRUE);
+       
+       modules_path_widget = gtk_text_new( NULL, NULL );
+       gtk_editable_set_editable( GTK_EDITABLE(modules_path_widget), FALSE );
 
        vbox2 = gtk_vbox_new(TRUE, 5);
        hbox = gtk_hbox_new(FALSE, 0);
@@ -1342,41 +1224,37 @@
        gtk_box_pack_start(GTK_BOX(vbox2), label, FALSE, FALSE, 0);
        gtk_widget_show(label);
 
-       button = eb_push_button(_("Rescan"), vbox2);
-       gtk_box_pack_start(GTK_BOX(hbox), vbox2, FALSE, FALSE, 0);
-       gtk_widget_show(vbox2);
-
-       gtk_signal_connect(GTK_OBJECT(button), "clicked",
-                       GTK_SIGNAL_FUNC(reload_modules), (gpointer)button);
-
-
-       ptr = s_prefs.module.modules_path;
+       strncpy( modules_path_text, cGetLocalPref("modules_path"), MAX_PREF_LEN 
);
+       ptr = modules_path_text;
        while( (ptr=strchr(ptr, ':')) )
                ptr[0]='\n';
-       gtk_widget_set_usize(modules_path_text, 200, 75);
-       gtk_editable_insert_text(GTK_EDITABLE(modules_path_text),
-               s_prefs.module.modules_path, 
strlen(s_prefs.module.modules_path), &mod_path_pos);
-       gtk_box_pack_start(GTK_BOX(hbox), modules_path_text, TRUE, TRUE, 10);
-       gtk_widget_show(modules_path_text);
+       gtk_widget_set_usize(modules_path_widget, 200, 75);
+       gtk_editable_insert_text(GTK_EDITABLE(modules_path_widget),
+               modules_path_text, strlen(modules_path_text), &mod_path_pos);
+       gtk_box_pack_start(GTK_BOX(hbox), modules_path_widget, TRUE, TRUE, 10);
+       gtk_widget_show(modules_path_widget);
        gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 10);
        gtk_widget_show(hbox);
 
-       w=gtk_scrolled_window_new(NULL, NULL);
+       w = gtk_scrolled_window_new(NULL, NULL);
        gtk_widget_set_usize(w, 400, 200);
+       
        /* Need to create a new one each time window is created as the old one 
was destroyed */
-       module_list=gtk_clist_new_with_titles(Columns, titles);
+       module_list = gtk_clist_new_with_titles(s_plugin_info_columns, titles);
        gtk_container_add(GTK_CONTAINER(w), module_list);
        gtk_widget_show(w);
        gtk_box_pack_start(GTK_BOX(vbox), w, TRUE, TRUE, 10);
+       
        SetPref("widget::module_list", module_list);
        build_modules_list(module_list);
+       
        gtk_clist_set_reorderable(GTK_CLIST(module_list), TRUE);
        gtk_clist_set_auto_sort(GTK_CLIST(module_list), TRUE);
        gtk_clist_column_titles_active(GTK_CLIST(module_list));
        gtk_signal_connect(GTK_OBJECT(module_list), "click-column",
                        GTK_SIGNAL_FUNC(plugin_column_sort), NULL);
        gtk_clist_set_selection_mode(GTK_CLIST(module_list), 
GTK_SELECTION_SINGLE);
-       for(col=0;col<Columns;col++)
+       for(col=0;col<s_plugin_info_columns;col++)
                gtk_clist_set_column_auto_resize(GTK_CLIST(module_list), col, 
TRUE);
        /* Make sure right mouse button works */
        gtk_clist_set_button_actions(GTK_CLIST(module_list), 1, 
GTK_BUTTON_SELECTS);
@@ -1394,25 +1272,10 @@
 
 static void destroy_modules()
 {
-       if (modules_path_text==NULL)
-               return;
-     
-       gtk_widget_destroy(modules_path_text);
-       modules_path_text=NULL;
 }
 
 static void    set_module_prefs( void )
 {
-       char    *ptr = NULL;
-       
-       if ( modules_path_text != NULL )
-       {               
-               strncpy( s_prefs.module.modules_path, 
gtk_editable_get_chars(GTK_EDITABLE(modules_path_text), 0, -1), MAX_PREF_LEN );
-               ptr = s_prefs.module.modules_path;
-               while( (ptr=strchr(ptr, '\n')) )
-                       ptr[0]=':';
-       }
-       
 /*
        GList *plugins=NULL;
        LList *master_prefs=NULL;
@@ -1477,12 +1340,12 @@
     sound_vbox = gtk_vbox_new(FALSE, 5);
      gtk_widget_show(sound_vbox);
 
-     eb_button(_("Disable sounds when I am away"), 
&s_prefs.sound.do_no_sound_when_away, sound_vbox);
-     eb_button(_("Disable sounds for Ignored people"), 
&s_prefs.sound.do_no_sound_for_ignore, sound_vbox);
-     eb_button(_("Play sounds when people sign on or off"), 
&s_prefs.sound.do_online_sound, sound_vbox);
-     eb_button(_("Play a sound when sending a message"), 
&s_prefs.sound.do_play_send, sound_vbox);
-     eb_button(_("Play a sound when receiving a message"), 
&s_prefs.sound.do_play_receive, sound_vbox);
-     eb_button(_("Play a special sound when receiving first message"), 
&s_prefs.sound.do_play_first, sound_vbox);
+     eb_button(_("Disable sounds when I am away"), 
&s_prefs->sound.do_no_sound_when_away, sound_vbox);
+     eb_button(_("Disable sounds for Ignored people"), 
&s_prefs->sound.do_no_sound_for_ignore, sound_vbox);
+     eb_button(_("Play sounds when people sign on or off"), 
&s_prefs->sound.do_online_sound, sound_vbox);
+     eb_button(_("Play a sound when sending a message"), 
&s_prefs->sound.do_play_send, sound_vbox);
+     eb_button(_("Play a sound when receiving a message"), 
&s_prefs->sound.do_play_receive, sound_vbox);
+     eb_button(_("Play a special sound when receiving first message"), 
&s_prefs->sound.do_play_first, sound_vbox);
 
     gtk_notebook_append_page(GTK_NOTEBOOK(sound_note), sound_vbox, 
gtk_label_new(_("General")));
 
@@ -1495,41 +1358,41 @@
      arrivesoundentry = 
          add_sound_file_selection_box(_("Contact signs on: "),
                                       sound_vbox,
-                                      s_prefs.sound.BuddyArriveFilename,
+                                      s_prefs->sound.BuddyArriveFilename,
                                       BUDDY_ARRIVE);
      awaysoundentry = 
          add_sound_file_selection_box(_("Contact goes away: "),
                                       sound_vbox,
-                                      s_prefs.sound.BuddyAwayFilename,
+                                      s_prefs->sound.BuddyAwayFilename,
                                       BUDDY_AWAY);
      leavesoundentry = 
          add_sound_file_selection_box(_("Contact signs off: "),
                                       sound_vbox,
-                                      s_prefs.sound.BuddyLeaveFilename,
+                                      s_prefs->sound.BuddyLeaveFilename,
                                       BUDDY_LEAVE);
 
      sendsoundentry = 
          add_sound_file_selection_box(_("Message sent: "),
                                       sound_vbox,
-                                      s_prefs.sound.SendFilename,
+                                      s_prefs->sound.SendFilename,
                                       SEND);
 
      receivesoundentry = 
          add_sound_file_selection_box(_("Message received: "),
                                       sound_vbox,
-                                      s_prefs.sound.ReceiveFilename,
+                                      s_prefs->sound.ReceiveFilename,
                                       RECEIVE);
 
      firstmsgsoundentry = 
          add_sound_file_selection_box(_("First message received: "),
                                       sound_vbox,
-                                      s_prefs.sound.FirstMsgFilename,
+                                      s_prefs->sound.FirstMsgFilename,
                                       FIRSTMSG);
 
      volumesoundentry =
        add_sound_volume_selection_box(_("Relative volume (dB)"),
                                      sound_vbox,
-                                     
GTK_ADJUSTMENT(gtk_adjustment_new(s_prefs.sound.SoundVolume,
+                                     
GTK_ADJUSTMENT(gtk_adjustment_new(s_prefs->sound.SoundVolume,
                                                         -40,0,1,5,0)));
 
      gtk_widget_show(sound_vbox);
@@ -1626,30 +1489,30 @@
      switch(userdata) 
      {
      case BUDDY_ARRIVE:        
-         strncpy( s_prefs.sound.BuddyArriveFilename, selected_filename, 
MAX_PREF_LEN);
+         strncpy( s_prefs->sound.BuddyArriveFilename, selected_filename, 
MAX_PREF_LEN);
          gtk_entry_set_text (GTK_ENTRY (arrivesoundentry), 
                              selected_filename);
          break;
      case BUDDY_LEAVE: 
-         strncpy( s_prefs.sound.BuddyLeaveFilename, selected_filename, 
MAX_PREF_LEN);
+         strncpy( s_prefs->sound.BuddyLeaveFilename, selected_filename, 
MAX_PREF_LEN);
          gtk_entry_set_text (GTK_ENTRY (leavesoundentry), 
                              selected_filename);
          break;
      case SEND:                
-         strncpy( s_prefs.sound.SendFilename, selected_filename, MAX_PREF_LEN);
+         strncpy( s_prefs->sound.SendFilename, selected_filename, 
MAX_PREF_LEN);
          gtk_entry_set_text (GTK_ENTRY (sendsoundentry), selected_filename);
          break;
      case RECEIVE:             
-         strncpy( s_prefs.sound.ReceiveFilename, selected_filename, 
MAX_PREF_LEN);
+         strncpy( s_prefs->sound.ReceiveFilename, selected_filename, 
MAX_PREF_LEN);
          gtk_entry_set_text (GTK_ENTRY (receivesoundentry), 
                              selected_filename);
          break;
      case BUDDY_AWAY:  
-         strncpy( s_prefs.sound.BuddyAwayFilename, selected_filename, 
MAX_PREF_LEN);
+         strncpy( s_prefs->sound.BuddyAwayFilename, selected_filename, 
MAX_PREF_LEN);
          gtk_entry_set_text (GTK_ENTRY (awaysoundentry), selected_filename);
          break;
      case FIRSTMSG:            
-         strncpy( s_prefs.sound.FirstMsgFilename, selected_filename, 
MAX_PREF_LEN);
+         strncpy( s_prefs->sound.FirstMsgFilename, selected_filename, 
MAX_PREF_LEN);
          gtk_entry_set_text (GTK_ENTRY (firstmsgsoundentry), 
                              selected_filename);
          break;
@@ -1668,27 +1531,27 @@
      switch(userdata) 
      {
      case BUDDY_ARRIVE:
-         playsoundfile(s_prefs.sound.BuddyArriveFilename);
+         playsoundfile(s_prefs->sound.BuddyArriveFilename);
          break;
 
      case BUDDY_LEAVE:
-         playsoundfile(s_prefs.sound.BuddyLeaveFilename);
+         playsoundfile(s_prefs->sound.BuddyLeaveFilename);
          break;
 
      case SEND:
-         playsoundfile(s_prefs.sound.SendFilename);
+         playsoundfile(s_prefs->sound.SendFilename);
          break;
 
      case RECEIVE:
-         playsoundfile(s_prefs.sound.ReceiveFilename);
+         playsoundfile(s_prefs->sound.ReceiveFilename);
          break;
 
      case BUDDY_AWAY:
-         playsoundfile(s_prefs.sound.BuddyAwayFilename);
+         playsoundfile(s_prefs->sound.BuddyAwayFilename);
          break;
 
      case FIRSTMSG:
-         playsoundfile(s_prefs.sound.FirstMsgFilename);
+         playsoundfile(s_prefs->sound.FirstMsgFilename);
          break;
 
      }
@@ -1696,7 +1559,7 @@
 
 static void soundvolume_changed(GtkAdjustment * adjust, int userdata)
 {
-  s_prefs.sound.SoundVolume = adjust->value;
+  s_prefs->sound.SoundVolume = adjust->value;
 }
 
 static void    set_sound_prefs( void )
@@ -1704,12 +1567,12 @@
        if (arrivesoundentry == NULL)
                return;
        
-       strncpy( s_prefs.sound.BuddyArriveFilename, 
gtk_entry_get_text(GTK_ENTRY (arrivesoundentry)), MAX_PREF_LEN );
-       strncpy( s_prefs.sound.BuddyLeaveFilename, gtk_entry_get_text(GTK_ENTRY 
(leavesoundentry)), MAX_PREF_LEN );
-       strncpy( s_prefs.sound.SendFilename, gtk_entry_get_text(GTK_ENTRY 
(sendsoundentry)), MAX_PREF_LEN );
-       strncpy( s_prefs.sound.ReceiveFilename, gtk_entry_get_text(GTK_ENTRY 
(receivesoundentry)), MAX_PREF_LEN );
-       strncpy( s_prefs.sound.BuddyAwayFilename, gtk_entry_get_text(GTK_ENTRY 
(awaysoundentry)), MAX_PREF_LEN );
-       strncpy( s_prefs.sound.FirstMsgFilename, gtk_entry_get_text(GTK_ENTRY 
(firstmsgsoundentry)), MAX_PREF_LEN );
+       strncpy( s_prefs->sound.BuddyArriveFilename, 
gtk_entry_get_text(GTK_ENTRY (arrivesoundentry)), MAX_PREF_LEN );
+       strncpy( s_prefs->sound.BuddyLeaveFilename, 
gtk_entry_get_text(GTK_ENTRY (leavesoundentry)), MAX_PREF_LEN );
+       strncpy( s_prefs->sound.SendFilename, gtk_entry_get_text(GTK_ENTRY 
(sendsoundentry)), MAX_PREF_LEN );
+       strncpy( s_prefs->sound.ReceiveFilename, gtk_entry_get_text(GTK_ENTRY 
(receivesoundentry)), MAX_PREF_LEN );
+       strncpy( s_prefs->sound.BuddyAwayFilename, gtk_entry_get_text(GTK_ENTRY 
(awaysoundentry)), MAX_PREF_LEN );
+       strncpy( s_prefs->sound.FirstMsgFilename, gtk_entry_get_text(GTK_ENTRY 
(firstmsgsoundentry)), MAX_PREF_LEN );
 }
 
 static void destroy_sound_prefs(void)
@@ -1731,10 +1594,10 @@
 }
 
 /*
- * OK callback
+ * OK & Cancel callbacks
  */
 
-static void ok_callback(GtkWidget * widget, gpointer data)
+static void    ok_callback(GtkWidget *widget, gpointer data)
 {
        set_general_prefs();
        set_logs_prefs();
@@ -1747,7 +1610,14 @@
        set_proxy_prefs();
        set_module_prefs();
 
-       ayttm_prefs_set( s_prefs );
+       ayttm_prefs_apply( s_prefs );
+       s_prefs = NULL;
+}
+
+static void    cancel_callback( GtkWidget *widget, gpointer data )
+{
+       ayttm_prefs_cancel( s_prefs );
+       s_prefs = NULL;
 }
 
 /*
@@ -1768,7 +1638,7 @@
         destroy_modules();
 
 #ifdef HAVE_ISPELL
-     if ((!s_prefs.general.do_spell_checking) && (gtkspell_running()))
+     if ((!iGetLocalPref("do_spell_checking")) && (gtkspell_running()))
             gtkspell_stop();
 #endif
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]