From ac443480fbe3d709006ce450b0f77bd1f539f69b Mon Sep 17 00:00:00 2001 From: Yann Lebrun Date: Tue, 26 Aug 2025 16:52:01 +0200 Subject: [PATCH] New GUI --- main.pb | 75 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/main.pb b/main.pb index 5780600..96681c7 100644 --- a/main.pb +++ b/main.pb @@ -2023,10 +2023,12 @@ Procedure OpenGUI() #WinH = 720 ; plus haut pour la zone d’aide #PanelW = 920 #PanelH = 500 - #InPad = 15 ; marge interne au Panel - #FrmGap = 10 ; espace vertical entre frames - #RowH = 26 + #InPad = 10 ; marge interne au Panel + #InFrmY=30 + #InMargin = 10 ; espace vertical entre frames + ;#RowH = 26 #BtnH = 30 + #BtnW = 95 If OpenWindow(#WinMain, 0, 0, #WinW, #WinH, "Git helpmate", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) @@ -2037,42 +2039,39 @@ Procedure OpenGUI() ; ============================================================ AddGadgetItem(#gdtPnl, -1, T("#gdtPnl-Repo","Dépôt")) Protected PanelH.l=WindowHeight(#WinMain)- 2*#InPad - Protected PanelW.l=900 + ; ---- Cadre "Dépôt local" ---- - FrameGadget(#GdtFrmLocal, #InPad, #InPad, PanelW - 2*#InPad, 100, T("GdtFrmLocal","Dépôt local")) - TextGadget(#GdtLblRepo, #InPad + 10, #InPad + 30, 60, 22, T("GdtLblRepo","Dépôt :")) - StringGadget(#GgtFieldRepo, #InPad + 75, #InPad + 28, #PanelW - 2*#InPad - 75 - 105, #RowH, repoDir$) - ButtonGadget(#GdtBtnBrowseRepo, #PanelW - #InPad - 95, #InPad + 28, 95, #RowH, T("GdtBtnBrowseRepo","Parcourir…")) - ButtonGadget(#GdtBtnInit, #InPad + 10, #InPad + 60, 105, #BtnH, T("GdtBtnInit","Init Dépôt")) - ButtonGadget(#GdtBtnRefresh, #InPad + 120, #InPad + 60, 105, #BtnH, T("GdtBtnRefresh","Rafraîchir")) - + Protected Width.l=#PanelW - #InPad*2 + FrameGadget(#GdtFrmLocal, #InPad, #InPad, Width, #InFrmY+#BtnH*2+#InMargin*2, T("GdtFrmLocal","Dépôt local"),#PB_Frame_Container) + TextGadget(#GdtLblRepo, #InPad, #InFrmY, 60, #BtnH , T("GdtLblRepo","Dépôt :")) + width.l=GadgetWidth(#GdtFrmLocal)-#InPad*3-GadgetWidth(#GdtLblRepo)-#BtnW + StringGadget(#GgtFieldRepo, RightGadget(#GdtLblRepo), #InFrmY, width, #BtnH, repoDir$) + ButtonGadget(#GdtBtnBrowseRepo, RightGadget(#GgtFieldRepo)+#InPad, #InFrmY, #BtnW, #BtnH, T("GdtBtnBrowseRepo","Parcourir…")) + ButtonGadget(#GdtBtnInit, #InPad , DownGadget(#GdtBtnBrowseRepo)+ #InMargin,#BtnW, #BtnH, T("GdtBtnInit","Init Dépôt")) + ButtonGadget(#GdtBtnRefresh, RightGadget(#GdtBtnInit)+#InPad,GadgetY(#GdtBtnInit), #BtnW, #BtnH, T("GdtBtnRefresh","Rafraîchir")) + CloseGadgetList() ; ---- Cadre "Distant" ---- - Define yRemote = #InPad + 100 + #FrmGap - FrameGadget(#GdtFrmRemote, #InPad, yRemote, #PanelW - 2*#InPad, 100, T("GdtFrmRemote","Distant (remote / branche)")) - TextGadget(#GdtLblRemote, #InPad + 10, yRemote + 30, 60, 22, T("GdtLblRemote","Remote :")) - StringGadget(#GdtFieldRemote, #InPad + 75, yRemote + 28, 220, #RowH, "") - TextGadget(#GdtLblBranch, #InPad + 305, yRemote + 30, 70, 22, T("GdtLblBranch","Branche :")) - ComboBoxGadget(#GdtSlctBranch, #InPad + 375, yRemote + 28, 220, #RowH, #PB_ComboBox_Editable) - ButtonGadget(#GdtBtnNewBranch, #PanelW - #InPad - 130, yRemote + 26, 130, #BtnH, T("GdtBtnNewBranch","New branch")) - ButtonGadget(#GdtBtnClone, #InPad + 10, yRemote + 60, 100, #BtnH, T("GdtBtnClone","Clone")) - ButtonGadget(#GdtBtnPull, #InPad + 120, yRemote + 60, 100, #BtnH, T("GdtBtnPull","Pull")) - ButtonGadget(#GdtBtnPush, #InPad + 230, yRemote + 60, 100, #BtnH, T("GdtBtnPush","Push")) - + Define yRemote = DownGadget(#GdtFrmLocal)+ #InPad + FrameGadget(#GdtFrmRemote, #InPad, yRemote, #PanelW - 2*#InPad, #InFrmY+#BtnH*2+#InMargin*2, T("GdtFrmRemote","Distant (remote / branche)"),#PB_Frame_Container) + TextGadget(#GdtLblRemote, #InPad , #InFrmY, 60, #BtnH, T("GdtLblRemote","Remote :")) + StringGadget(#GdtFieldRemote, RightGadget(#GdtLblRemote)+#InMargin, #InFrmY, 420, #BtnH, "") + TextGadget(#GdtLblBranch, RightGadget(#GdtFieldRemote)+ #InMargin, #InFrmY, 70, #BtnH, T("GdtLblBranch","Branche :")) + ComboBoxGadget(#GdtSlctBranch, RightGadget(#GdtLblBranch), #InFrmY, 220, #BtnH, #PB_ComboBox_Editable) + ButtonGadget(#GdtBtnNewBranch, RightGadget(#GdtSlctBranch), #InFrmY, 130, #BtnH, T("GdtBtnNewBranch","New branch")) + ButtonGadget(#GdtBtnClone, #InPad,DownGadget(#GdtLblRemote)+#InMargin, #BtnW,#BtnH, T("GdtBtnClone","Clone")) + ButtonGadget(#GdtBtnPull, RightGadget(#GdtBtnClone)+#InPad,GadgetY(#GdtBtnClone), #BtnW, #BtnH, T("GdtBtnPull","Pull")) + ButtonGadget(#GdtBtnPush, RightGadget(#GdtBtnPull)+#InPad,GadgetY(#GdtBtnClone), #BtnW, #BtnH, T("GdtBtnPush","Push")) + CloseGadgetList() ; ---- Cadre "Fichiers & modifications" ---- - Define yFiles = yRemote + 100 + #FrmGap + Define yFiles = DownGadget(#GdtFrmRemote)+ #InPad Define hFiles = #PanelH - yFiles - #InPad - FrameGadget(#GdtFrmFiles, #InPad, yFiles, #PanelW - 2*#InPad, hFiles, T("GdtFrmFiles","Fichiers & modifications")) - - ; Liste des fichiers — hauteur auto (pas de nouvelle variable) - Define listTop = yFiles + 25 - Define listH = hFiles - (25 + 10 + 2*#BtnH + 20) - If listH < 120 : listH = 120 : EndIf - ListIconGadget(#GdtListStatus, #InPad + 10, listTop, #PanelW - 2*#InPad - 20, listH, T("GdtListStatus-Path","Path"), 300, #PB_ListIcon_CheckBoxes | #PB_ListIcon_MultiSelect | #PB_ListIcon_FullRowSelect |#PB_ListIcon_AlwaysShowSelection) + FrameGadget(#GdtFrmFiles, #InPad, yFiles, #PanelW - 2*#InPad, hFiles, T("GdtFrmFiles","Fichiers & modifications"),#PB_Frame_Container) + ListIconGadget(#GdtListStatus, #InPad, #InFrmY, GadgetWidth(#GdtFrmFiles)-2*#InPad, 120, T("GdtListStatus-Path","Path"), 300, #PB_ListIcon_CheckBoxes | #PB_ListIcon_MultiSelect | #PB_ListIcon_FullRowSelect |#PB_ListIcon_AlwaysShowSelection) AddGadgetColumn(#GdtListStatus, 1, T("GdtListStatus-Status","Status"), 50) AddGadgetColumn(#GdtListStatus, 2, T("GdtListStatus-Desc","Description"), 300) ; Actions locales - Define yLocalActions = listTop + listH + 10 + Define yLocalActions = DownGadget(#GdtListStatus)+#InMargin ButtonGadget(#GdtBtnRestore, #InPad + 10, yLocalActions, 110, #BtnH, T("GdtBtnRestore","Restaurer")) ButtonGadget(#GdtBtnRename, #InPad + 130, yLocalActions, 110, #BtnH, T("GdtBtnRename","Renommer")) ButtonGadget(#GdtBtnDelete, #InPad + 250, yLocalActions, 110, #BtnH, T("GdtBtnDelete","Supprimer")) @@ -2081,9 +2080,9 @@ Procedure OpenGUI() ; Message de commit Define yMsg = yLocalActions + #BtnH + 10 TextGadget(#GdtLblMessage, #InPad + 10, yMsg + 4, 80, 22, T("GdtLblMessage","Message :")) - StringGadget(#GdtFieldMessage, #InPad + 95, yMsg, #PanelW - 2*#InPad - 95 - 110, #RowH, "") + StringGadget(#GdtFieldMessage, #InPad + 95, yMsg, #PanelW - 2*#InPad - 95 - 110, #BtnH, "") ButtonGadget(#GdtBtnCommit, #PanelW - #InPad - 100, yMsg - 2, 100, #BtnH, T("GdtBtnCommit","Commit")) - + CloseGadgetList() ; ============================================================ ; Onglet 2 : History ; ============================================================ @@ -2129,11 +2128,11 @@ Procedure OpenGUI() FrameGadget(#GdtFrmConfig, #InPad, #InPad, #PanelW - 2*#InPad, 170, T("GdtFrmConfig","Configuration Git")) TextGadget(#GdtLblUserName, #InPad + 10, #InPad + 35, 90, 22, "user.name") - StringGadget(#GdtFieldUserName, #InPad + 110, #InPad + 33, #PanelW - 2*#InPad - 120, #RowH, "") + StringGadget(#GdtFieldUserName, #InPad + 110, #InPad + 33, #PanelW - 2*#InPad - 120, #BtnH, "") TextGadget(#GdtLblUserEmail, #InPad + 10, #InPad + 70, 90, 22, "user.email") - StringGadget(#GdtFieldUserEmail, #InPad + 110, #InPad + 68, #PanelW - 2*#InPad - 120, #RowH, "") + StringGadget(#GdtFieldUserEmail, #InPad + 110, #InPad + 68, #PanelW - 2*#InPad - 120, #BtnH, "") TextGadget(#GdtLblScope, #InPad + 10, #InPad + 105, 90, 22, T("GdtLblScope","Portée")) - ComboBoxGadget(#GdtSlctScope, #InPad + 110, #InPad + 103, 180, #RowH) + ComboBoxGadget(#GdtSlctScope, #InPad + 110, #InPad + 103, 180, #BtnH) AddGadgetItem(#GdtSlctScope, -1, "Local") AddGadgetItem(#GdtSlctScope, -1, "System") AddGadgetItem(#GdtSlctScope, -1, "Global") @@ -2285,8 +2284,8 @@ OpenGUI() ; IDE Options = PureBasic 6.21 (Windows - x64) -; CursorPosition = 1871 -; FirstLine = 1867 +; CursorPosition = 2040 +; FirstLine = 2021 ; Folding = ---------- ; Optimizer ; EnableThread