[Initng-svn] r3681 - in initng-gui/initconf: . src
svn at initng.thinktux.net
svn at initng.thinktux.net
Wed Apr 5 11:25:28 CEST 2006
Author: danne
Date: Wed Apr 5 11:25:27 2006
New Revision: 3681
Modified:
initng-gui/initconf/TODO
initng-gui/initconf/src/callbacks.c
initng-gui/initconf/src/initconf_globals.h
initng-gui/initconf/src/ngchandler.c
initng-gui/initconf/src/ngehandler.c
initng-gui/initconf/src/ngehandler.h
initng-gui/initconf/src/rlparser.c
initng-gui/initconf/src/rlparser.h
Log:
Now both starting services and adding them to runlevels works for wildcard services.
Modified: initng-gui/initconf/TODO
==============================================================================
--- initng-gui/initconf/TODO (original)
+++ initng-gui/initconf/TODO Wed Apr 5 11:25:27 2006
@@ -4,4 +4,3 @@
* Nice way of editing service files, and also a way of creating new ones
* Code commenting
* Clean up stuff on quit, free memory etc.
-* Don't add system/modules/* to runlevel, somehow ask user what to do
Modified: initng-gui/initconf/src/callbacks.c
==============================================================================
--- initng-gui/initconf/src/callbacks.c (original)
+++ initng-gui/initconf/src/callbacks.c Wed Apr 5 11:25:27 2006
@@ -109,7 +109,19 @@
void on_add_button_clicked (GtkButton *button, gpointer user_data)
{
- add_to_rl();
+ GtkWidget *service_list;
+ GtkTreeIter serviceiter;
+ GtkTreeSelection *selected;
+ GtkTreeModel *servicemodel;
+ gchar *servicename;
+
+ service_list = glade_xml_get_widget(xml, "service_list");
+ selected = gtk_tree_view_get_selection(GTK_TREE_VIEW(service_list));
+ gtk_tree_selection_get_selected(selected, &servicemodel, &serviceiter);
+ gtk_tree_model_get (servicemodel, &serviceiter, 0, &servicename, -1);
+
+ add_to_rl(servicename);
+ g_free(servicename);
}
void on_remove_button_clicked (GtkButton *button, gpointer user_data)
@@ -232,6 +244,21 @@
gtk_widget_destroy(gtk_widget_get_toplevel(GTK_WIDGET(button)));
}
+void on_cancel_add_service_button_clicked (GtkButton *button, gpointer user_data)
+{
+ gtk_widget_destroy(gtk_widget_get_toplevel(GTK_WIDGET(button)));
+}
+
+void on_ok_add_service_button_clicked (GtkButton *button, gpointer user_data)
+{
+ GtkWidget *add_service_name_entry;
+
+ add_service_name_entry = glade_xml_get_widget(xml_add_service, "add_service_name_entry");
+
+ add_to_rl(gtk_entry_get_text(GTK_ENTRY(add_service_name_entry)));
+ gtk_widget_destroy(gtk_widget_get_toplevel(GTK_WIDGET(button)));
+}
+
void on_service_list_row_activated (GtkTreeView *treeview, GtkTreePath *path,
GtkTreeViewColumn *column, gpointer user_data)
{
Modified: initng-gui/initconf/src/initconf_globals.h
==============================================================================
--- initng-gui/initconf/src/initconf_globals.h (original)
+++ initng-gui/initconf/src/initconf_globals.h Wed Apr 5 11:25:27 2006
@@ -10,5 +10,6 @@
GladeXML *xml;
GladeXML *xml_new_runlevel;
GladeXML *xml_start_service;
+GladeXML *xml_add_service;
#endif
Modified: initng-gui/initconf/src/ngchandler.c
==============================================================================
--- initng-gui/initconf/src/ngchandler.c (original)
+++ initng-gui/initconf/src/ngchandler.c Wed Apr 5 11:25:27 2006
@@ -50,7 +50,6 @@
"start_service_name_entry");
strncpy(newname, name, strlen(name)-1);
newname[strlen(name)-1] = 0;
- fprintf(stderr, "Copying %s to %s\n", name, newname);
gtk_entry_set_text(GTK_ENTRY(start_service_name_entry), newname);
gtk_editable_set_position(GTK_EDITABLE(start_service_name_entry), -1);
glade_xml_signal_autoconnect(xml_start_service);
Modified: initng-gui/initconf/src/ngehandler.c
==============================================================================
--- initng-gui/initconf/src/ngehandler.c (original)
+++ initng-gui/initconf/src/ngehandler.c Wed Apr 5 11:25:27 2006
@@ -89,7 +89,7 @@
gdk_threads_leave();
}
-void *nge_thread(void *args) {
+void *nge_thread(const void *args) {
nge_event e;
/* Always null this, to reset it */
Modified: initng-gui/initconf/src/ngehandler.h
==============================================================================
--- initng-gui/initconf/src/ngehandler.h (original)
+++ initng-gui/initconf/src/ngehandler.h Wed Apr 5 11:25:27 2006
@@ -24,14 +24,8 @@
#include "libngeclient.h"
#include "initng_nge.h"
-void connected(nge_event *e, int pver, char *initng_version);
-void disconnected(nge_event *e);
-void service_change(nge_event * e, char * service, e_is is, char * state);
-void ping(nge_event *e);
-void service_output(nge_event *e, char * service, char * process, char * output);
-void err_msg(nge_event *e, e_mt mt, char * file, char * func, int line, char * message);
-void sys_state(nge_event * e, h_sys_state state);
+void service_change(nge_event *e, char *service, e_is is, char *state);
-void *nge_thread(void *args);
+void *nge_thread(const void *args);
#endif
Modified: initng-gui/initconf/src/rlparser.c
==============================================================================
--- initng-gui/initconf/src/rlparser.c (original)
+++ initng-gui/initconf/src/rlparser.c Wed Apr 5 11:25:27 2006
@@ -100,10 +100,9 @@
}
/* Add the marked service in the service list to the active runlevel */
-void add_to_rl() {
- GtkWidget *runlevel_list, *service_list;
- GtkTreeIter rliter, serviceiter;
- GtkTreeSelection *selected;
+void add_to_rl(const gchar *name) {
+ GtkWidget *runlevel_list;
+ GtkTreeIter rliter;
GtkTreeModel *servicemodel;
gchar *servicename;
GtkListStore *rlstore;
@@ -113,28 +112,38 @@
int i;
runlevel_list = glade_xml_get_widget(xml, "runlevel_list");
- service_list = glade_xml_get_widget(xml, "service_list");
-
- selected = gtk_tree_view_get_selection(GTK_TREE_VIEW(service_list));
rlstore = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(runlevel_list)));
- if(gtk_tree_selection_get_selected(selected, &servicemodel, &serviceiter)) {
- gtk_tree_model_get (servicemodel, &serviceiter, 0, &servicename, -1);
- gtk_list_store_append (rlstore, &rliter);
- gtk_list_store_set (rlstore, &rliter, 0, servicename, -1);
- g_free(servicename);
+
+ if(strrchr(name, '*')) {
+ gchar *newname = malloc(strlen(name));
+ xml_add_service = glade_xml_new(FILENAME, "initconf_add_service", NULL);
+ if(!xml_add_service)
+ xml_add_service = glade_xml_new(SECONDARY_FILENAME,
+ "initconf_add_service", NULL);
+ GtkWidget *add_service_name_entry = glade_xml_get_widget(xml_add_service,
+ "add_service_name_entry");
+ strncpy(newname, name, strlen(name)-1);
+ newname[strlen(name)-1] = 0;
+ gtk_entry_set_text(GTK_ENTRY(add_service_name_entry), newname);
+ gtk_editable_set_position(GTK_EDITABLE(add_service_name_entry), -1);
+ glade_xml_signal_autoconnect(xml_add_service);
+ free(newname);
+ }
+
+ gtk_list_store_append (rlstore, &rliter);
+ gtk_list_store_set (rlstore, &rliter, 0, name, -1);
- save_button = glade_xml_get_widget(xml, "save_button");
- save1 = glade_xml_get_widget(xml, "save1");
- runlevel_combo = glade_xml_get_widget(xml, "runlevel_combo");
- choosen_rl = gtk_combo_box_get_active(GTK_COMBO_BOX(runlevel_combo));
+ save_button = glade_xml_get_widget(xml, "save_button");
+ save1 = glade_xml_get_widget(xml, "save1");
+ runlevel_combo = glade_xml_get_widget(xml, "runlevel_combo");
+ choosen_rl = gtk_combo_box_get_active(GTK_COMBO_BOX(runlevel_combo));
- for(i = 0; i < choosen_rl; i++) {
- this_rl_struct = this_rl_struct->next;
- }
- this_rl_struct->needs_saving = TRUE;
- gtk_widget_set_sensitive(save_button, TRUE);
- gtk_widget_set_sensitive(save1, TRUE);
+ for(i = 0; i < choosen_rl; i++) {
+ this_rl_struct = this_rl_struct->next;
}
+ this_rl_struct->needs_saving = TRUE;
+ gtk_widget_set_sensitive(save_button, TRUE);
+ gtk_widget_set_sensitive(save1, TRUE);
}
/* Remmove the marked service in the runlevel list from that runlevel */
Modified: initng-gui/initconf/src/rlparser.h
==============================================================================
--- initng-gui/initconf/src/rlparser.h (original)
+++ initng-gui/initconf/src/rlparser.h Wed Apr 5 11:25:27 2006
@@ -23,16 +23,16 @@
void populate_runlevelcombo();
void init_runlevel_list();
void remove_from_rl();
-void add_to_rl();
+void add_to_rl(const gchar *name);
void save_rl();
void new_runlevel(const gchar *rl_name);
void update_rllist(GtkWidget *runlevel_combo);
struct rl_struct {
- gboolean needs_saving;
- GtkListStore *store;
- struct rl_struct *next;
- gchar *filename;
+ gboolean needs_saving; //If the rl has been altered
+ GtkListStore *store; //The store containing the rl
+ struct rl_struct *next; //Pointer to next struct
+ gchar *filename; //Filename to .runlevel file
};
struct rl_struct *runlevel_struct;
More information about the Initng-svn
mailing list