Добавлен диалог перехода по номеру строки Ctrl-G
This commit is contained in:
parent
3cbc7c1f48
commit
3a792d7774
|
@ -720,7 +720,7 @@ namespace eval Editor {
|
|||
#$txt tag bind Sel <Control-/> {puts ">>>>>>>>>>>>>>>>>>>"}
|
||||
#bind $txt <Control-slash> {puts "/////////////////"}
|
||||
# #bind $txt <Control-g> GoToLine
|
||||
# bind $txt <Control-g> {focus .frmTool.frmGoto.entGoTo; .frmTool.frmGoto.entGoTo delete 0 end}
|
||||
bind $txt <Control-g> "Editor::GoToLineNumberDialog $txt"
|
||||
bind $txt <Control-agrave> "Editor::FindDialog $w"
|
||||
bind $txt <Control-f> "Editor::FindDialog $txt"
|
||||
bind $txt <Control-F> "Editor::FindDialog $txt"
|
||||
|
@ -1302,6 +1302,57 @@ namespace eval Editor {
|
|||
$text see insert
|
||||
}
|
||||
|
||||
proc GoToLineNumberDialog {w} {
|
||||
global editors lexers
|
||||
variable txt
|
||||
variable win
|
||||
# set txt $w.frmText.t
|
||||
set txt $w
|
||||
set win .gotoline
|
||||
set box [$txt bbox insert]
|
||||
set x [expr [lindex $box 0] + [winfo rootx $txt] ]
|
||||
set y [expr [lindex $box 1] + [winfo rooty $txt] + [lindex $box 3] ]
|
||||
|
||||
if { [winfo exists $win] } { destroy $win }
|
||||
toplevel $win
|
||||
wm transient $win .
|
||||
wm overrideredirect $win 1
|
||||
|
||||
ttk::entry $win.ent
|
||||
pack $win.ent -expand true -fill y -side left
|
||||
|
||||
bind $win <Escape> {
|
||||
destroy $Editor::win
|
||||
focus -force $Editor::txt.t
|
||||
break
|
||||
}
|
||||
bind $win.ent <Escape> {
|
||||
destroy $Editor::win
|
||||
focus -force $Editor::txt.t
|
||||
break
|
||||
}
|
||||
bind $win.ent <Return> {
|
||||
set lineNumber [.gotoline.ent get]
|
||||
# $txt see insert $lineNumber
|
||||
puts $Editor::txt
|
||||
$Editor::txt mark set insert $lineNumber.0
|
||||
$Editor::txt see insert
|
||||
focus $Editor::txt.t
|
||||
destroy .gotoline
|
||||
break
|
||||
}
|
||||
# Определям расстояние до края экрана (основного окна) и если
|
||||
# оно меньше размера окна со списком то сдвигаем его вверх
|
||||
set winGeom [winfo reqheight $win]
|
||||
set topHeight [winfo height .]
|
||||
# puts "$x, $y, $winGeom, $topHeight"
|
||||
if [expr [expr $topHeight - $y] < $winGeom] {
|
||||
set y [expr $topHeight - $winGeom]
|
||||
}
|
||||
wm geom $win +$x+$y
|
||||
focus $win.ent
|
||||
}
|
||||
|
||||
proc EditorWidget {fr fileType} {
|
||||
global cfgVariables editors
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ namespace eval FileOper {
|
|||
{"All files" *}
|
||||
}
|
||||
|
||||
proc GetFileType {fileFullPath {opt ""}} {
|
||||
proc GetFileMimeType {fileFullPath {opt ""}} {
|
||||
global cfgVariables
|
||||
# Проверям наличие программы в системе, если есть то добавляем опции
|
||||
# если нет то используем тиклевый пакет
|
||||
|
@ -32,7 +32,7 @@ namespace eval FileOper {
|
|||
# lappend cmd $activeProject
|
||||
lappend cmd $fileFullPath
|
||||
catch $cmd pipe
|
||||
puts $pipe
|
||||
# puts $pipe
|
||||
if [regexp -nocase -- {(\w+)/([[:alnum:]-]+); charset=([[:alnum:]-]+)} $pipe m fType fExt fCharset] {
|
||||
puts "$fType $fExt $fCharset"
|
||||
}
|
||||
|
@ -360,7 +360,7 @@ namespace eval FileOper {
|
|||
return false
|
||||
} else {
|
||||
# puts [::fileutil::magic::filetype $fileFullPath]
|
||||
set fileType [FileOper::GetFileType $fileFullPath]
|
||||
set fileType [FileOper::GetFileMimeType $fileFullPath]
|
||||
}
|
||||
switch $fileType {
|
||||
"text" {
|
||||
|
@ -393,7 +393,7 @@ namespace eval FileOper {
|
|||
$itemName.frmText.t.t see 1.0
|
||||
focus -force $itemName.frmText.t.t
|
||||
.frmStatus.lblSize configure -text [GetFileAttr $fileFullPath "size"]
|
||||
.frmStatus.lblEncoding configure -text [GetFileType $fileFullPath "charset"]
|
||||
.frmStatus.lblEncoding configure -text [GetFileMimeType $fileFullPath "charset"]
|
||||
return $itemName
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ exec wish "$0" -- "$@"
|
|||
######################################################
|
||||
# Version: 2.0.0
|
||||
# Release: alpha
|
||||
# Build: 09112022170027
|
||||
# Build: 10112022153556
|
||||
######################################################
|
||||
|
||||
# определим текущую версию, релиз и т.д.
|
||||
|
|
Loading…
Reference in New Issue
Block a user