Переделана процедура определения активного проекта. Исправлено определение ветки git.

Теперь можно нормально работать в двух и более открытых проектах (каталогах/папках)
master
svkalinin 2022-11-24 13:28:11 +03:00
parent f8c268294a
commit 0d5832c84c
6 changed files with 50 additions and 18 deletions

View File

@ -135,16 +135,16 @@ namespace eval FileOper {
set dir $env(HOME)
}
set fullPath [tk_chooseDirectory -initialdir $dir -parent .]
set file [string range $fullPath [expr [string last "/" $fullPath]+1] end]
regsub -all "." $file "_" node
set dir [file dirname $fullPath]
# EditFile .frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles $node $fullPath
# puts $fullPath
if ![info exists activeProject] {
set activeProject $fullPath
}
.frmStatus.lblGitLogo configure -image git_logo_20x20
.frmStatus.lblGit configure -text "[::msgcat::mc "Branch"]: [Git::Branches current]"
# set file [string range $fullPath [expr [string last "/" $fullPath]+1] end]
# regsub -all "." $file "_" node
# set dir [file dirname $fullPath]
# # EditFile .frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles $node $fullPath
# # puts $fullPath
# if ![info exists activeProject] {
# set activeProject $fullPath
# }
# .frmStatus.lblGitLogo configure -image git_logo_20x20
# .frmStatus.lblGit configure -text "[::msgcat::mc "Branch"]: [Git::Branches current]"
return $fullPath
}
@ -172,10 +172,10 @@ namespace eval FileOper {
set prevProj [$tree prev $treeItem]
# puts $prevProj
if {$nextProj ne ""} {
set activeProject [$tree item $nextProj -values]
SetActiveProject [$tree item $nextProj -values]
puts $activeProject
} elseif {$prevProj ne ""} {
set activeProject [$tree item $prevProj -values]
SetActiveProject [$tree item $prevProj -values]
puts $activeProject
} else {
unset activeProject

View File

@ -94,7 +94,10 @@ namespace eval Git {
set d [pwd]
if {$activeProject ne ""} {
cd $activeProject
} else {
return ""
}
puts $activeProject
lappend cmd $cfgVariables(gitCommand)
lappend cmd "branch"
# lappend cmd "-s"

View File

@ -29,7 +29,8 @@ proc GetFileMenu {m} {
$m add command -label [::msgcat::mc "Open folder"] -accelerator "Ctrl+K" -command {
set folderPath [FileOper::OpenFolderDialog]
if {$folderPath != ""} {
set activeProject $folderPath
# set activeProject $folderPath
SetActiveProject $folderPath
FileOper::ReadFolder $folderPath
ReadFilesFromDirectory $folderPath $folderPath
}

View File

@ -651,3 +651,20 @@ proc ShowMessage {title msg} {
ok {return}
}
}
proc SetActiveProject {path} {
global activeProject projman
set activeProject $path
set titleFolder [file tail $path]
wm title . "ProjMan \($projman(Version)-$projman(Release)\) - $titleFolder"
# set file [string range $fullPath [expr [string last "/" $fullPath]+1] end]
# regsub -all "." $file "_" node
# set dir [file dirname $fullPath]
# EditFile .frmBody.frmCat.noteBook.ffiles.frmTreeFiles.treeFiles $node $fullPath
# puts $fullPath
# if ![info exists activeProject] {
# set activeProject $fullPath
# }
.frmStatus.lblGitLogo configure -image git_logo_20x20
.frmStatus.lblGit configure -text "[::msgcat::mc "Branch"]: [Git::Branches current]"
}

View File

@ -91,11 +91,11 @@ namespace eval Tree {
}
proc PressItem {tree} {
global nbEditor lexers editors
global nbEditor lexers editors activeProject
set id [$tree selection]
$tree tag remove selected
$tree item $id -tags selected
SetActiveProject [GetItemID $tree [GetUpperItem $tree $id]]
set values [$tree item $id -values]
set key [lindex [split $id "::"] 0]
if {$values eq "" || $key eq ""} {return}
@ -144,4 +144,14 @@ namespace eval Tree {
$tree selection set $treeItemName
}
}
proc GetUpperItem {tree item} {
set parent [$tree parent $item]
if {$parent eq ""} {
return $item
} else {
GetUpperItem $tree $parent
}
}
}

View File

@ -10,7 +10,7 @@ exec wish "$0" -- "$@"
######################################################
# Version: 2.0.0
# Release: alpha
# Build: 24112022115832
# Build: 24112022132653
######################################################
# определим текущую версию, релиз и т.д.
@ -118,7 +118,8 @@ if [info exists opened] {
exit
}
if [file isdirectory $path] {
set activeProject $path
# set activeProject $path
SetActiveProject $path
.frmStatus.lblGitLogo configure -image git_logo_20x20
.frmStatus.lblGit configure -text "[::msgcat::mc "Branch"]: [Git::Branches current]"
FileOper::ReadFolder $path
@ -130,7 +131,7 @@ if [info exists opened] {
} else {
if {$cfgVariables(opened) ne ""} {
# puts "<$cfgVariables(opened)"
set activeProject $cfgVariables(opened)
SetActiveProject $cfgVariables(opened)
.frmStatus.lblGitLogo configure -image git_logo_20x20
.frmStatus.lblGit configure -text "[::msgcat::mc "Branch"]: [Git::Branches current]"
FileOper::ReadFolder $cfgVariables(opened)