[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Ayttm-commits] CVS: ayttm/src prefs_window.c,1.5.2.3,1.5.2.4,
Andy Maloney <address@hidden> <=
- Prev by Date:
[Ayttm-commits] CVS: ayttm/src plugin.c,1.9,1.9.2.1
- Next by Date:
[Ayttm-commits] CVS: ayttm/src prefs.c,1.31.2.4,1.31.2.5 prefs.h,1.6.2.3,1.6.2.4 prefs_window.h,1.1.2.1,1.1.2.2
- Previous by thread:
[Ayttm-commits] CVS: ayttm/src plugin.c,1.9,1.9.2.1
- Next by thread:
[Ayttm-commits] CVS: ayttm/src prefs.c,1.31.2.4,1.31.2.5 prefs.h,1.6.2.3,1.6.2.4 prefs_window.h,1.1.2.1,1.1.2.2
- Index(es):