[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