Ticket.bjs
[gitlive] / Ticket.vala
index 307ab7f..d2c5aca 100644 (file)
@@ -737,14 +737,7 @@ public class Ticket : Object
             Gtk.TreeIter iter;
             var el = this.el;
             
-            el.append(out iter);
-        
             
-            el.set_value(iter, 0, "");
-            el.set_value(iter, 1, "-- select priority --");
-           // if (id == "") {
-                   _this.priority_id.el.set_active_iter(iter);
-            //}
            var projects = rt.priorities;
             foreach(var project in projects) {
             
@@ -752,9 +745,9 @@ public class Ticket : Object
                 
                 el.set_value(iter, 0, project.id);
                 el.set_value(iter, 1,  project.display_name );
-                //if (id == project.id) {
+                if ("normal" == project.name) {
                           _this.priority_id.el.set_active_iter(iter);
-                   //}   
+                   }   
                 
             }
             
@@ -865,16 +858,7 @@ public class Ticket : Object
             this.el.clear();                                    
             Gtk.TreeIter iter;
             var el = this.el;
-            
-            el.append(out iter);
-        
-            
-            el.set_value(iter, 0, "");
-            el.set_value(iter, 1, "-- select severity --");
-           // if (id == "") {
-                   _this.severity_id.el.set_active_iter(iter);
-           // }
-           
+             
             var projects = rt.serverities;
             foreach(var project in projects) {
             
@@ -882,9 +866,9 @@ public class Ticket : Object
                 
                 el.set_value(iter, 0, project.id);
                 el.set_value(iter, 1,  project.display_name );
-                //if (id == project.id) {
-                       //   _this.severity_id.el.set_active_iter(iter);
-                   //}   
+                if ("normal" == project.name) {
+                          _this.severity_id.el.set_active_iter(iter);
+                   }   
                 
             }
            
@@ -998,13 +982,7 @@ public class Ticket : Object
             
             el.append(out iter);
         
-            
-            el.set_value(iter, 0, "");
-            el.set_value(iter, 1, "-- select a project --");
-          //  if (id == "") {
-                   _this.classification_id.el.set_active_iter(iter);
-        //    }
-            
+             
             var projects = rt.classifications;
             foreach(var project in projects) {
             
@@ -1012,9 +990,9 @@ public class Ticket : Object
                 
                 el.set_value(iter, 0, project.id);
                 el.set_value(iter, 1,  project.display_name );
-            //    if (id == project.id) {
-               //         _this.classification_id.el.set_active_iter(iter);
-               //    }   
+                if ("bug" == project.name) {
+                          _this.classification_id.el.set_active_iter(iter);
+                   }   
                 
             }
             
@@ -1130,7 +1108,7 @@ public class Ticket : Object
         
             
             el.set_value(iter, 0, "");
-            el.set_value(iter, 1, "-- select a project --");
+            el.set_value(iter, 1, "-- select a developer --");
           //  if (id == "") {
                    _this.developer_id.el.set_active_iter(iter);
            // }
@@ -1183,6 +1161,45 @@ public class Ticket : Object
             //listeners
             this.el.clicked.connect( () => {
                GLib.debug("fire response = 1");
+               
+               
+               var invalid = false;
+               
+               // validate first...
+               _this.project_id.el.get_style_context().remove_class("warning");        
+               if (_this.project_id.selectedProjectId() == "") {
+                       _this.project_id.el.get_style_context().add_class("warning");
+                       invalid = true;
+               }
+               
+               _this.milestone_id.el.get_style_context().remove_class("warning");      
+               if (_this.milestone_id.selectedMilestoneId() == "") {
+                       _this.milestone_id.el.get_style_context().add_class("warning");
+                       invalid = true;
+               }
+            
+               _this.priority_id.el.get_style_context().remove_class("warning");       
+               if (_this.priority_id.selectedPriorityId() == "") {
+                       _this.priority_id.el.get_style_context().add_class("warning");
+                       invalid = true;
+               }
+               
+               _this.classification_id.el.get_style_context().remove_class("warning"); 
+               if (_this.classification_id.selectedClassificationId() == "") {
+                       _this.classification_id.el.get_style_context().add_class("warning");
+                       invalid = true;
+               }
+               
+               _this.developer_id.el.get_style_context().remove_class("warning");      
+               if (_this.developer_id.selectedDeveloperId() == "") {
+                       _this.developer_id.el.get_style_context().add_class("warning");
+                       invalid = true;
+               }
+               
+               if (invalid) {
+                       return;
+               }
+               
                _this.el.response(1);
             });
         }