Compare commits

4 Commits

6 changed files with 70 additions and 11 deletions

8
debian/changelog vendored
View File

@@ -1,3 +1,11 @@
projman (2.0.0-alpha23) stable; urgency=medium
* Исправлен флаг модификации при открытии файла
* Исправлена 'Отмена' до пустого файла. Внес исправления на основе изменений https://github.com/wandrien/projman
* Исправлено поведение при сочетании клавиш Control-y (повторение последнего действия)
-- svk <svk@nuk-svk.ru> Mon, 19 Jan 2026 14:49:29 +0300
projman (2.0.0-alpha22) stable; urgency=medium
* Исправил закрытие вкладок редактора и сохранение файла при разделении экрана.

View File

@@ -796,14 +796,15 @@ namespace eval Editor {
bind $txt <Control-comma> "Editor::Comment $txt $fileType"
bind $txt <Control-period> "Editor::Uncomment $txt $fileType"
bind $txt <Control-eacute> Find
bind $txt <Insert> {OverWrite}
# bind $txt <Insert> {OverWrite}
bind $txt <ButtonRelease-1> "Editor::SearchBrackets $txt"
bind $txt <Button-1><ButtonRelease-1> "Editor::SelectionHighlight $txt"
bind $txt <<Modified>> "SetModifiedFlag $w $nb"
bind $txt <<Modified>> "SetModifiedFlag $w $nb auto"
bind $txt <Control-u> "Editor::SearchBrackets %W"
bind $txt <Control-Cyrillic_ghe> "Editor::SearchBrackets %W"
bind $txt <Control-J> "catch {Editor::GoToFunction $txt}"
bind $txt <Control-j> "catch {Editor::GoToFunction $txt}; break"
bind $txt <Control-y> {Redo; break}
bind $txt <Control-Cyrillic_o> "catch {Editor::GoToFunction $txt}; break"
bind $txt <Alt-w> "$txt delete {insert wordstart} {insert wordend}"
bind $txt <Alt-odiaeresis> "$txt delete {insert wordstart} {insert wordend}"
@@ -965,7 +966,7 @@ namespace eval Editor {
set nbEditorItem [NB::InsertItem $nbEditor $fileFullPath "file"]
# puts "$nbEditorItem, $nbEditor"
Editor $fileFullPath $nbEditor $nbEditorItem
SetModifiedFlag $nbEditorItem $nbEditor
SetModifiedFlag $nbEditorItem $nbEditor force
focus -force $nbEditorItem.frmText.t.t
}

View File

@@ -497,6 +497,11 @@ namespace eval FileOper {
$txt delete {end-1 line} end
# puts ">[$txt get {end-1 line} end]<"
}
# ------------
# Thanks https://github.com/wandrien/
# https://github.com/wandrien/projman/commit/7d5539ac2031fbdcb0f4a97465ff19d0c348cf33
$txt edit reset
# -----------
$txt see 1.0
}

View File

@@ -25,8 +25,8 @@ bind . <Control-q> Quit
bind . <Control-Q> Quit
bind . <Control-Cyrillic_shorti> Quit
bind . <Control-eacute> Quit
bind . <Insert> Add
bind . <Delete> Del
# bind . <Insert> Add
# bind . <Delete> Del
bind . <F1> ShowHelpDialog
bind . <Control-n> Editor::New
bind . <Control-N> Editor::New
@@ -62,6 +62,21 @@ bind . <Alt-Cyrillic_el> {
}
}
# -------------
# Thanks https://github.com/wandrien/
# https://github.com/wandrien/projman/commit/22f6e235c3532c20573d44ee7eaaaa1fb56ad544
event add <<Copy>> <Control-Insert>
event add <<Paste>> <Shift-Insert>
event add <<Cut>> <Shift-Delete>
set latestTxtWidget {}
bind all <FocusIn> {
if {[winfo class %W] eq "Ctext"} {
global latestTxtWidget
set latestTxtWidget %W
}
}
# ---------
bind . <Control-s> {FileOper::Save}
bind . <Control-S> {FileOper::Save}
bind . <Control-Cyrillic_hardsign> {FileOper::Save}

View File

@@ -195,9 +195,19 @@ proc ResetModifiedFlag {w nbEditor} {
# puts "ResetModifiedFlag: $lbl"
$nbEditor tab $w -text $lbl
}
proc SetModifiedFlag {w nbEditor} {
proc SetModifiedFlag {w nbEditor flag} {
global modified
#$w.frmText.t edit modified false
# ------------
# Thanks https://github.com/wandrien/
# https://github.com/wandrien/projman/commit/04e5c892ae06d3e013472d292cd4435804184f6b
if {$flag eq "force"} {
$w.frmText.t edit modified true
} else {
if {![$w.frmText.t edit modified]} {
return
}
}
# ---------
set modified($w) "true"
set lbl [$nbEditor tab $w -text]
# puts "SetModifiedFlag: $w; $modified($w); >$lbl<"
@@ -1124,3 +1134,24 @@ proc ExecutorCommandPathSetting {fileType} {
puts $cfgVariables($fileType)
}
}
# -----------
# Thanks https://github.com/wandrien/
# https://github.com/wandrien/projman/commit/22f6e235c3532c20573d44ee7eaaaa1fb56ad544
proc SendEventToLatestTxtWidget {ev} {
global latestTxtWidget
if {$latestTxtWidget eq ""} {
return
} elseif {[winfo exists $latestTxtWidget] && [winfo class $latestTxtWidget] eq "Ctext"} {
event generate ${latestTxtWidget}.t $ev
} else {
set latestTxtWidget ""
}
}
proc Cut {} { SendEventToLatestTxtWidget <<Cut>> }
proc Copy {} { SendEventToLatestTxtWidget <<Copy>> }
proc Paste {} { SendEventToLatestTxtWidget <<Paste>> }
proc Undo {} { SendEventToLatestTxtWidget <<Undo>> }
proc Redo {} { SendEventToLatestTxtWidget <<Redo>> }
# ------------

View File

@@ -9,8 +9,8 @@ exec wish8.6 "$0" -- "$@"
# Home page: https://nuk-svk.ru
######################################################
# Version: 2.0.0
# Release: alpha22
# Build: 19012026144418
# Release: alpha23
# Build: 21012026130048
######################################################
# определим текущую версию, релиз и т.д.
@@ -34,7 +34,6 @@ while {[gets $f line] >=0} {
}
close $f
package require msgcat
package require inifile
package require ctext