Browse Source

CH: Added menus in project tree and a new hyperlink for the support email address

Jean-Francois Goulet 20 years ago
parent
commit
562fa50092
2 changed files with 38 additions and 24 deletions
  1. 15 3
      LuaEdit/ProjectTree.dfm
  2. 23 21
      LuaEdit/ProjectTree.pas

+ 15 - 3
LuaEdit/ProjectTree.dfm

@@ -194,13 +194,25 @@ object frmProjectTree: TfrmProjectTree
     object ActivateSelectedProject1: TMenuItem
       Action = frmMain.actActiveSelPrj
     end
-    object N1: TMenuItem
-      Caption = '-'
-    end
     object UnloadFileProject1: TMenuItem
       Caption = 'Unload File/Project'
       OnClick = UnloadFileProject1Click
     end
+    object N2: TMenuItem
+      Caption = '-'
+    end
+    object AddUnittoProject1: TMenuItem
+      Action = frmMain.actAddToPrj
+    end
+    object RemoveUnitFromProject1: TMenuItem
+      Action = frmMain.actRemoveFromPrj
+    end
+    object N1: TMenuItem
+      Caption = '-'
+    end
+    object Options1: TMenuItem
+      Action = frmMain.actPrjSettings
+    end
   end
   object JvDockClient1: TJvDockClient
     LRDockWidth = 100

+ 23 - 21
LuaEdit/ProjectTree.pas

@@ -17,6 +17,10 @@ type
     UnloadFileProject1: TMenuItem;
     JvDockClient1: TJvDockClient;
     trvProjectTree: TJvDotNetTreeView;
+    N2: TMenuItem;
+    AddUnittoProject1: TMenuItem;
+    RemoveUnitFromProject1: TMenuItem;
+    Options1: TMenuItem;
     procedure trvProjectTreeDblClick(Sender: TObject);
     procedure trvProjectTreeMouseDown(Sender: TObject;
       Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
@@ -286,32 +290,30 @@ begin
 end;
 
 procedure TfrmProjectTree.ppmProjectTreePopup(Sender: TObject);
+var
+  pNode: TTreeNode;
 begin
+  // set all menus status initially to false
+  UnloadFileProject1.Enabled := False;
+  AddUnittoProject1.Enabled := False;
+  RemoveUnitFromProject1.Enabled := False;
+  Options1.Enabled := False;
+
+  // Only if a menu is selected
   if Assigned(trvProjectTree.Selected) then
   begin
-    if ((trvProjectTree.Selected.ImageIndex = 0) or (trvProjectTree.Selected.SelectedIndex = 0)) then
-    begin
-      UnloadFileProject1.Enabled := True;
-    end
-    else if ((trvProjectTree.Selected.ImageIndex = 1) or (trvProjectTree.Selected.SelectedIndex = 1)) then
-    begin
-      if not Assigned(trvProjectTree.Selected.Parent) then
-      begin
-        UnloadFileProject1.Enabled := True;
-      end
-      else
-      begin
-        UnloadFileProject1.Enabled := False;
-      end;
-    end
-    else
+    // Only if data is attached to the selected node
+    if Assigned(trvProjectTree.Selected.Data) then
     begin
-      UnloadFileProject1.Enabled := False;
+      // getting selected node
+      pNode := trvProjectTree.Selected;
+
+      // setting menu status
+      AddUnittoProject1.Enabled := (trvProjectTree.Selected.Data = ActiveProject);
+      RemoveUnitFromProject1.Enabled := (trvProjectTree.Selected.Data = ActiveProject);
+      Options1.Enabled := (trvProjectTree.Selected.Data = ActiveProject);
+      UnloadFileProject1.Enabled := (((((pNode.ImageIndex = 1) or (pNode.SelectedIndex = 1)) and (not Assigned(pNode.Parent))) or ((pNode.ImageIndex = 0) or (pNode.SelectedIndex = 0))));
     end;
-  end
-  else
-  begin
-    UnloadFileProject1.Enabled := False;
   end;
 end;