Исправил скрипт сборки пакета. Добавил .gitignore

master
svkalinin 2022-07-21 13:09:09 +03:00
parent db222d0b84
commit d66756c7da
1195 changed files with 9 additions and 8079 deletions

7
.gitignore vendored 100644
View File

@ -0,0 +1,7 @@
debian/.debhelper
debian/projman
debian/source
debian/update-desktop-database
debian/projman.substvars
debian/files
debian/projman.debhelper.log

2
debian/compat vendored
View File

@ -1 +1 @@
8
10

View File

@ -1,86 +0,0 @@
dh_prep
dh_installdirs
dh_prep
dh_installdirs
dh_prep
dh_installdirs
dh_install
dh_prep
dh_installdirs
dh_install
dh_prep
dh_installdirs
dh_prep
dh_installdirs
dh_prep
dh_installdirs
dh_install
dh_installdocs
dh_installchangelogs
dh_compress
dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
dh_prep
dh_installdirs
dh_install
dh_installdocs
dh_installchangelogs
dh_compress
dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
dh_prep
dh_installdirs
dh_install
dh_installdocs
dh_installchangelogs
dh_compress
dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
dh_prep
dh_installdirs
dh_install
dh_installdocs
dh_installchangelogs
dh_compress
dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
dh_prep
dh_installdirs
dh_install
dh_installdocs
dh_installchangelogs
dh_compress
dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
dh_prep
dh_installdirs
dh_install
dh_installdocs
dh_installchangelogs
dh_compress
dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb

View File

@ -1,10 +0,0 @@
Package: projman
Version: 2.0.0-alpha
Architecture: amd64
Maintainer: Sergey Kalinin svk@nuk-svk.ru
Installed-Size: 1563
Depends: tcl (>= 8.6), tk (>= 8.6), tcllib, tklib
Section: Develop
Priority: optional
Homepage: https://nuk-svk.ru
Description: Projman is a yet another editor

File diff suppressed because it is too large Load Diff

View File

@ -1,113 +0,0 @@
#!/bin/sh
# Tcl ignores the next line -*- tcl -*- \
exec wish "$0" -- "$@"
######################################################
# Tcl/Tk Project manager 2.0
# Distributed under GNU Public License
# Author: Sergey Kalinin svk@nuk-svl.ru
# Home page: https://nuk-svk.ru
######################################################
# Version: 2.0.0
# Release: alpha
######################################################
# определим текущую версию и релиз
set f [open [info script] "RDONLY"]
while {[gets $f line] >=0} {
if [regexp -nocase -all -- {version:\s+([0-9]+?.[0-9]+?.[0-9]+?)} $line match v1] {
set projmanVersion $v1
}
if [regexp -nocase -all -- {release:\s+([a-z0-9]+?)} $line match v1] {
set projmanRelease $v1
}
}
close $f
puts "Projman version $projmanVersion-$projmanRelease"
if { $::argc > 0 } {
foreach arg $::argv {
lappend opened $arg
}
puts $opened
}
package require msgcat
package require inifile
package require ctext
# Устанавливаем текущий каталог
set dir(root) /usr/share/projman
set dir(doc) [file join $dir(root) doc]
# Устанавливаем рабочий каталог, если его нет то создаём.
# Согласно спецификации XDG проверяем наличие переменных и каталогов
if [info exists env(XDG_CONFIG_HOME)] {
set dir(cfg) [file join $env(XDG_CONFIG_HOME) projman]
} elseif [file exists [file join $env(HOME) .config]] {
set dir(cfg) [file join $env(HOME) .config projman]
} else {
set dir(cfg) [file join $env(HOME) .projman]
}
if {[file exists $dir(cfg)] == 0} {
file mkdir $dir(cfg)
}
puts "Config dir is $dir(cfg)"
# каталог с модулями
set dir(lib) /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# /usr/share/projman/lib ;# "[file join $dir(root) lib]"
source [file join $dir(lib) config.tcl]
foreach modFile [lsort [glob -nocomplain [file join $dir(lib) *.tcl]]] {
if {[file tail $modFile] ne "gui.tcl" && [file tail $modFile] ne "config.tcl"} {
source $modFile
puts "Loading module $modFile"
}
}
# TTK Theme loading
set dir(theme) "[file join $dir(root) theme]"
foreach modFile [lsort [glob -nocomplain [file join $dir(theme) *]]] {
if [file isdirectory $modFile] {
source $modFile/[file tail $modFile].tcl
puts "Loading theme $modFile.tcl"
} elseif {[file extension $modFile] eq ".tcl"} {
source $modFile
puts "Loading theme $modFile"
}
}
# загружаем пользовательский конфиг, если он отсутствует, то копируем дефолтный
if {[file exists [file join $dir(cfg) projman.ini]] ==0} {
Config::create $dir(cfg)
}
Config::read $dir(cfg)
::msgcat::mclocale $cfgVariables(locale)
if [::msgcat::mcload [file join $dir(lib) msgs]] {
puts "Load locale messages... OK"
}
puts "Setting the locale... [::msgcat::mclocale]"
source [file join $dir(lib) gui.tcl]
# Open the PATH if command line argument has been setting
if [info exists opened] {
puts $opened
foreach path $opened {
if [file isdirectory $path] {
FileOper::ReadFolder $path
} elseif [file exists $path] {
ResetModifiedFlag [FileOper::Edit $path]
}
}
}

View File

@ -1,11 +0,0 @@
[Desktop Entry]
Name=ProjMan
GenericName=Text Editor
Comment=A source editor with syntax highlighting and procedure navigation, a context-sensitive help system, and much more.
Exec=projman %F
Terminal=false
Type=Application
StartupNotify=true
MimeType=text/plain;
Categories=Development;TextEditor;
Icon=projman-48

View File

@ -1,6 +0,0 @@
######################################################
# Tcl/Tk Project manager 2.0
# Distributed under GNU Public License
# Author: Sergey Kalinin svk@nuk-svl.ru
# Home page: https://nuk-svk.ru
######################################################

View File

@ -1,8 +0,0 @@
######################################################
# Tcl/Tk Project manager 2.0
# Distributed under GNU Public License
# Author: Sergey Kalinin svk@nuk-svl.ru
# Home page: https://nuk-svk.ru
######################################################
2. Подстветку текущей вкладки и элемента в дереве

Binary file not shown.

View File

@ -1,15 +0,0 @@
Projman is a yet another editor
Copyright: GPL
Information from the binary package:
Name : projman Relocations: (not relocatable)
Version : 1.0.3 Vendor: SVK
Release : 1 Build Date: Пн 17 сен 2018 11:49:36
Install date: (not installed) Build Host: alt-ws.localdomain
Group : System
Size : License: GPL
URL : https://bitbucket.org/svk28/rac-gui
Summary : Projman is a yet another editor
Description :
Projman is a yet another editor

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -1,82 +0,0 @@
######################################################
# ProjMan 2
# Distributed under GNU Public License
# Author: Sergey Kalinin svk@nuk-svk.ru
# Copyright (c) "", 2022, https://nuk-svk.ru
######################################################
# The config file procedures
# create
# copy
# save
######################################################
namespace eval Config {} {
variable cfgINISections
variable cfgVariables
}
if [info exists env(LANG)] {
set locale $env(LANG)
} else {
set locale "en"
}
set ::configDefault "\[General\]
locale=$locale
cfgModifyDate=''
\[GUI\]
theme=dark
toolBarShow=true
menuShow=true
filesPanelShow=true
geometry=1024x768
\[Editor\]
autoFormat=true
font=courier 10 normal roman
fontBold=courier 10 bold roman
backGround=#333333
foreground=#cccccc
selectbg=#10a410a410a4
nbNormal=#000000
nbModify=#ffff5d705d70
lineNumberFG=#a9a9a9
selectBorder=0
# must be: none, word or char
editorWrap=word
lineNumberShow=true
tabSize=4
"
proc Config::create {dir} {
set cfgFile [open [file join $dir projman.ini] "w+"]
puts $cfgFile $::configDefault
close $cfgFile
}
proc Config::read {dir} {
set cfgFile [ini::open [file join $dir projman.ini] "r"]
foreach section [ini::sections $cfgFile] {
foreach key [ini::keys $cfgFile $section] {
lappend ::cfgINIsections($section) $key
set ::cfgVariables($key) [ini::value $cfgFile $section $key]
}
}
ini::close $cfgFile
}
proc Config::write {dir} {
set cfgFile [ini::open [file join $dir projman.ini] "w"]
foreach section [array names ::cfgINIsections] {
foreach key $::cfgINIsections($section) {
ini::set $cfgFile $section $key $::cfgVariables($key)
}
}
set systemTime [clock seconds]
# Set a config modify time (i don't know why =))'
ini::set $cfgFile "General" cfgModifyDate [clock format $systemTime -format "%D %H:%M:%S"]
# Save an top level window geometry into config
ini::set $cfgFile "GUI" geometry [wm geometry .]
ini::commit $cfgFile
ini::close $cfgFile
}

View File

@ -1,443 +0,0 @@
######################################################
# ProjMan 2
# Distributed under GNU Public License
# Author: Sergey Kalinin svk@nuk-svk.ru
# Copyright (c) "SVK", 2022, https://nuk-svk.ru
######################################################
# Editor module
######################################################
namespace eval Editor {
variable selectionTex
proc Comment {txt} {
set selIndex [$txt tag ranges sel]
set pos [$txt index insert]
set lineNum [lindex [split $pos "."] 0]
set PosNum [lindex [split $pos "."] 1]
puts "Select : $selIndex"
if {$selIndex != ""} {
set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
set posBegin [lindex [split [lindex $selIndex 1] "."] 0]
set posEnd [lindex [split [lindex $selIndex 1] "."] 1]
if {$lineEnd == $lineNum || $posEnd == 0} {
set lineEnd [expr $lineEnd - 1]
}
for {set i $lineBegin} {$i <=$lineEnd} {incr i} {
#$txt insert $i.0 "# "
regexp -nocase -indices -- {^(\s*)(.*?)} [$txt get $i.0 $i.end] match v1 v2
$txt insert $i.[lindex [split $v2] 0] "# "
}
$txt tag add comments $lineBegin.0 $lineEnd.end
$txt tag raise comments
} else {
regexp -nocase -indices -- {^(\s*)(.*?)} [$txt get $lineNum.0 $lineNum.end] match v1 v2
$txt insert $lineNum.[lindex [split $v2] 0] "# "
$txt tag add comments $lineNum.0 $lineNum.end
$txt tag raise comments
}
}
proc Uncomment {txt} {
set selIndex [$txt tag ranges sel]
set pos [$txt index insert]
set lineNum [lindex [split $pos "."] 0]
set posNum [lindex [split $pos "."] 1]
if {$selIndex != ""} {
set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
set posBegin [lindex [split [lindex $selIndex 1] "."] 0]
set posEnd [lindex [split [lindex $selIndex 1] "."] 1]
if {$lineEnd == $lineNum || $posEnd == 0} {
set lineEnd [expr $lineEnd - 1]
}
for {set i $lineBegin} {$i <=$lineEnd} {incr i} {
set str [$txt get $i.0 $i.end]
if {[regexp -nocase -indices -- {(^| )(#\s)(.+)} $str match v1 v2 v3]} {
$txt delete $i.[lindex [split $v2] 0] $i.[lindex [split $v3] 0]
}
}
$txt tag remove comments $lineBegin.0 $lineEnd.end
$txt tag add sel $lineBegin.0 $lineEnd.end
$txt highlight $lineBegin.0 $lineEnd.end
} else {
#set posNum [lindex [split $pos "."] 1]
set str [$txt get $lineNum.0 $lineNum.end]
if {[regexp -nocase -indices -- {(^| )(#\s)(.+)} $str match v1 v2 v3]} {
puts ">>>>> $v1, $v2, $v3"
$txt delete $lineNum.[lindex [split $v2] 0] $lineNum.[lindex [split $v3] 0]
#$txt insert $i.0 $v3
}
$txt tag remove comments $lineNum.0 $lineNum.end
$txt highlight $lineNum.0 $lineNum.end
}
}
proc InsertTabular {txt} {
global cfgVariables
set selIndex [$txt tag ranges sel]
set pos [$txt index insert]
set lineNum [lindex [split $pos "."] 0]
puts "Select : $selIndex"
for {set i 0} {$i < $cfgVariables(tabSize)} { incr i} {
append tabInsert " "
}
puts ">$tabInsert<"
if {$selIndex != ""} {
set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
set posBegin [lindex [split [lindex $selIndex 1] "."] 0]
set posEnd [lindex [split [lindex $selIndex 1] "."] 1]
# if {$lineBegin == $lineNum} {
# set lineBegin [expr $lineBegin + 1]
# }
if {$lineEnd == $lineNum || $posEnd == 0} {
set lineEnd [expr $lineEnd - 1]
}
puts "Pos: $pos, Begin: $lineBegin, End: $lineEnd"
for {set i $lineBegin} {$i <=$lineEnd} {incr i} {
#$txt insert $i.0 "# "
regexp -nocase -indices -- {^(\s*)(.*?)} [$txt get $i.0 $i.end] match v1 v2
$txt insert $i.[lindex [split $v2] 0] $tabInsert
}
$txt tag remove sel $lineBegin.$posBegin $lineEnd.$posEnd
$txt tag add sel $lineBegin.0 $lineEnd.end
$txt highlight $lineBegin.0 $lineEnd.end
} else {
# set pos [$txt index insert]
# set lineNum [lindex [split $pos "."] 0]
regexp -nocase -indices -- {^(\s*)(.*?)} [$txt get $lineNum.0 $lineNum.end] match v1 v2
puts "$v1<>$v2"
$txt insert $lineNum.[lindex [split $v2] 0] $tabInsert
}
}
proc DeleteTabular {txt} {
global cfgVariables
set selIndex [$txt tag ranges sel]
set pos [$txt index insert]
set lineNum [lindex [split $pos "."] 0]
if {$selIndex != ""} {
set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
set posBegin [lindex [split [lindex $selIndex 1] "."] 0]
set posEnd [lindex [split [lindex $selIndex 1] "."] 1]
if {$lineEnd == $lineNum && $posEnd == 0} {
set lineEnd [expr $lineEnd - 1]
}
for {set i $lineBegin} {$i <=$lineEnd} {incr i} {
set str [$txt get $i.0 $i.end]
if {[regexp -nocase -indices -- {(^\s*)(.*?)} $str match v1 v2]} {
set posBegin [lindex [split $v1] 0]
set posEnd [lindex [split $v1] 1]
if {[expr $posEnd + 1] >= $cfgVariables(tabSize)} {
$txt delete $i.$posBegin $i.$cfgVariables(tabSize)
}
}
}
$txt tag remove sel $lineBegin.$posBegin $lineEnd.$posEnd
$txt tag add sel $lineBegin.0 $lineEnd.end
$txt highlight $lineBegin.0 $lineEnd.end
} else {
set str [$txt get $lineNum.0 $lineNum.end]
if {[regexp -nocase -indices -- {(^\s*)(.*?)} $str match v1]} {
set posBegin [lindex [split $v1] 0]
set posEnd [lindex [split $v1] 1]
if {[expr $posEnd + 1] >= $cfgVariables(tabSize)} {
$txt delete $lineNum.$posBegin $lineNum.$cfgVariables(tabSize)
}
}
}
}
## TABULAR INSERT (auto indent)##
proc Indent {txt} {
global cfgVariables
# set tabSize 4
set indentSize $cfgVariables(tabSize)
set pos [$txt index insert]
set lineNum [lindex [split $pos "."] 0]
set posNum [lindex [split $pos "."] 1]
puts "$pos"
if {$lineNum > 1} {
# get current text
set curText [$txt get $lineNum.0 "$lineNum.0 lineend"]
#get text of prev line
set prevLineNum [expr {$lineNum - 1}]
set prevText [$txt get $prevLineNum.0 "$prevLineNum.0 lineend"]
#count first spaces in current line
set spaces ""
regexp "^| *" $curText spaces
#count first spaces in prev line
set prevSpaces ""
regexp "^( |\t)*" $prevText prevSpaces
set len [string length $prevSpaces]
set shouldBeSpaces 0
for {set i 0} {$i < $len} {incr i} {
if {[string index $prevSpaces $i] == "\t"} {
incr shouldBeSpaces $tabSize
} else {
incr shouldBeSpaces
}
}
#see last symbol in the prev String.
set lastSymbol [string index $prevText [expr {[string length $prevText] - 1}]]
# is it open brace?
if {$lastSymbol == ":" || $lastSymbol == "\\"} {
incr shouldBeSpaces $indentSize
}
if {$lastSymbol == "\{"} {
incr shouldBeSpaces $indentSize
}
set a ""
regexp "^| *\}" $curText a
if {$a != ""} {
# make unindent
if {$shouldBeSpaces >= $indentSize} {
set shouldBeSpaces [expr {$shouldBeSpaces - $indentSize}]
}
}
if {$lastSymbol == "\["} {
incr shouldBeSpaces $indentSize
}
set a ""
regexp "^| *\]" $curText a
if {$a != ""} {
# make unindent
if {$shouldBeSpaces >= $indentSize} {
set shouldBeSpaces [expr {$shouldBeSpaces - $indentSize}]
}
}
if {$lastSymbol == "\("} {
incr shouldBeSpaces $indentSize
}
set a ""
regexp {^| *\)} $curText a
if {$a != ""} {
# make unindent
if {$shouldBeSpaces >= $indentSize} {
set shouldBeSpaces [expr {$shouldBeSpaces - $indentSize}]
}
}
set spaceNum [string length $spaces]
if {$shouldBeSpaces > $spaceNum} {
#insert spaces
set deltaSpace [expr {$shouldBeSpaces - $spaceNum}]
set incSpaces ""
for {set i 0} {$i < $deltaSpace} {incr i} {
append incSpaces " "
}
$txt insert $lineNum.0 $incSpaces
} elseif {$shouldBeSpaces < $spaceNum} {
#delete spaces
set deltaSpace [expr {$spaceNum - $shouldBeSpaces}]
$txt delete $lineNum.0 $lineNum.$deltaSpace
}
}
}
proc SelectionPaste {txt} {
set selBegin [lindex [$txt tag ranges sel] 0]
set selEnd [lindex [$txt tag ranges sel] 1]
if {$selBegin ne ""} {
$txt delete $selBegin $selEnd
$txt highlight $selBegin $selEnd
#tk_textPaste $txt
}
}
proc SelectionGet {txt} {
variable selectionText
set selBegin [lindex [$txt tag ranges sel] 0]
set selEnd [lindex [$txt tag ranges sel] 1]
if {$selBegin ne "" && $selEnd ne ""} {
set selectionText [$txt get $selBegin $selEnd]
}
}
proc ReleaseKey {k txt} {
switch $k {
Return {
set pos [$txt index insert]
set lineNum [lindex [split $pos "."] 0]
set posNum [lindex [split $pos "."] 1]
regexp {^(\s*)} [$txt get [expr $lineNum - 1].0 [expr $lineNum - 1].end] -> spaceStart
# puts "$pos, $lineNum, $posNum, >$spaceStart<"
$txt insert insert $spaceStart
Editor::Indent $txt
}
}
}
proc PressKey {k txt} {
# puts [Editor::Key $k]
switch $k {
apostrophe {
QuotSelection $txt {'}
}
quotedbl {
QuotSelection $txt {"}
}
grave {
QuotSelection $txt {`}
}
parenleft {
# QuotSelection $txt {)}
}
bracketleft {
# QuotSelection $txt {]}
}
braceleft {
# {QuotSelection} $txt {\}}
}
}
}
## GET KEYS CODE ##
proc Key {key str} {
puts "Pressed key code: $key, $str"
if {$key >= 10 && $key <= 22} {return "true"}
if {$key >= 24 && $key <= 36} {return "true"}
if {$key >= 38 && $key <= 50} {return "true"}
if {$key >= 51 && $key <= 61 && $key != 58} {return "true"}
if {$key >= 79 && $key <= 91} {return "true"}
if {$key == 63 || $key == 107 || $key == 108 || $key == 112} {return "true"}
}
proc BindKeys {w} {
global cfgVariables
# variable txt
set txt $w.frmText.t
bind $txt <KeyRelease> "Editor::ReleaseKey %K $txt"
bind $txt <KeyPress> "Editor::PressKey %K $txt"
# bind $txt <KeyRelease> "Editor::Key %k %K"
#$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-agrave> Find
# bind $txt <Control-f> Find
# bind $txt <F3> {FindNext $w.text 1}
# bind $txt <Control-ecircumflex> ReplaceDialog
# bind $txt <Control-r> ReplaceDialog
# bind $txt <F4> {ReplaceCommand $w.text 1}
# bind $txt <Control-ucircumflex> {FileDialog [$noteBookFiles raise] save}
# bind $txt <Control-s> {FileDialog [$noteBookFiles raise] save}
# bind $txt <Control-ocircumflex> {FileDialog [$noteBookFiles raise] save_as}
# bind $txt <Shift-Control-s> {FileDialog [$noteBookFiles raise] save_as}
bind $txt <Control-odiaeresis> FileOper::Close
bind $txt <Control-w> FileOper::Close
# bind $txt <Control-division> "tk_textCut $w.text;break"
# bind $txt <Control-x> "tk_textCut $w.text;break"
# bind $txt <Control-ntilde> "tk_textCopy $txt"
# bind $txt <Control-c> "tk_textCopy $txt"
bind $txt <Control-igrave> "Editor::SelectionPaste $txt"
bind $txt <Control-v> "Editor::SelectionPaste $txt"
#bind $txt <Control-adiaeresis> "auto_completition $txt"
#bind $txt <Control-l> "auto_completition $txt"
bind $txt <Control-icircumflex> "auto_completition_proc $txt"
bind $txt <Control-j> "auto_completition_proc $txt"
bind $txt <Control-i> "ImageBase64Encode $txt"
bind $txt <Control-bracketleft> "Editor::InsertTabular $txt"
bind $txt <Control-bracketright> "Editor::DeleteTabular $txt"
bind $txt <Control-comma> "Editor::Comment $txt"
bind $txt <Control-period> "Editor::Uncomment $txt"
bind $txt <Control-eacute> Find
#bind . <Control-m> PageTab
#bind . <Control-udiaeresis> PageTab
bind $txt <Insert> {OverWrite}
bind $txt <ButtonRelease-1> []
bind $txt <Button-3> {catch [PopupMenuEditor %X %Y]}
bind $txt <Button-4> "%W yview scroll -3 units"
bind $txt <Button-5> "%W yview scroll 3 units"
#bind $txt <Shift-Button-4> "%W xview scroll -2 units"
#bind $txt <Shift-Button-5> "%W xview scroll 2 units"
bind $txt <<Modified>> "SetModifiedFlag $w"
bind $txt <<Selection>> "Editor::SelectionGet $txt"
}
proc QuotSelection {txt symbol} {
variable selectionText
set selIndex [$txt tag ranges sel]
set pos [$txt index insert]
set lineNum [lindex [split $pos "."] 0]
set posNum [lindex [split $pos "."] 1]
set symbol [string trim [string trimleft $symbol "\\"]]
# puts "Selindex : $selIndex, cursor position: $pos"
if {$selIndex != ""} {
set lineBegin [lindex [split [lindex $selIndex 0] "."] 0]
set posBegin [lindex [split [lindex $selIndex 0] "."] 1]
set lineEnd [lindex [split [lindex $selIndex 1] "."] 0]
set posEnd [lindex [split [lindex $selIndex 1] "."] 1]
# set selText [$txt get $lineBegin.$posBegin $lineEnd.$posEnd]
set selText $selectionText
puts "Selected text: $selText, pos: $pos, lineBegin: $lineBegin, posBegin: $posBegin, pos end: $posEnd"
if {$posNum == $posEnd} {
$txt insert $lineBegin.$posBegin "$symbol"
}
if {$posNum == $posBegin} {
$txt insert $lineBegin.$posEnd "$symbol"
}
$txt highlight $lineBegin.$posBegin $lineEnd.end
# $txt insert $lineBegin.[expr $posBegin + 1] "$symbol"
} else {
$txt insert $lineNum.[expr $posNum + 1] "$symbol"
$txt mark set insert $lineNum.[expr $posNum - 1]
# $txt see $lineNum.[expr $posNum - 1]
$txt see insert
$txt highlight $lineNum.$posNum $lineNum.end
}
}
# Create editor for new file (Ctrl+N)
proc New {} {
global nbEditor tree untitledNumber
if [info exists untitledNumber] {
incr untitledNumber 1
} else {
set untitledNumber 0
}
set filePath untitled-$untitledNumber
set fileName untitled-$untitledNumber
set fileFullPath untitled-$untitledNumber
#puts [Tree::InsertItem $tree {} $fileFullPath "file" $fileName]
set nbEditorItem [NB::InsertItem $nbEditor $fileFullPath "file"]
puts "$nbEditorItem, $nbEditor"
Editor $fileFullPath $nbEditor $nbEditorItem
}
proc Editor {fileFullPath nb itemName} {
global cfgVariables
set fr $itemName
if ![string match "*untitled*" $itemName] {
set lblName "lbl[string range $itemName [expr [string last "." $itemName] +1] end]"
ttk::label $fr.$lblName -text $fileFullPath
pack $fr.$lblName -side top -anchor w -fill x
}
set frmText [ttk::frame $fr.frmText -border 1]
set txt $frmText.t
pack $frmText -side top -expand true -fill both
pack [ttk::scrollbar $frmText.s -command "$frmText.t yview"] -side right -fill y
ctext $txt -yscrollcommand "$frmText.s set" -font $cfgVariables(font) -linemapfg $cfgVariables(lineNumberFG) \
-tabs "[expr {4 * [font measure $cfgVariables(font) 0]}] left" -tabstyle tabular -undo true
pack $txt -fill both -expand 1
puts ">>>>>>> [bindtags $txt]"
if {$cfgVariables(lineNumberShow) eq "false"} {
$txt configure -linemap 0
}
set fileType [string toupper [string trimleft [file extension $fileFullPath] "."]]
if {[info procs Highlight::$fileType] ne ""} {
Highlight::$fileType $txt
} else {
Highlight::Default $txt
}
BindKeys $itemName
# bind $txt <Return> {
# regexp {^(\s*)} [%W get "insert linestart" end] -> spaceStart
# %W insert insert "\n$spaceStart"
# break
# }
return $fr
}
}

View File

@ -1,180 +0,0 @@
######################################################
# ProjMan 2
# Distributed under GNU Public License
# Author: Sergey Kalinin svk@nuk-svk.ru
# Copyright (c) "", 2022, https://nuk-svk.ru
######################################################
# Working with files module
######################################################
namespace eval FileOper {
variable types
set ::types {
{"All files" *}
}
proc OpenDialog {} {
global env
set dir $env(HOME)
set fullPath [tk_getOpenFile -initialdir $dir -filetypes $::types -parent .]
set file [string range $fullPath [expr [string last "/" $fullPath]+1] end]
regsub -all "." $file "_" node
set dir [file dirname $fullPath]
set file [file tail $fullPath]
set name [file rootname $file]
set ext [string range [file extension $file] 1 end]
if {$fullPath != ""} {
puts $fullPath
return $fullPath
} else {
return
}
}
proc OpenFolderDialog {} {
global env
#global tree node types dot env noteBook fontNormal fontBold fileList noteBook projDir activeProject imgDir editor rootDir
# set dir $projDir
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
return $fullPath
}
proc Close {} {
global nbEditor modified tree
set nbItem [$nbEditor select]
if {$nbItem == ""} {return}
if {$modified($nbItem) eq "true"} {
Save
}
$nbEditor forget $nbItem
destroy $nbItem
set treeItem "file::[string range $nbItem [expr [string last "." $nbItem] +1] end ]"
if {[$tree parent $treeItem] eq "" } {
$tree delete $treeItem
}
}
proc Save {} {
global nbEditor tree env
set nbEditorItem [$nbEditor select]
puts "Saved editor text: $nbEditorItem"
if [string match "*untitled*" $nbEditorItem] {
set filePath [tk_getSaveFile -initialdir $env(HOME) -filetypes $::types -parent .]
if {$filePath eq ""} {
return
}
set fileName [string range $filePath [expr [string last "/" $filePath]+1] end]
puts "$filePath, $fileName"
set treeitem [Tree::InsertItem $tree {} $filePath "file" $fileName]
} else {
set treeItem "file::[string range $nbEditorItem [expr [string last "." $nbEditorItem] +1] end ]"
set filePath [Tree::GetItemID $tree $treeItem]
}
set editedText [$nbEditorItem.frmText.t get 0.0 end]
set f [open $filePath "w+"]
puts -nonewline $f $editedText
puts "$f was saved"
close $f
ResetModifiedFlag $nbEditorItem
}
proc SaveAll {} {
}
proc Delete {} {
set node [$tree selection get]
set fullPath [$tree itemcget $node -data]
set dir [file dirname $fullPath]
set file [file tail $fullPath]
set answer [tk_messageBox -message "[::msgcat::mc "Delete file"] \"$file\"?"\
-type yesno -icon question -default yes]
case $answer {
yes {
FileDialog $tree close
file delete -force "$fullPath"
$tree delete $node
$tree configure -redraw 1
return 0
}
}
}
proc ReadFolder {dir} {
global tree
puts "Read the folder $dir"
set rList ""
if {[catch {cd $dir}] != 0} {
return ""
}
set parent [Tree::InsertItem $tree {} $dir "directory" $dir]
# if {[ $tree item $parent -open] eq "false"} {
# $tree item $parent -open true
# } else {
# $tree item $parent -open false
# }
# Getting an files and directorues lists
foreach file [glob -nocomplain *] {
lappend rList [list [file join $dir $file]]
if [file isdirectory $file] {
lappend lstDir $file
} else {
lappend lstFiles $file
}
}
# Sort lists and insert into tree
if {[info exists lstDir] && [llength $lstDir] > 0} {
foreach f [lsort $lstDir] {
puts " Tree insert item: [Tree::InsertItem $tree $parent [file join $dir $f] "directory" $f]"
}
}
if {[info exists lstFiles] && [llength $lstFiles] > 0} {
foreach f [lsort $lstFiles] {
puts "Tree insert item: [Tree::InsertItem $tree $parent [file join $dir $f] "file" $f]"
}
}
}
proc ReadFile {fileFullPath itemName} {
set txt $itemName.frmText.t
if ![string match "*untitled*" $itemName] {
set file [open "$fileFullPath" r]
$txt insert end [chan read -nonewline $file]
close $file
}
# Delete emty last line
if {[$txt get {end-1 line} end] eq "\n" || [$txt get {end-1 line} end] eq "\r\n"} {
$txt delete {end-1 line} end
puts ">[$txt get {end-1 line} end]<"
}
}
proc Edit {fileFullPath} {
global nbEditor tree
set filePath [file dirname $fileFullPath]
set fileName [file tail $fileFullPath]
regsub -all {\.|/|\\|\s} $fileFullPath "_" itemName
set itemName "$nbEditor.$itemName"
puts [Tree::InsertItem $tree {} $fileFullPath "file" $fileName]
if {[winfo exists $itemName] == 0} {
NB::InsertItem $nbEditor $fileFullPath "file"
Editor::Editor $fileFullPath $nbEditor $itemName
ReadFile $fileFullPath $itemName
$itemName.frmText.t highlight 1.0 end
ResetModifiedFlag $itemName
}
$nbEditor select $itemName
focus -force $itemName.frmText.t
return $itemName
}
}

View File

@ -1,164 +0,0 @@
######################################################
# ProjMan 2
# Distributed under GNU Public License
# Author: Sergey Kalinin svk@nuk-svk.ru
# Copyright (c) "", 2022, https://nuk-svk.ru
######################################################
# GUI module
#######################################################
if {[info exists cfgVariables(geometry)]} {
wm geometry . $cfgVariables(geometry)
} else {
wm geometry . 1024x768
}
# Заголовок окна
wm title . "ProjMan \($projmanVersion-$projmanRelease\)"
wm iconname . "ProjMan"
# иконка окна (берется из файла lib/imges.tcl)
wm iconphoto . projman
wm protocol . WM_DELETE_WINDOW Quit
wm overrideredirect . 0
#wm positionfrom . user
bind . <Control-q> Quit
bind . <Control-Q> Quit
bind . <Control-eacute> Quit
bind . <Insert> Add
bind . <Delete> Del
bind . <Control-Return> Edit
bind . <F1> ShowHelpDialog
bind . <Control-n> Editor::New
bind . <Control-N> Editor::New
bind . <Control-o> {
set filePath [FileOper::OpenDialog]
if {$filePath != ""} {
FileOper::Edit $filePath
}
}
bind . <Control-O> {
set filePath [FileOper::OpenDialog]
if {$filePath != ""} {
FileOper::Edit $filePath
}
}
bind . <Control-k> {
set folderPath [FileOper::OpenFolderDialog]
if {$folderPath != ""} {
FileOper::ReadFolder $folderPath
}
}
bind . <Control-K> {
set folderPath [FileOper::OpenFolderDialog]
if {$folderPath != ""} {
FileOper::ReadFolder $folderPath
}
}
bind . <Control-s> {FileOper::Save}
bind . <Control-S> {FileOper::Save}
#ttk::style configure TPanedwindow -background blue
#ttk::style configure Sash -sashthickness 5
#ttk::style configure TButton -padding 60 -relief flat -bg black
#ttk::style configure Custom.Treeview -foreground red
#ttk::style configure Custom.Treeview -rowheight 20
if [info exists cfgVariables(theme)] {
ttk::style theme use $cfgVariables(theme)
}
frame .frmMenu -border 1 -relief raised -highlightthickness 0
frame .frmBody -border 1 -relief raised -highlightthickness 0
frame .frmStatus -border 1 -relief sunken
pack .frmMenu -side top -padx 1 -fill x
pack .frmBody -side top -padx 1 -fill both -expand true
pack .frmStatus -side top -padx 1 -fill x
# pack .panel -expand true -fill both
# pack propagate .panel false
#pack [label .frmMenu.lbl -text "ddd"]
pack [label .frmStatus.lbl2 -text "ddd"]
menubutton .frmMenu.mnuFile -text [::msgcat::mc "File"] -menu .frmMenu.mnuFile.m
GetFileMenu [menu .frmMenu.mnuFile.m]
menubutton .frmMenu.mnuEdit -text [::msgcat::mc "Edit"] -menu .frmMenu.mnuEdit.m
GetEditMenu [menu .frmMenu.mnuEdit.m]
menubutton .frmMenu.mnuView -text [::msgcat::mc "View"] -menu .frmMenu.mnuView.m
GetViewMenu [menu .frmMenu.mnuView.m]
pack .frmMenu.mnuFile .frmMenu.mnuEdit .frmMenu.mnuView -side left
menubutton .frmMenu.mnuHelp -text [::msgcat::mc "Help"] -menu .frmMenu.mnuHelp.m
pack .frmMenu.mnuHelp -side right
set frmTool [ttk::frame .frmBody.frmTool]
ttk::panedwindow .frmBody.panel -orient horizontal -style TPanedwindow
pack propagate .frmBody.panel false
pack .frmBody.frmTool -side left -fill y
pack .frmBody.panel -side left -fill both -expand true
ttk::button $frmTool.btn_tree -command ViewFilesTree -image tree_32x32
pack $frmTool.btn_tree -side top -padx 1 -pady 1
# #label $frmTool.lbl_logo -image tcl
# pack $frmTool.btn_quit -side bottom -padx 5 -pady 5
# #pack $frmTool.lbl_logo -side bottom -padx 5 -pady 5
#
# # Дерево с полосами прокрутки
set frmTree [ttk::frame .frmBody.frmTree]
ttk::scrollbar $frmTree.hsb1 -orient horizontal -command {$frmTree.tree xview}
ttk::scrollbar $frmTree.vsb1 -orient vertical -command [list $frmTree.tree yview]
set tree [ttk::treeview $frmTree.tree -show tree \
-xscrollcommand {$frmTree.hsb1 set} -yscrollcommand [list $frmTree.vsb1 set]]
bind $tree <Double-ButtonPress-1> {Tree::DoublePressItem $tree}
bind $tree <ButtonRelease> {Tree::PressItem $tree}
grid $tree -row 0 -column 0 -sticky nsew
grid $frmTree.vsb1 -row 0 -column 1 -sticky nsew
grid $frmTree.hsb1 -row 1 -column 0 -sticky nsew
grid columnconfigure $frmTree 0 -weight 1
grid rowconfigure $frmTree 0 -weight 1
set frm_work [ttk::frame .frm_work]
set nbEditor [ttk::notebook $frm_work.nbEditor]
#grid $nbEditor -row 0 -column 0 -sticky nsew
pack $nbEditor -fill both -expand true
# Create an image CLOSE for tab
ttk::style element create close_button image close_10x10 -height 12 -width 12 -sticky e -padding {10 0}
ttk::style layout TNotebook.Tab {
Notebook.tab -sticky nswe -children {
Notebook.padding -expand 1 -sticky nswe -children {
Notebook.label
-expand 1 -sticky nesw -side left close_button -side right
}
}
}
bind TNotebook <Button-1> "NB::CloseTab %W %x %y\;[bind TNotebook <Button-1>]"
# ttk::scrollbar $nbEditor.hsb1 -orient horizontal -command [list $frm_tree.work xview]
# ttk::scrollbar $fbEditor.vsb1 -orient vertical -command [list $frm_tree.work yview]
# set tree [ttk::treeview $frm_tree.tree -show tree \
# -xscrollcommand [list $frm_tree.hsb1 set] -yscrollcommand [list $frm_tree.vsb1 set]]
#
# # назначение обработчика нажатия кнопкой мыши
# #bind $frm_tree.tree <ButtonRelease> "TreePress %x %y %X %Y $frm_tree.tree"
# bind $frm_tree.tree <ButtonRelease> "TreePress $frm_tree.tree"
#.panel add $frmTool -weight 1
if {$cfgVariables(toolBarShow) eq "true"} {
.frmBody.panel add $frmTree -weight 0
}
.frmBody.panel add $frm_work -weight 1
# #

View File

@ -1,44 +0,0 @@
######################################################
# ProjMan 2
# Distributed under GNU Public License
# Author: Sergey Kalinin svk@nuk-svk.ru
# Copyright (c) "", 2022, https://nuk-svk.ru
######################################################
namespace eval Highlight {} {
proc TCL {txt} {
ctext::addHighlightClass $txt widgets purple [list ctext button label text frame toplevel scrollbar checkbutton canvas listbox menu menubar menubutton radiobutton scale entry message tk_chooseDir tk_getSaveFile tk_getOpenFile tk_chooseColor tk_optionMenu]
ctext::addHighlightClassForRegexp $txt flags orange {\s-[a-zA-Z]+}
ctext::addHighlightClass $txt stackControl #19a2a6 [info commands]
ctext::addHighlightClassWithOnlyCharStart $txt vars #4471ca "\$"
ctext::addHighlightClass $txt variable_funcs gold {set global variable unset}
ctext::addHighlightClassForSpecialChars $txt brackets green {[]{}()}
ctext::addHighlightClassForRegexp $txt paths lightblue {\.[a-zA-Z0-9\_\-]+}
ctext::addHighlightClassForRegexp $txt comments #666666 {(#|//)[^\n\r]*}
ctext::addHighlightClassForRegexp $txt namespaces #4f64ff {::}
ctext::addHighlightClassForSpecialChars $txt qoute #b84a0c {"'`}
}
proc Default {txt} {
ctext::addHighlightClassForRegexp $txt flags orange {\s-[a-zA-Z\-_]+}
ctext::addHighlightClass $txt stackControl #19a2a6 [info commands]
ctext::addHighlightClassWithOnlyCharStart $txt vars #4471ca "\$"
ctext::addHighlightClass $txt variable_funcs gold {set global variable unset}
ctext::addHighlightClassForSpecialChars $txt brackets green {[]{}()}
ctext::addHighlightClassForRegexp $txt paths lightblue {\.[a-zA-Z0-9\_\-]+}
ctext::addHighlightClassForRegexp $txt comments #666666 {(#|//)[^\n\r]*}
ctext::addHighlightClassForRegexp $txt namespaces #4f64ff {::}
ctext::addHighlightClassForSpecialChars $txt qoute #b84a0c {"'`}
}
proc SH {txt} {
ctext::addHighlightClassForRegexp $txt flags orange {-+[a-zA-Z\-_]+}
ctext::addHighlightClass $txt stackControl #19a2a6 {if fi else elseif then while case esac do in exit source echo}
ctext::addHighlightClassWithOnlyCharStart $txt vars #4471ca "\$"
ctext::addHighlightClassForRegexp $txt vars_extended #4471ca {\$\{[a-zA-Z0-9\_\-:\./\$\{\}]+\}}
ctext::addHighlightClass $txt variable_funcs gold {set export}
ctext::addHighlightClassForSpecialChars $txt brackets green {[]{}()}
ctext::addHighlightClassForRegexp $txt paths lightblue {\.[a-zA-Z0-9\_\-]+}
ctext::addHighlightClassForRegexp $txt comments #666666 {(#|//)[^\n\r]*}
ctext::addHighlightClassForSpecialChars $txt qoute #b84a0c {"'`}
}
}

View File

@ -1,126 +0,0 @@
######################################################
# ProjMan 2
# Distributed under GNU Public License
# Author: Sergey Kalinin svk@nuk-svk.ru
# Copyright (c) "", 2022, https://nuk-svk.ru
######################################################
# Base64 encoded Images library
######################################################
image create photo projman -data {
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
WXMAAAsSAAALEgHS3X78AAAAB3RJTUUH1AsFAhA0bYcHMAAACoFJREFUeNqlV1uMG9UZ/uZiz9ge
X9drr51dZ7037SUkQEJIwqUh3BTRClqREBWqVmorpbxQIaU8UGiloraqVKlPqA/QBwRFItA2AcqG
hGwgLNmEvWSzt6zjvXl37V2P7+OxZ8Yzc/qAF6WwCUj80pFGo3P5znf+833nZ3DjoABQkoTogQN4
7e23Ecvl8ODu3XidYcBOTGAEAMF3DHaTf0y9WQBQ4+PY2t8P8fnnYVy4gIeeeQZ/TiTQX+9rqc9B
Xzderzfz2wD8EsCbb77JBoPBTofg+BVrYY/QFN0IALHYGVXTzlxsbLz8+DvvrOcTCbwLQBIE4anD
hw//5mdHn+urKAZ1ZagfU+Oj4pX40MupheR8Xqp+Yph0RleNSh3MzQE4HA6PKIo/Hx4bfprneYbj
ObAsC0J4rrXt7ntNkuqIxSpvsGyV0XWdGR0dzw5cKTuf/usVKpeT0C3E9YP7dzbced+uF8+dOp4f
Gp44zXENr1to22eiKEqiKNZwA7o3GNBPnjy5vpxYFhbmFxxyWRZsNhsjCB5YOTtY+lPnxUvNwbJU
Hnnttdcc/VeYt196dWLLyloZUmFNWbr06pnFpbgS6WgL7Lprvz0a8fccfOiePXff+313SswWlhbm
CgCMrx4Lc903MQyjpKpqvCyVEzWttsVmtwVC4RDNsgpSq59h7DIlyLJ8ded9P378L28s7imVNcBQ
DKTPDpHixB+kUunq3t2LdzU00I4tLXvo7X1DvunZYM/E1KSQTq7NmqZZBoh+IwAAYKiqmiuXy/Fo
NOpzu907g6EgBzKHhfkcHEIX7XQ3No+kWm+bSyo8ANDSldi+aP7lUx+8Fz954sT0wYO5aGJZ2p7M
bIG4No9MzmWXq9neQlp0GZqxrhtG5nommI0EfOGFF3p9Pp9x/vx5FYC2bdu22yJbI3fb7XY+uXoV
lQoPl7uZKmqCEMuHBKliUABgYdR8c+/Dfbd1Cg9IxYzSu8P2RDrf2jA5kcf4qIjmLRF0tbWzJUmM
EJN1NLZERFVVipqiaAAIAwChUMjP2/j+7p7uHQcOHGAbGhpYp8v5WLQjesvq6iqbzarYseMeWKxW
rEkeamSBZQioLyhjPA2J9Up4T2vB7fI473X7klsHP+VINpXO5dLZheRqknO4vFzPjl32/fvv74m2
R++iaMqYi12LAdBYANTIyAjH2/jOnbt2RvyN/l3bd2yfTa2ltjMMw2UyGfR296GpKYyavgxJMxmT
UP+fybW07vdtc+n0Mn3+4zLy6ZqsVMqfrKVSo5Zc/nuc4L73wbaodfut2zkrQ3WtLi7+GsA5ACoL
APPz86aiKgu6oW/p7OrsKsvljmBTkMplcxRLs+ju7sZKcgU2uw2SUvmCeloHAQ3dpHHfbT7Llctj
WFq+gMQyyalq4ezl0bHjtVot1traSovp1I7pyZlGmmaBikSPjAxnAfgBJBgAlKqqRlkqLxWLRVex
UGxXNZVpCjVR2UwWglMAZ+VQ02vgrBxG4jWs5lmEbSlSMZwUMXXcfwuN8cH3sZTIV0Ux078wv9Cv
KMowgBWapsVMOu2TZblXKkv0mVOnZhcWFj/WNe0igPQGlzRN026n09nqEByPCoLwADFJr1SWlI7O
Dtbv97v27ttrafQ30v/4r4jPZikc6DNw5qoXHmYdW9R+rC5MZmqGcbZSrR4nhEwASABQAXAAoizL
PsuwrEdT1Y8IITMApgDkN5TQNE2zVCwWY4qivC6X5UsWi2VfoVAwCoWClWGYplKxdPevn31uq26B
hSezcPt6AVRglwZRKiUqxXL5HCHkQwATAFYBKPWrpgJY1HX9b7quewHkAaQBFAAY15uRAUBWVXVR
VdUUgDEAnK7rAMAllhJ9M4vS74dmtFu22BSAdQCoov3Op+ArvZtPnvzXR4ZhXLpu5xuKZwKoAJit
S78JoLbhD5u5oV4Ho25YMgAmEAjwuVxJA4CAh4Ws6HUzUREO+b19fX1NsVhMVRRFv4H51Opzk2+y
Y9Q76QBw4j//cSwtLfV8Pjh4jFVSfYAPNitBtQ7AQkqIbI3YXR7XD/iP+KmpyamsLMvFjfGbzIub
SfFXg24Lhbq9Xu9LPp/voJ2z8h9OUugKlM2i3kClcjqi7jQ6W2xoCjW5/X5/WNO0SjaTTdZqNfVm
NvxNDOB3L77oCTU17bk6On50fGz0e01NQS6VyYHRWwjPO2RNNpwAwBNRp+BmOY6zR9uj+wlIl91u
bxv8dPCVcrmcrh/lDWNTBo48eYRTZPkQTchvu9rb9hk1jT/x3vsYHR+vUt5bSWvIKqtwOZKiTCLs
lTmXYGObI828aZoQBEGw2WxdlUpFLBaLq5qmyTdj4msAfvmLX3jvuH3n407e/idxLdWRTK0y07EY
puNzmUw2+4GreZ816LNZaM7rXEnM5Z98bG9+avzCBGflvH6/3w4KlMfrcbrd7ls5K8dmM9m4qqrV
emLfHMCx547xlGkeLmSyx1rCoSjPWvDhwDlcGB4pVxXl1NGjR7OLebcGYoT9jUHXzCrN5AoSI+jz
b128eHE20BjoCIVCgklMOJ1OwWazdaiqmq/IlWSlUilvxsSXAH7y1I+9DR7f4a0tkT9qcrV1cmoC
ly6PkWtzS2lFUc7ohv7WoUOH9IVy8zOLy2ul7o5m1+SiyvQ0rC2m5i69MjkxeTp+LZ6NRCK3+hv9
DpqmKbfH7RQEYZuFtXDFQnFOUZQqIcT4GoCf/PQptjkcPlIUs8fsVmur4OBxaewyGbk8XiqVpbOE
kFMEZDiTyYwEwu27F1Ny8I5tIX4sVqB2BuYHBs+fPW6a5rokSSsVucL5fL72YDAo6LoOh8Mh8Da+
VVXUgizLSVmW/48JBgBFE9LRGYm86eGFSCwWw7kLg2Qqdm1d1WoDuq6/RUCGASyvra2VutvDH2s6
ae1pbwpfmx5Lzwz983eqqk4B0ADI6XQ6lkwmS/5G/zaO5xxaTaMb/Y0ul8vVx7KsNZvJziqKUt3Q
CQYAU5ErT9/e0/sIx/OIxeNkOh4v5fKFAdM0TxFChgEkAVQBmLGZy4WC4R995J5o52cD/36/lF35
V133NzylWiqVkpqm8V6Pt9XldDm1moYGf4Ngs9vaqpVqtpAvJFRVLW+8iFgATzgczl2p9XUyOTuz
XlHVjxRFOV5fPLGx+JdyJsULTx75kd/nZCeGh4dnv/quNE1TSq+n46IoFsPh8DZBEISZ6RlaKklO
wSFEsplsvFAoJADUGAA0z/NFQtPNiZWEWK3VLhQKhTOEkNHrd/7V7H344YcbS6WSa2hoaHqT22Ua
hlEplUpJVVO5QCDQpqqq0NXZhUAw4FpeXl5fWVkZA1BhAZiKogzPzc89W6vVvDRNK6Zprtct84Zy
2tLSkpmcnAzUzYpsovmKpmlLw58Pvz4/N7/10cce/SGhCDMxPsGpihoG4AIgsnW0VcMw4gCshmGY
9YTSblbbMQyT5jhud/0IazcwnpphGHOZTObv5wbOdZ8+fbrX6/HmRVFMbNSO1CYV8beqeA8dOsRm
Mpm9AwMDn1+XhJsaGgA7gCiArQBsANbrL6IC9R2ra8tmHn8DEDYAjjpjCgAJgP4/zJqKdgq3EfoA
AAAASUVORK5CYII=
}
image create photo folder -data {
R0lGODlhEAANAOMMAAAAABwcHC4uLlxcXGpqant7e4ODg4aGhqGhoaioqLCwsLe3t///////////
/////yH5BAEKAA8ALAAAAAAQAA0AAAQ48Ell6pA4v5WqKYSGKZ33HUiKhA9ivp4AtDAs07V5u3k8
8z3DLlgZEo3BG0HAbDqZgdkDQK1arREAOw==
}
image create photo imgFile -data {
R0lGODlhCwANAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4O
Dg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEh
ISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0
NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdH
R0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpa
WltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1t
bW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CA
gIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOT
k5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaam
pqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5
ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zM
zM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f
3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy
8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///yH5BAEAAKoALAAAAAALAA0A
AAg5AFUJHEhQIICDCA8OBPCvoUOGBh0+VMgw4UNVDCVerHhQIgCMGjf+S5jxY8aQJkdaHAkyJEuS
JAMCADs=
}
image create photo tree_32x32 -data {
iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9
kT1Iw1AUhU9TpaIVBzuIdMhQnSyIFXHUKhShQqgVWnUweekfNDEkKS6OgmvBwZ/FqoOLs64OroIg
+APi6OSk6CIl3pcUWsT44PI+znvncN99gNCoMs3qGgc03TYzqaSYy6+IoVeE0EcVRUJmljErSWn4
rq97BPh+F+dZ/vf+XP1qwWJAQCSeYYZpE68TT23aBud94ggryyrxOfGYSQ0SP3Jd8fiNc8llgWdG
zGxmjjhCLJY6WOlgVjY14knimKrplC/kPFY5b3HWqjXW6pO/MFzQl5e4ThVFCgtYhAQRCmqooAob
cdp1Uixk6Dzp4x92/RK5FHJVwMgxjw1okF0/+B/8nq1VTEx4SeEk0P3iOB8jQGgXaNYd5/vYcZon
QPAZuNLb/o0GMP1Jer2txY6AgW3g4rqtKXvA5Q4w9GTIpuxKQSqhWATez+ib8sDgLdC76s2tdY7T
ByBLs0rfAAeHwGiJstd83t3TObd/77Tm9wNyw3KnzSNOGAAAAAZiS0dEAJ8AMACxMhhtNAAAAAlw
SFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+YHCwkONjcAirYAAAAZdEVYdENvbW1lbnQAQ3JlYXRl
ZCB3aXRoIEdJTVBXgQ4XAAAAyklEQVRYw+2VMQ7DIAxFf9KcoVfIKdrJUm6TnqU9Ry8QiY0DdPaW
OXvndmFAWQDVtdzKlhBCIPiY7wfg8WPR5YMQwkv6ACLqWtb31jI0KJwxp34BwBYydErt2OyhvZeI
6C4o7AYg/p2HGMBa8/YVwRKCtrRRNFVlmnwaCkKu2h7qC7e4ENH5i3yaAYytVTZp8qnGQ2uWpWl/
I9Uny8o1prZZ+8sWAA9hDfyJIBaCpHPIOeQccg45h5xDziHnkBUOmYtDYX5Ma55agt4p2lAY80lC
JwAAAABJRU5ErkJggg==
}
image create photo close_12x12 -data {
iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9
kT1Iw1AUhU9TpaIVBzuIdMhQnSyIFXHUKhShQqgVWnUweekfNDEkKS6OgmvBwZ/FqoOLs64OroIg
+APi6OSk6CIl3pcUWsT44PI+znvncN99gNCoMs3qGgc03TYzqaSYy6+IoVeE0EcVRUJmljErSWn4
rq97BPh+F+dZ/vf+XP1qwWJAQCSeYYZpE68TT23aBud94ggryyrxOfGYSQ0SP3Jd8fiNc8llgWdG
zGxmjjhCLJY6WOlgVjY14knimKrplC/kPFY5b3HWqjXW6pO/MFzQl5e4ThVFCgtYhAQRCmqooAob
cdp1Uixk6Dzp4x92/RK5FHJVwMgxjw1okF0/+B/8nq1VTEx4SeEk0P3iOB8jQGgXaNYd5/vYcZon
QPAZuNLb/o0GMP1Jer2txY6AgW3g4rqtKXvA5Q4w9GTIpuxKQSqhWATez+ib8sDgLdC76s2tdY7T
ByBLs0rfAAeHwGiJstd83t3TObd/77Tm9wNyw3KnzSNOGAAAAAZiS0dEAJ8AMACxMhhtNAAAAAlw
SFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+YHCww0DNJuT5YAAAAZdEVYdENvbW1lbnQAQ3JlYXRl
ZCB3aXRoIEdJTVBXgQ4XAAAATUlEQVQoz52QQQ4AMQgCR9/rc/xv99SkIdWN5QgoqGXmAogIo8H2
uRKdGcCU0CTVrBIqrtx24ky1ru+tojPEe6XR0aO3dubbkP+ZVfsAVVNBhh3Rb78AAAAASUVORK5C
YII=
}
image create photo close_10x10 -data {
iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAABhGlDQ1BJQ0MgcHJvZmlsZQAAKJF9
kT1Iw1AUhU9TpaIVBzuIdMhQnSyIFXHUKhShQqgVWnUweekfNDEkKS6OgmvBwZ/FqoOLs64OroIg
+APi6OSk6CIl3pcUWsT44PI+znvncN99gNCoMs3qGgc03TYzqaSYy6+IoVeE0EcVRUJmljErSWn4
rq97BPh+F+dZ/vf+XP1qwWJAQCSeYYZpE68TT23aBud94ggryyrxOfGYSQ0SP3Jd8fiNc8llgWdG
zGxmjjhCLJY6WOlgVjY14knimKrplC/kPFY5b3HWqjXW6pO/MFzQl5e4ThVFCgtYhAQRCmqooAob
cdp1Uixk6Dzp4x92/RK5FHJVwMgxjw1okF0/+B/8nq1VTEx4SeEk0P3iOB8jQGgXaNYd5/vYcZon
QPAZuNLb/o0GMP1Jer2txY6AgW3g4rqtKXvA5Q4w9GTIpuxKQSqhWATez+ib8sDgLdC76s2tdY7T
ByBLs0rfAAeHwGiJstd83t3TObd/77Tm9wNyw3KnzSNOGAAAAAZiS0dEAJ8AMACxMhhtNAAAAAlw
SFlzAAAuIwAALiMBeKU/dgAAAAd0SU1FB+YHCww2COc16Q0AAAAZdEVYdENvbW1lbnQAQ3JlYXRl
ZCB3aXRoIEdJTVBXgQ4XAAAARElEQVQY05WPwQ0AIAgDr2zNBIytLxPToNE+j9KCMnMAVJVotObh
oDMByMFKdqZb4r6oU5XfHTzqr/rpmc7UtcTJ5GwCGLsw4txYqA4AAAAASUVORK5CYII=
}

View File

@ -1,64 +0,0 @@
#!/usr/bin/wish
######################################################
# ProjMan 2
# Distributed under GNU Public License
# Author: Sergey Kalinin svk@nuk-svk.ru
# Copyright (c) "", 2022, https://nuk-svk.ru
######################################################
# Generate menu module
######################################################
proc GetFileMenu {m} {
$m add command -label [::msgcat::mc "New file"] -command Editor::New\
-accelerator "Ctrl+N"
$m add command -label [::msgcat::mc "Open file"] -accelerator "Ctrl+O" -command {
set filePath [FileOper::OpenDialog]
if {$filePath != ""} {
FileOper::Edit $filePath
}
}
$m add command -label [::msgcat::mc "Open folder"] -accelerator "Ctrl+K" -command {
set folderPath [FileOper::OpenFolderDialog]
if {$folderPath != ""} {
FileOper::ReadFolder $folderPath
}
}
$m add command -label [::msgcat::mc "Save file"] -command {FileOper::Save}\
-accelerator "Ctrl+S"
#$m add command -label [::msgcat::mc "Open"] -command {FileDialog $tree open}\
#-font $fontNormal -accelerator "Ctrl+O" -state disable
$m add separator
$m add command -label [::msgcat::mc "Exit"] -command Quit -accelerator "Ctrl+Q"
}
proc GetEditMenu {m} {
$m add command -label [::msgcat::mc "Undo"] -command Undo\
-accelerator "Ctrl+Z"
$m add command -label [::msgcat::mc "Redo"] -command Redo\
-accelerator "Ctrl+Y"
$m add separator
$m add command -label [::msgcat::mc "Copy"] -command Copy\
-accelerator "Ctrl+C"
$m add command -label [::msgcat::mc "Paste"] -command Paste\
-accelerator "Ctrl+V"
$m add command -label [::msgcat::mc "Cut"] -command Cut\
-accelerator "Ctrl+Z"
$m add separator
$m add command -label [::msgcat::mc "Find"] -command Find\
-accelerator "Ctrl+F"
$m add command -label [::msgcat::mc "Replace"] -command Replace\
-accelerator "Ctrl+R"
$m add separator
$m add command -label [::msgcat::mc "Find in files"] -command File::Find\
-accelerator "Ctrl+Shift+F"
$m add command -label [::msgcat::mc "Replace in files"] -command File::Replace\
-accelerator "Ctrl+Shift+RV"
}
proc GetViewMenu {m} {
$m add command -label [::msgcat::mc "View files tree"] -command ViewFilesTree
$m add command -label [::msgcat::mc "View line numbers"] -command ViewLineNumbers
}

View File

@ -1,133 +0,0 @@
###########################################################
# Tcl/Tk Project Manager #
# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru #
# Author: Sergey Kalinin banzaj28@yandex.ru #
###########################################################
# german messages file #
# Author: Roman Schaller <r.schaller@gmx.ch> #
###########################################################
::msgcat::mcset de "About ..." "Über ..."
::msgcat::mcset de "Add to project" "Zu Projekt hinzufügen"
::msgcat::mcset de "Author" "Autor"
::msgcat::mcset de "Text autoformat" "Text autoformat"
::msgcat::mcset de "Cancel" "Abbrechen"
::msgcat::mcset de "Can't found file:" "Datei nicht gefunden:"
::msgcat::mcset de "Close" "Schliessen"
::msgcat::mcset de "Close all" "Alles Schliessen"
::msgcat::mcset de "Close Project Manager?" "Project Manager Schliessen?"
::msgcat::mcset de "Company" "Firma"
::msgcat::mcset de "Contents" "Inhalt"
::msgcat::mcset de "Copy" "Kopieren"
::msgcat::mcset de "Copy into clipboard" "In Zwischenablage kopieren"
::msgcat::mcset de "Create backup files" "Backup-Dateien erstellen"
::msgcat::mcset de "Create new project" "Neuse Projekt erstellen"
::msgcat::mcset de "Create new file" "Neue Datei erstellen"
::msgcat::mcset de "Create directory" "Verzeichnis erstelle"
::msgcat::mcset de "Curent directory" "Aktuelles Verzeichnis"
::msgcat::mcset de "Cut" "Ausschneiden"
::msgcat::mcset de "Cut into clipboard" "In Zwischenablage ausschneiden"
::msgcat::mcset de "CVS commit"
::msgcat::mcset de "CVS update"
::msgcat::mcset de "Delete" "Löschen"
::msgcat::mcset de "Delete backup files" "Backup-Dateien löschen"
::msgcat::mcset de "Delete project" "Projekt löschen"
::msgcat::mcset de "Delete from project" "Von Projekt entfernen"
::msgcat::mcset de "Docs dir" "Dok Verzeichnis"
::msgcat::mcset de "Don't selected file"
::msgcat::mcset de "E-mail"
::msgcat::mcset de "Edit" "Bearbeiten"
::msgcat::mcset de "Editor font" "Editor Schriftart"
::msgcat::mcset de "Editor font bold Editor Schriftart fett"
::msgcat::mcset de "Error open URL"
::msgcat::mcset de "Exit" "Beenden"
::msgcat::mcset de "File" "Datei"
::msgcat::mcset de "File already exists. Overwrite?" "Datei besteht bereits. Überschreiben?"
::msgcat::mcset de "File modify" "Datei bearbeiten"
::msgcat::mcset de "File was modifyed. Close?" "Datei wurde geändert. Trotzdem schliessen?"
::msgcat::mcset de "File was modifyed. Save?" "Datei wurde geändert. Jetzt speichern?"
::msgcat::mcset de "File saved" "Datei gespeichert"
::msgcat::mcset de "Find" "Suchen"
::msgcat::mcset de "Font normal" "Schrift normal"
::msgcat::mcset de "Font bold" "Schrift fett"
::msgcat::mcset de "Goto line" "Gehezu Zeile"
::msgcat::mcset de "Help" "Hilfe"
::msgcat::mcset de "Home dir" "Home Verzeichnis"
::msgcat::mcset de "Home page" "Homepage"
::msgcat::mcset de "Image dir" "Image Verzeichnis"
::msgcat::mcset de "Insert" "Einfügen"
::msgcat::mcset de "Interface language" "Interface Sprache"
::msgcat::mcset de "Install Tcl/Tk Project Manager" "Tcl/Tk Project Manager installieren"
::msgcat::mcset de "Line number" "Zeilennummer"
::msgcat::mcset de "Make RPM" "RPM erstellen"
::msgcat::mcset de "Make archive" "Archiv erstellen"
::msgcat::mcset de "Make backup files" "Backup-Dateien erstellen"
::msgcat::mcset de "Must be one file select!" "Eine Datei muss ausgewählt sein!"
::msgcat::mcset de "Must be one or two file select!" "Eine oder zwei Dateien müssen ausgewählt sein!"
::msgcat::mcset de "Modifying the Registry..."
::msgcat::mcset de "Modules" "Module"
::msgcat::mcset de "New" "Neu"
::msgcat::mcset de "New file" "Neue Datei"
::msgcat::mcset de "New project" "Neues Projekt"
::msgcat::mcset de "Not implemented yet" "Noch nicht implementiert"
::msgcat::mcset de "Not found active project" "Kein aktives Projekt gefunden"
::msgcat::mcset de "Open" "Öffnen"
::msgcat::mcset de "Open file" "Datei öffnen"
::msgcat::mcset de "Open project" "Projekt öffnen"
::msgcat::mcset de "Opened file in progress" "Geöffnete Datei in Bearbeitung"
::msgcat::mcset de "Overwrite" "Überschreiben"
::msgcat::mcset de "Paste" "Einfügen"
::msgcat::mcset de "Paste from clipboard" "Von Zwischenablage einfügen"
::msgcat::mcset de "Print ..." "Drucken ..."
::msgcat::mcset de "Print" "Drucken"
::msgcat::mcset de "Print command" "Druck-Befehl"
::msgcat::mcset de "Print selected text" "Markierter Text drucken"
::msgcat::mcset de "Program finished successfully" "Programm wurde erfolgreich beendet"
::msgcat::mcset de "Program failed" "Ausführung fehlgeschlagen"
::msgcat::mcset de "Programm output" "Programm Ausgabe"
::msgcat::mcset de "Project" "Projekt"
::msgcat::mcset de "Projects" "Projekte"
::msgcat::mcset de "Project settings" "Projekt einstellungen"
::msgcat::mcset de "Project name" "Projekt-Name"
::msgcat::mcset de "Project file" "Projekt-Datei"
::msgcat::mcset de "Project dir" "Projekt-Verzeichnis"
::msgcat::mcset de "Question" "Frage"
::msgcat::mcset de "Quit without saving?" "Beenden ohne zu speichern?"
::msgcat::mcset de "Redo" "Wiederherstellen"
::msgcat::mcset de "Refresh" "Auffrischen"
::msgcat::mcset de "Replace" "Ersetzen"
::msgcat::mcset de "Replace with" "Ersetzen mit"
::msgcat::mcset de "Replace all" "Alles ersetzen"
::msgcat::mcset de "Release"
::msgcat::mcset de "RPM dir" "RPM Verzeichnis"
::msgcat::mcset de "RPM file mask" "RPM Datei Maske"
::msgcat::mcset de "Run" "Ausführen"
::msgcat::mcset de "Running project" "Projekt ausführen"
::msgcat::mcset de "Running file"
::msgcat::mcset de "Save" "Speichern"
::msgcat::mcset de "Save as" "Speichern unter"
::msgcat::mcset de "Save file" "Datei speichern"
::msgcat::mcset de "Save file as" "Datei speichern unter"
::msgcat::mcset de "Save all" "Alles speichern"
::msgcat::mcset de "Search" "Suchen"
::msgcat::mcset de "Select" "Auswählen"
::msgcat::mcset de "Select directory" "Verzeichnis auswählen"
::msgcat::mcset de "Selected directory" "Ausgewähltes Verzeichnis"
::msgcat::mcset de "Settings" "Einstellungen"
::msgcat::mcset de "Show backup files" "Backup-Dateien anzeigen"
::msgcat::mcset de "Interpretator" "Interpreter"
::msgcat::mcset de "TGZ dir" "TGZ Verzeichnis"
::msgcat::mcset de "TGZ file mask" "TGZ Datei Maske"
::msgcat::mcset de "Thanks" "Danksagung"
::msgcat::mcset de "Toolbar" "Symbolleiste"
::msgcat::mcset de "Undo" "Rückgängig"
::msgcat::mcset de "Update"
::msgcat::mcset de "Version"
::msgcat::mcset de "View" "Ansicht"
::msgcat::mcset de "Warning" "Warnung"
::msgcat::mcset de "Was replacement"
::msgcat::mcset de "Work dir" "Arbeitsverzeichnis"

View File

@ -1,188 +0,0 @@
###########################################################
# Tcl/Tk Project Manager #
# english messages file #
# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru #
# Author: Sergey Kalinin banzaj28@yandex.ru #
###########################################################
::msgcat::mcset en "About ..."
::msgcat::mcset en "Add as new project"
::msgcat::mcset en "Add to existing project"
::msgcat::mcset en "Add to project"
::msgcat::mcset en "Archive dir"
::msgcat::mcset en "Archive file mask"
::msgcat::mcset en "Author"
::msgcat::mcset en "Braces"
::msgcat::mcset en "Quad braces"
::msgcat::mcset en "Braces background"
::msgcat::mcset en "Braces foreground"
::msgcat::mcset en "Cancel"
::msgcat::mcset en "Can't found file:"
::msgcat::mcset en "Close"
::msgcat::mcset en "Close all"
::msgcat::mcset en "Close Project Manager?"
::msgcat::mcset en "Comments"
::msgcat::mcset en "Comment selected"
::msgcat::mcset en "Uncomment selected"
::msgcat::mcset en "Company"
::msgcat::mcset en "Compiler"
::msgcat::mcset en "Compile"
::msgcat::mcset en "Compile project"
::msgcat::mcset en "Compile file"
::msgcat::mcset en "Contents"
::msgcat::mcset en "Copy"
::msgcat::mcset en "Copy into clipboard"
::msgcat::mcset en "Create backup files"
::msgcat::mcset en "Create new project"
::msgcat::mcset en "Create new file"
::msgcat::mcset en "Create directory"
::msgcat::mcset en "Curent directory"
::msgcat::mcset en "Cut"
::msgcat::mcset en "Cut into clipboard"
::msgcat::mcset en "CVS commit"
::msgcat::mcset en "CVS update"
::msgcat::mcset en "Delete"
::msgcat::mcset en "Delete backup files"
::msgcat::mcset en "Delete project"
::msgcat::mc "with all files"
::msgcat::mc "If press \"Yes\" will deleted all files!"
::msgcat::mc "If press \"No\" will deleted only proj-file"
::msgcat::mcset en "Delete from project"
::msgcat::mcset en "Docs dir"
::msgcat::mcset en "Don't selected file"
::msgcat::mcset en "E-mail"
::msgcat::mcset en "Edit"
::msgcat::mcset en "Editor"
::msgcat::mcset en "Editor background"
::msgcat::mcset en "Editor foreground"
::msgcat::mcset en "Editor font"
::msgcat::mcset en "Editor font bold"
::msgcat::mcset en "Error open URL"
::msgcat::mcset en "Editor settings"
::msgcat::mcset en "Exit"
::msgcat::mcset en "File"
::msgcat::mcset en "File already exists. Overwrite?"
::msgcat::mcset en "File modify"
::msgcat::mcset en "File was modifyed. Close?"
::msgcat::mcset en "File was modifyed. Save?"
::msgcat::mcset en "File saved"
::msgcat::mcset en "Files"
::msgcat::mcset en "Find"
::msgcat::mcset en "Font normal"
::msgcat::mcset en "Font bold"
::msgcat::mcset en "FTP server"
::msgcat::mcset en "FTP user"
::msgcat::mcset en "FTP password"
::msgcat::mcset en "Goto line"
::msgcat::mcset en "Help"
::msgcat::mcset en "Home dir"
::msgcat::mcset en "Home page"
::msgcat::mcset en "Image dir"
::msgcat::mcset en "Indent foreground"
::msgcat::mcset en "Indent background"
::msgcat::mcset en "Interface language"
::msgcat::mcset en "Insert image"
::msgcat::mcset en "Install Tcl/Tk Project Manager"
::msgcat::mcset en "Input file name"
::msgcat::mcset en "Key bindings"
::msgcat::mcset en "Label"
::msgcat::mcset en "Language"
::msgcat::mcset en "Line number"
::msgcat::mcset en "Main"
::msgcat::mcset en "Make RPM"
::msgcat::mcset en "Make archive"
::msgcat::mcset en "Make backup files"
::msgcat::mcset en "Main settings"
::msgcat::mcset en "Modifying the Registry..."
::msgcat::mcset en "Must be one file select!"
::msgcat::mcset en "Must be one or two file select!"
::msgcat::mcset en "Modules"
::msgcat::mcset en "Network"
::msgcat::mcset en "New"
::msgcat::mcset en "New directory"
::msgcat::mcset en "New file"
::msgcat::mcset en "New project"
::msgcat::mcset en "Not implemented yet"
::msgcat::mcset en "Not found active project"
::msgcat::mcset en "Open"
::msgcat::mcset en "Open file"
::msgcat::mcset en "Open project"
::msgcat::mcset en "Opened file in progress"
::msgcat::mcset en "Operators"
::msgcat::mcset en "Overwrite"
::msgcat::mcset en "Parameters"
::msgcat::mcset en "Subparameters"
::msgcat::mcset en "Paste"
::msgcat::mcset en "Paste from clipboard"
::msgcat::mcset en "Percent"
::msgcat::mcset en "Print ..."
::msgcat::mcset en "Print"
::msgcat::mcset en "Print command"
::msgcat::mcset en "Print selected text"
::msgcat::mcset en "Program finished successfully"
::msgcat::mcset en "Procedure name"
::msgcat::mcset en "Procedure name complit"
::msgcat::mcset en "Program failed"
::msgcat::mcset en "Programm output"
::msgcat::mcset en "Project"
::msgcat::mcset en "Projects"
::msgcat::mcset en "Project settings"
::msgcat::mcset en "Project name"
::msgcat::mcset en "Project file"
::msgcat::mcset en "Project dir"
::msgcat::mcset en "Project type"
::msgcat::mcset en "Question"
::msgcat::mcset en "Quit without saving?"
::msgcat::mcset en "Quote string"
::msgcat::mcset en "Redo"
::msgcat::mcset en "Refresh"
::msgcat::mcset en "Replace"
::msgcat::mcset en "Replace with"
::msgcat::mcset en "Replace all"
::msgcat::mcset en "Release"
::msgcat::mcset en "RPM directory"
::msgcat::mcset en "RPM file mask"
::msgcat::mcset en "Run"
::msgcat::mcset en "Running project"
::msgcat::mcset en "Running file"
::msgcat::mcset en "Run file"
::msgcat::mcset en "Save"
::msgcat::mcset en "Save as"
::msgcat::mcset en "Save file"
::msgcat::mcset en "Save file as"
::msgcat::mcset en "Save all"
::msgcat::mcset en "Search"
::msgcat::mcset en "Select"
::msgcat::mcset en "Select all"
::msgcat::mcset en "Select directory"
::msgcat::mcset en "Selected directory"
::msgcat::mcset en "Selection color"
::msgcat::mcset en "Settings"
::msgcat::mcset en "Show backup files"
::msgcat::mcset en "Show dot files"
::msgcat::mcset en "Show the Menu"
::msgcat::mcset en "Split edit window"
::msgcat::mcset en "SQL commands"
::msgcat::mcset en "Interpretator"
::msgcat::mcset en "Text autoformat"
::msgcat::mcset en "Thanks"
::msgcat::mcset en "Title normal"
::msgcat::mcset en "Title modify"
::msgcat::mcset en "Toolbar"
::msgcat::mcset en "Undo"
::msgcat::mcset en "Update"
::msgcat::mcset en "Variables"
::msgcat::mcset en "Version"
::msgcat::mcset en "View"
::msgcat::mcset en "Warning"
::msgcat::mcset en "Was replacement"
::msgcat::mcset en "Word wrapping"
::msgcat::mcset en "Work dir"

View File

@ -1,135 +0,0 @@
###########################################################
# Tcl/Tk Project Manager #
# french messages file #
# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru #
# Author: Sergey Kalinin banzaj28@yandex.ru #
# Traduction: Michel SALVAGNIAC michel.salvagniac@free.fr #
###########################################################
# french messages file #
# Author: Michel SALVAGNIAC <michel.salvagniac@free.fr> #
###########################################################
::msgcat::mcset fr "About ..." "A propos..."
::msgcat::mcset fr "Add to project" "Ajouter au projet"
::msgcat::mcset fr "Author" "Auteur"
::msgcat::mcset fr "Text autoformat" "Autoformatage du texte"
::msgcat::mcset fr "Cancel" "Annuler"
::msgcat::mcset fr "Can't found file:" "Ne peut trouver le fichier:"
::msgcat::mcset fr "Close" "Fermer"
::msgcat::mcset fr "Close all" "Tout fermer"
::msgcat::mcset fr "Close Project Manager?" "Fermer Project Manager?"
::msgcat::mcset fr "Company" "Compagnie"
::msgcat::mcset fr "Contents" "Contenu"
::msgcat::mcset fr "Copy" "Copier"
::msgcat::mcset fr "Copy into clipboard" "Copier dans le Presse-papiers"
::msgcat::mcset fr "Create backup files" "Créer une copie de sauvegarde"
::msgcat::mcset fr "Create new project" "Créer nouveau projet"
::msgcat::mcset fr "Create new file" "Créer nouveau fichier"
::msgcat::mcset fr "Create directory" "Créer répertoire"
::msgcat::mcset fr "Curent directory" "Répertoire courant"
::msgcat::mcset fr "Cut" "Couper"
::msgcat::mcset fr "Cut into clipboard" "Couper dans le Presse-papiers"
::msgcat::mcset fr "CVS commit" "Ecriture CVS"
::msgcat::mcset fr "CVS update" "Mise à jour CVS"
::msgcat::mcset fr "Delete" "Effacer"
::msgcat::mcset fr "Delete backup files" "Effacer les fichiers de sauvegarde"
::msgcat::mcset fr "Delete project" "Effacer projet"
::msgcat::mcset fr "Delete from project" "Effacer du projet"
::msgcat::mcset fr "Docs dir" "Répertoire de la doc"
::msgcat::mcset fr "Don't selected file" "Fichier non sélectionné"
::msgcat::mcset fr "E-mail" "E-mail"
::msgcat::mcset fr "Edit" "Editer"
::msgcat::mcset fr "Editor font" "Police"
::msgcat::mcset fr "Editor font bold" "Police gras"
::msgcat::mcset fr "Error open URL" "Erreur à l'ouverture de l'URL"
::msgcat::mcset fr "Exit" "Quitter"
::msgcat::mcset fr "File" "Fichier"
::msgcat::mcset fr "File already exists. Overwrite?" "Le fichier existe déja. Ecraser?"
::msgcat::mcset fr "File modify" "Modification de fichier"
::msgcat::mcset fr "File was modifyed. Close?" "Le fichier a été modifié. Fermer?"
::msgcat::mcset fr "File was modifyed. Save?" "Le fichier a été modifié. Enregistrer?"
::msgcat::mcset fr "File saved" "Fichier enregistré"
::msgcat::mcset fr "Find" "Trouver"
::msgcat::mcset fr "Font normal" "Police normale"
::msgcat::mcset fr "Font bold" "Police grasse"
::msgcat::mcset fr "Goto line" "Aller à la ligne"
::msgcat::mcset fr "Help" "Aide"
::msgcat::mcset fr "Home dir" "Répertoire Home"
::msgcat::mcset fr "Home page" "Page d'accueil"
::msgcat::mcset fr "Image dir" "Répertoire des images"
::msgcat::mcset fr "Insert" "Insérer"
::msgcat::mcset fr "Interface language" "Langage d'interface"
::msgcat::mcset fr "Install Tcl/Tk Project Manager" "Installer Tcl/Tk Project Manager"
::msgcat::mcset fr "Line number" "Ligne numéro"
::msgcat::mcset fr "Make RPM" "Construire RPM"
::msgcat::mcset fr "Make archive" "Construire archive"
::msgcat::mcset fr "Make backup files" "Faire des sauvegardes"
::msgcat::mcset fr "Must be one file select!" "Vous devez choisir un fichier!"
::msgcat::mcset fr "Must be one or two file select!" "Vous devez choisir un ou deux fichiers!"
::msgcat::mcset fr "Modifying the Registry..."
::msgcat::mcset fr "Modules" "Modules"
::msgcat::mcset fr "New" "Nouveau"
::msgcat::mcset fr "New file" "Nouveau fichier"
::msgcat::mcset fr "New project" "Nouveau projet"
::msgcat::mcset fr "Not implemented yet" "Pas encore implémenté..."
::msgcat::mcset fr "Not found active project" "Pas de projet actif"
::msgcat::mcset fr "Open" "Ouvrir"
::msgcat::mcset fr "Open file" "Ouvrir fichier"
::msgcat::mcset fr "Open project" "Ouvrir projet"
::msgcat::mcset fr "Opened file in progress" "Ouverture en cours"
::msgcat::mcset fr "Overwrite" "Ecraser"
::msgcat::mcset fr "Paste" "Coller"
::msgcat::mcset fr "Paste from clipboard" "Coller du Presse-papiers"
::msgcat::mcset fr "Print ..." "Imprimer..."
::msgcat::mcset fr "Print" "Imprimer"
::msgcat::mcset fr "Print command" "Commande d'impression"
::msgcat::mcset fr "Print selected text" "Imprimer le texte sélectionné"
::msgcat::mcset fr "Program finished successfully" "Programme terminé avec succès"
::msgcat::mcset fr "Program failed" "Programme a échoué"
::msgcat::mcset fr "Programm output" "Sortie du programme"
::msgcat::mcset fr "Project" "Projet"
::msgcat::mcset fr "Projects" "Projets"
::msgcat::mcset fr "Project settings" "Réglages du projet"
::msgcat::mcset fr "Project name" "Nom du projet"
::msgcat::mcset fr "Project file" "Fichier projet"
::msgcat::mcset fr "Project dir" "Répertoire du projet"
::msgcat::mcset fr "Question" "Question"
::msgcat::mcset fr "Quit without saving?" "Quitter sans sauvegarder?"
::msgcat::mcset fr "Redo" "Refaire"
::msgcat::mcset fr "Refresh" "Rafraichir"
::msgcat::mcset fr "Releace" "Remplacer"
::msgcat::mcset fr "Replace with" "Remplacer avec"
::msgcat::mcset fr "Replace all" "Remplacer tout"
::msgcat::mcset fr "Release" "Révision"
::msgcat::mcset fr "RPM dir" "Répertoire RPM"
::msgcat::mcset fr "RPM file mask" "fichiers RPM"
::msgcat::mcset fr "Run" "Executer"
::msgcat::mcset fr "Running project" "Exécute le projet"
::msgcat::mcset fr "Save" "Enregistrer"
::msgcat::mcset fr "Save as" "Enregistrer sous"
::msgcat::mcset fr "Save file" "Enregistrer fichier"
::msgcat::mcset fr "Save file as" "Enregistrer fichier sous"
::msgcat::mcset fr "Save all" "Tout enregistrer"
::msgcat::mcset fr "Search" "Rechercher"
::msgcat::mcset fr "Select" "Choisir"
::msgcat::mcset fr "Select directory" "Choisir un répertoire"
::msgcat::mcset fr "Selected directory" "Répertoire choisi"
::msgcat::mcset fr "Settings" "Paramètres"
::msgcat::mcset fr "Show backup files" "Montrer fichiers de sauvegarde"
::msgcat::mcset fr "Interpretator" "Interpréteur"
::msgcat::mcset fr "TGZ dir" "Répertoire TGZ"
::msgcat::mcset fr "TGZ file mask" "fichiers TGZ"
::msgcat::mcset fr "Thanks" "Remerciements"
::msgcat::mcset fr "Toolbar" "Barre d'outils"
::msgcat::mcset fr "Undo" "Défaire"
::msgcat::mcset fr "Update" "Mise à jour"
::msgcat::mcset fr "Version" "Version"
::msgcat::mcset fr "View" "Vue"
::msgcat::mcset fr "Warning" "Avertissement"
::msgcat::mcset fr "Was replacement" "A été remplacé"
::msgcat::mcset fr "Work dir" "Répertoire de travail"

View File

@ -1,192 +0,0 @@
###########################################################
# Tcl/Tk Project Manager #
# russian messages file #
# Copyright (c) "Sergey Kalinin", 2001, http://nuk-svk.ru #
# Author: Sergey Kalinin banzaj28@yandex.ru #
###########################################################
::msgcat::mcset ru "About ..." "О программе"
::msgcat::mcset ru "Add as new project" "Добавить как Новый Проект"
::msgcat::mcset ru "Add to existing project" "Добавить в существующий проект"
::msgcat::mcset ru "Add to project" "Добавить в проект"
::msgcat::mcset ru "Archive created in" "Архив помещен в"
::msgcat::mcset ru "Archive directory" "Каталог c архивами"
::msgcat::mcset ru "Archive file mask" "Маска архива"
::msgcat::mcset ru "Author" "Автор"
::msgcat::mcset ru "Braces" "Скобки"
::msgcat::mcset ru "Quad braces" "Квадратные скобки"
::msgcat::mcset ru "Braces background" "Фон скобки"
::msgcat::mcset ru "Braces foreground" "Цвет скобки"
::msgcat::mcset ru "Cancel" "Отмена"
::msgcat::mcset ru "Can't found file:" "Не найден файл:"
::msgcat::mcset ru "Close" "Закрыть"
::msgcat::mcset ru "Close all" "Закрыть все"
::msgcat::mcset ru "Close Project Manager?" "Выйти из программы?"
::msgcat::mcset ru "Comments" "Коментарии"
::msgcat::mcset ru "Comment selected" "Закоментировать"
::msgcat::mcset ru "Uncomment selected" "Раскоментировать"
::msgcat::mcset ru "Company" "Компания"
::msgcat::mcset ru "Compiler" "Компилятор"
::msgcat::mcset ru "Compile" "Компиляция"
::msgcat::mcset ru "Compile project" "Компиляция проекта"
::msgcat::mcset ru "Compile file" "Компиляция файла"
::msgcat::mcset ru "Contents" "Содержание"
::msgcat::mcset ru "Copy" "Скопировать"
::msgcat::mcset ru "Copy into clipboard" "Скопировать в буфер"
::msgcat::mcset ru "Create" "Создать"
::msgcat::mcset ru "Create new project" "Создать новый проект"
::msgcat::mcset ru "Create new file" "Создать новый файл"
::msgcat::mcset ru "Create directory" "Создать директорию"
::msgcat::mcset ru "Create backup files" "Создавать временные файлы"
::msgcat::mcset ru "Curent directory" "Текущий каталог"
::msgcat::mcset ru "Cut" "Вырезать"
::msgcat::mcset ru "Cut into clipboard" "Вырезать в буфер"
::msgcat::mcset ru "CVS commit" "Поместить в CVS"
::msgcat::mcset ru "CVS update" "Обновить из CVS"
::msgcat::mcset ru "Delete" "Удалить"
::msgcat::mcset ru "Delete file" "Удалить файл"
::msgcat::mcset ru "Delete backup files" "Удалять временные файлы"
::msgcat::mcset ru "Delete project" "Удалить проект"
::msgcat::mcset ru "with all files" "вместе с файлами"
::msgcat::mcset ru "If press \"Yes\" will deleted all files!" "Если нажать \"Да\" будут удалены все файлы"
::msgcat::mcset ru "If press \"No\" will deleted only proj-file" "Если нажать \"Нет\" будет удалён только файл проекта"
::msgcat::mcset ru "Delete from project" "Удалить из проекта"
::msgcat::mcset ru "Docs dir" "Каталог документации"
::msgcat::mcset ru "Don't selected file" "Не определен файл"
::msgcat::mcset ru "E-mail" "Эл. почта"
::msgcat::mcset ru "Edit" "Редактирование"
::msgcat::mcset ru "Editor" "Редактор"
::msgcat::mcset ru "Editor background" "Цвет фона"
::msgcat::mcset ru "Editor foreground" "Цвет шрифта"
::msgcat::mcset ru "Editor font" "Шрифт редактора"
::msgcat::mcset ru "Editor font bold" "Шрифт редактора жирный"
::msgcat::mcset ru "Editor settings" "Настройки редактора"
::msgcat::mcset ru "Encode" "Перекодировка"
::msgcat::mcset ru "Error open URL" "Ошибка открытия URL"
::msgcat::mcset ru "Exit" "Выход"
::msgcat::mcset ru "File" "Файл"
::msgcat::mcset ru "Files" "Файлы"
::msgcat::mcset ru "File already exists. Overwrite?" "Файл уже существует. Переписать?"
::msgcat::mcset ru "File was modifyed. Close?" "Файл был изменен. Закрыть?"
::msgcat::mcset ru "File was modifyed. Save?" "Файл был изменен. Сохранить?"
::msgcat::mcset ru "File modify" "Файл изменен"
::msgcat::mcset ru "File saved" "Файл сохранен"
::msgcat::mcset ru "Find" "Найти"
::msgcat::mcset ru "Find in files" "Найти в файлах"
::msgcat::mcset ru "Font normal" "Нормальный шрифт"
::msgcat::mcset ru "Font bold" "Жирный шрифт"
::msgcat::mcset ru "FTP password" "FTP пароль"
::msgcat::mcset ru "FTP server" "FTP сервер"
::msgcat::mcset ru "FTP user" "FTP пользователь"
::msgcat::mcset ru "Goto line" "Перейти к ..."
::msgcat::mcset ru "Help" "Помощь"
::msgcat::mcset ru "Home dir" "Домашний каталог"
::msgcat::mcset ru "Home page" "Домашняя страница"
::msgcat::mcset ru "Image dir" "Каталог изображений"
::msgcat::mcset ru "Indent foreground" "Подсветка отступа"
::msgcat::mcset ru "Indent background" "Подсветка отступа"
::msgcat::mcset ru "Insert" "Вставка"
::msgcat::mcset ru "Insert image" "Вставить изображение"
::msgcat::mcset ru "Interface language" "Язык интерфейса"
::msgcat::mcset ru "Interpetator" "Интерпретатор"
::msgcat::mcset ru "Install Tcl/Tk Project Manager" "Установка Tcl/Tk Project Manager"
::msgcat::mcset ru "Input file name" "Введите имя файла"
::msgcat::mcset ru "Key bindings" "Назначения клавиш"
::msgcat::mcset ru "Label" "Метка"
::msgcat::mcset ru "Language" "Язык"
::msgcat::mcset ru "Line number" "Номер строки"
::msgcat::mcset ru "Make RPM" "Создать RPM"
::msgcat::mcset ru "Make archive" "Создать архив"
::msgcat::mcset ru "Make backup files" "Создавать временные файлы"
::msgcat::mcset ru "Main" "Общие"
::msgcat::mcset ru "Main settings" "Общие настройки"
::msgcat::mcset ru "Modules" "Модули"
::msgcat::mcset ru "Modifying the Registry..." "Внесение изменений в реестр"
::msgcat::mcset ru "Must be one file select!" "Вы должны выбрать только один файл"
::msgcat::mcset ru "Must be one or two file select!" "Вы должны выбрать один или два файла"
::msgcat::mcset ru "Network" "Сеть"
::msgcat::mcset ru "New" "Новый"
::msgcat::mcset ru "New directory" "Новый каталог"
::msgcat::mcset ru "New file" "Новый файл"
::msgcat::mcset ru "New project" "Новый проект"
::msgcat::mcset ru "Not implemented yet" "Данная функция пока не реализована"
::msgcat::mcset ru "Not found active project" "Не определен активный проект"
::msgcat::mcset ru "Open" "Открыть"
::msgcat::mcset ru "Open file" "Открыть файл"
::msgcat::mcset ru "Open folder" "Открыть папку"
::msgcat::mcset ru "Open project" "Открыть проект"
::msgcat::mcset ru "Opened file in progress" "Открытие файла"
::msgcat::mcset ru "Operators" "Операторы"
::msgcat::mcset ru "Overwrite" "Замена"
::msgcat::mcset ru "Parameters" "Параметры"
::msgcat::mcset ru "Subparameters" "Субпараметры"
::msgcat::mcset ru "Paste" "Вставить"
::msgcat::mcset ru "Paste from clipboard" "Вставить из буфера"
::msgcat::mcset ru "Percent" "Знак процента"
::msgcat::mcset ru "Print ..." "Печать ..."
::msgcat::mcset ru "Print" "Печать"
::msgcat::mcset ru "Print command" "Команда печати"
::msgcat::mcset ru "Print selected text" "Печатать выделенный текст"
::msgcat::mcset ru "Procedure name" "Имя процедуры"
::msgcat::mcset ru "Procedure name complit" "Автодобивка процедуры"
::msgcat::mcset ru "Program finished successfully" "Выполнение завершено"
::msgcat::mcset ru "Program failed" "Ошибка выполнения"
::msgcat::mcset ru "Programm output" "Вывод программы"
::msgcat::mcset ru "Project" "Проект"
::msgcat::mcset ru "Projects" "Проекты"
::msgcat::mcset ru "Project settings" "Установки проекта"
::msgcat::mcset ru "Project name" "Название проекта"
::msgcat::mcset ru "Project file" "Файл проекта"
::msgcat::mcset ru "Project dir" "Каталог проекта"
::msgcat::mcset ru "Project type" "Тип проекта"
::msgcat::mcset ru "Quit without saving?" "Выйти без сохранения?"
::msgcat::mcset ru "Question" "Вопрос"
::msgcat::mcset ru "Quote string" "Строка в кавычках"
::msgcat::mcset ru "Redo" "Повторить"
::msgcat::mcset ru "Refresh" "Обновить"
::msgcat::mcset ru "Replace" "Замена"
::msgcat::mcset ru "Replace in files" "Заменить в файлах"
::msgcat::mcset ru "Replace with" "Заменить на"
::msgcat::mcset ru "Replace all" "Заменить все"
::msgcat::mcset ru "Release" "Выпуск"
::msgcat::mcset ru "RPM directory" "Каталог RPM"
::msgcat::mcset ru "RPM file mask" "Маска RPM"
::msgcat::mcset ru "Run" "Выполнить"
::msgcat::mcset ru "Run file" "Запустить файл"
::msgcat::mcset ru "Running project" "Выполнение проекта"
::msgcat::mcset ru "Running file" "Выполнение файла"
::msgcat::mcset ru "Save" "Сохранить"
::msgcat::mcset ru "Save file" "Сохранить файл"
::msgcat::mcset ru "Save file as" "Сохранить файл как ..."
::msgcat::mcset ru "Save as" "Сохранить как ..."
::msgcat::mcset ru "Save all" "Сохранить все"
::msgcat::mcset ru "Search" "Поиск"
::msgcat::mcset ru "Select" "Выбрать"
::msgcat::mcset ru "Select all" "Выделить все"
::msgcat::mcset ru "Select directory" "Выбор директории"
::msgcat::mcset ru "Selected directory" "Директория"
::msgcat::mcset ru "Selection color" "Цвет выделения"
::msgcat::mcset ru "Settings" "Установки"
::msgcat::mcset ru "Show backup files" "Показывать временные файлы"
::msgcat::mcset ru "Show the Menu" "Показывать меню"
::msgcat::mcset ru "Show dot files" "Показывать скрытые файлы"
::msgcat::mcset ru "Split edit window" "Разделить окно редактора"
::msgcat::mcset ru "SQL commands" "SQL команды"
::msgcat::mcset ru "Text autoformat" "Автоформат текста"
::msgcat::mcset ru "Thanks" "Благодарности"
::msgcat::mcset ru "Title normal" "Файл нормальный"
::msgcat::mcset ru "Title modify" "Файл изменен"
::msgcat::mcset ru "Toolbar" "Панель инструментов"
::msgcat::mcset ru "Undo" "Отменить"
::msgcat::mcset ru "Update" "Обновить"
::msgcat::mcset ru "Variables" "Переменные"
::msgcat::mcset ru "Version" "Версия"
::msgcat::mcset ru "View" "Вид"
::msgcat::mcset ru "View files tree" "Показывать дерево файлов"
::msgcat::mcset ru "View line numers" "Показывать номера строк"
::msgcat::mcset ru "Warning" "Внимание"
::msgcat::mcset ru "Was replacement" "Было заменено"
::msgcat::mcset ru "Word wrapping" "Перенос слов"
::msgcat::mcset ru "Work dir" "Рабочий каталог"

View File

@ -1,38 +0,0 @@
######################################################
# ProjMan 2
# Distributed under GNU Public License
# Author: Sergey Kalinin svk@nuk-svk.ru
# Copyright (c) "", 2022, https://nuk-svk.ru
######################################################
#
# Operation with NoteBook widget module
#
######################################################
namespace eval NB {
proc InsertItem {nb item type} {
switch $type {
file {
regsub -all {\.|/|\\|\s} $item "_" itemName
if [winfo exists $nb.$itemName] {
set fm $nb.$itemName
} else {
set fm [ttk::frame $nb.$itemName]
pack $fm -side top -expand true -fill both
$nb add $fm -text [file tail $item];# -image close_12x12 -compound right
$nb select $fm
}
}
}
puts "NB item - $fm"
return $fm
}
proc CloseTab {w x y} {
if {[$w identify $x $y] == "close_button"} {
puts "Hurrah! Close tab [$w index @$x,$y] plz."
FileOper::Close
}
}
}

View File

@ -1,73 +0,0 @@
######################################################
# ProjMan 2
# Distributed under GNU Public License
# Author: Sergey Kalinin svk@nuk-svk.ru
# Copyright (c) "", 2022, https://nuk-svk.ru
######################################################
#
# All procedures module
#
######################################################
proc Quit {} {
global dir
Config::write $dir(cfg)
exit
}
proc ViewFilesTree {} {
global cfgVariables
if {$cfgVariables(toolBarShow) eq "true"} {
.frmBody.panel forget .frmBody.frmTree
set cfgVariables(toolBarShow) false
} else {
.frmBody.panel insert 0 .frmBody.frmTree
set cfgVariables(toolBarShow) true
}
}
# Enable/Disabled line numbers in editor
proc ViewLineNumbers {} {
global cfgVariables nbEditor
# Changed global settigs
if {$cfgVariables(lineNumberShow) eq "true"} {
set cfgVariables(lineNumberShow) false
} else {
set cfgVariables(lineNumberShow) true
}
# apply changes for opened tabs
foreach node [$nbEditor tabs] {
$node.frmText.t configure -linemap $cfgVariables(lineNumberShow)
}
}
proc Del {} {
return
}
proc YScrollCommand {txt canv} {
$txt yview
$canv yview"
}
proc ResetModifiedFlag {w} {
global modified nbEditor
$w.frmText.t edit modified false
set modified($w) "false"
set lbl [string trimleft [$nbEditor tab $w -text] "* "]
puts "ResetModifiedFlag: $lbl"
$nbEditor tab $w -text $lbl
}
proc SetModifiedFlag {w} {
global modified nbEditor
#$w.frmText.t edit modified false
set modified($w) "true"
set lbl [$nbEditor tab $w -text]
puts "SetModifiedFlag: $w; $modified($w); >$lbl<"
if {[regexp -nocase -all -- {^\*} $lbl match] == 0} {
set lbl "* $lbl"
}
$nbEditor tab $w -text $lbl
}

View File

@ -1,86 +0,0 @@
#!/usr/bin/wish
######################################################
# ProjMan 2
# Distributed under GNU Public License
# Author: Sergey Kalinin svk@nuk-svk.ru
# Copyright (c) "", 2022, https://nuk-svk.ru
######################################################
#
# Tree widget working module
#
######################################################
namespace eval Tree {
proc InsertItem {tree parent item type text} {
# set img [GetImage $fileName]
set dot "_"
puts "$tree $parent $item $type $text"
switch $type {
file {
regsub -all {\.|/|\\|\s} $item "_" subNode
puts $subNode
set image imgFile
}
directory {
regsub -all {\.|/|\\|\s} $item "_" subNode
puts $subNode
set image folder
}
}
append id $type "::" $subNode
puts $id
if ![$tree exists $id] {
$tree insert $parent end -id "$id" -text $text -values "$item" -image $image
}
return "$id"
}
proc DoublePressItem {tree} {
set id [$tree selection]
$tree tag remove selected
$tree item $id -tags selected
set values [$tree item $id -values]
set key [lindex [split $id "::"] 0]
if {$values eq "" || $key eq ""} {return}
puts "$key $tree $values"
switch $key {
directory {
FileOper::ReadFolder $values
}
file {
FileOper::Edit $values
# $tree item $id -open false
}
}
}
proc PressItem {tree} {
set id [$tree selection]
$tree tag remove selected
$tree item $id -tags selected
set values [$tree item $id -values]
set key [lindex [split $id "::"] 0]
if {$values eq "" || $key eq ""} {return}
puts "$key $tree $values"
switch $key {
directory {
FileOper::ReadFolder $values
# $tree item $id -open false
}
file {
FileOper::Edit $values
}
}
#
}
proc GetItemID {tree item} {
if [$tree exists $item] {
return [$tree item $item -values]
}
}
}

View File

@ -1,192 +0,0 @@
# SVG Image License
This License applies to the PNG images, built from the SVG images in the
adapta theme using `tool/svg.py`, ONLY! This License does not cover
`adapta.tcl`, which is covered by GNU GPLv3 as it is derived from
`equilux.tcl`, which is derived from `arc.tcl`.
[CC BY-SA is one-way compatible with GNU GPLv3](https://wiki.creativecommons.org/wiki/ShareAlike_compatibility:_GPLv3),
and thus theme `adapta` can be used as if it were licensed under
`GNU GPLv3`.
Note that the `adapta`-theme code/markup files are licensed under GNU
GPLv2, which is incompatible with GNU GPLv3 (as it does not specify
`Or at your option, any later version`), but no files covered by only
GPLv2 from the `adapta` theme are included, so it does NOT apply.
Original Theme [`adapta-gtk-theme`](https://github.com/adapta-project/adapta-gtk-theme)
**Authors**: `@tista500` and others
# Attribution-ShareAlike 4.0 International
Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
### Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
* __Considerations for licensors:__ Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. [More considerations for licensors](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors).
* __Considerations for the public:__ By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensors permission is not necessary for any reasonfor example, because of any applicable exception or limitation to copyrightthen that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. [More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees).
## Creative Commons Attribution-ShareAlike 4.0 International Public License
By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-ShareAlike 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
### Section 1 Definitions.
a. __Adapted Material__ means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
b. __Adapter's License__ means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
c. __BY-SA Compatible License__ means a license listed at [creativecommons.org/compatiblelicenses](http://creativecommons.org/compatiblelicenses), approved by Creative Commons as essentially the equivalent of this Public License.
d. __Copyright and Similar Rights__ means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
e. __Effective Technological Measures__ means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
f. __Exceptions and Limitations__ means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
g. __License Elements__ means the license attributes listed in the name of a Creative Commons Public License. The License Elements of this Public License are Attribution and ShareAlike.
h. __Licensed Material__ means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
i. __Licensed Rights__ means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
j. __Licensor__ means the individual(s) or entity(ies) granting rights under this Public License.
k. __Share__ means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
l. __Sui Generis Database Rights__ means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
m. __You__ means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
### Section 2 Scope.
a. ___License grant.___
1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
A. reproduce and Share the Licensed Material, in whole or in part; and
B. produce, reproduce, and Share Adapted Material.
2. __Exceptions and Limitations.__ For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
3. __Term.__ The term of this Public License is specified in Section 6(a).
4. __Media and formats; technical modifications allowed.__ The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
5. __Downstream recipients.__
A. __Offer from the Licensor Licensed Material.__ Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
B. __Additional offer from the Licensor Adapted Material. Every recipient of Adapted Material from You automatically receives an offer from the Licensor to exercise the Licensed Rights in the Adapted Material under the conditions of the Adapters License You apply.
C. __No downstream restrictions.__ You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
6. __No endorsement.__ Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
b. ___Other rights.___
1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this Public License.
3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties.
### Section 3 License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the following conditions.
a. ___Attribution.___
1. If You Share the Licensed Material (including in modified form), You must:
A. retain the following if it is supplied by the Licensor with the Licensed Material:
i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of warranties;
v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
b. ___ShareAlike.___
In addition to the conditions in Section 3(a), if You Share Adapted Material You produce, the following conditions also apply.
1. The Adapters License You apply must be a Creative Commons license with the same License Elements, this version or later, or a BY-SA Compatible License.
2. You must include the text of, or the URI or hyperlink to, the Adapter's License You apply. You may satisfy this condition in any reasonable manner based on the medium, means, and context in which You Share Adapted Material.
3. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, Adapted Material that restrict exercise of the rights granted under the Adapter's License You apply.
### Section 4 Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database;
b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material, including for purposes of Section 3(b); and
c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
### Section 5 Disclaimer of Warranties and Limitation of Liability.
a. __Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.__
b. __To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.__
c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
### Section 6 Term and Termination.
a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
### Section 7 Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
### Section 8 Interpretation.
a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
> Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” The text of the Creative Commons public licenses is dedicated to the public domain under the [CC0 Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/legalcode). Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
>
> Creative Commons may be contacted at creativecommons.org.

View File

@ -1,338 +0,0 @@
# Copyright (C) 2018 RedFantom
# Derived from https://github.com/adapta-project/adapta-gtk-theme (GNU GPLv2)
# Based on /ttkthemes/ttkthemes/themes/arc/arc.tcl (GNU GPLv3)
# Available under the GNU GPLv3, or at your option any later version
# Theme Adapta
namespace eval ttk::theme::adapta {
# Widget colors
variable colors
array set colors {
-foreground "#000000"
-background "#fafbfc"
-disabledbg "#fafbfc"
-disabledfg "#c3c5d6"
-selectbg "#00bcd4"
-selectfg "#ffffff"
-window "#fafbfc"
-focuscolor "#1ee9b7"
-checklight "#1ee9b7"
}
# Function to load images from subdirectory
variable directory
# Subdirectory /adapta
set directory [file join [file dirname [info script]] adapta]
variable images
# Load the images
foreach file [glob -directory $directory *.png] {
set img [file tail [file rootname $file]]
set images($img) [image create photo -file $file -format png]
}
# Create a new ttk::style
ttk::style theme create adapta -parent default -settings {
# Configure basic style settings
ttk::style configure . \
-background $colors(-background) \
-foreground $colors(-foreground) \
-troughcolor $colors(-background) \
-selectbackground $colors(-selectbg) \
-selectforeground $colors(-selectfg) \
-fieldbackground $colors(-window) \
-font TkDefaultFont \
-borderwidth 1 \
-focuscolor $colors(-focuscolor)
# Map disabled colors to disabledfg
ttk::style map . -foreground [list disabled $colors(-disabledfg)]
# WIDGET LAYOUTS
ttk::style layout TButton {
Button.button -children {
Button.focus -children {
Button.padding -children {
Button.label -side left -expand true
}
}
}
}
ttk::style layout Toolbutton {
Toolbutton.button -children {
Toolbutton.focus -children {
Toolbutton.padding -children {
Toolbutton.label -side left -expand true
}
}
}
}
ttk::style layout Vertical.TScrollbar {
Vertical.Scrollbar.trough -sticky ns -children {
Vertical.Scrollbar.thumb -expand true
}
}
ttk::style layout Horizontal.TScrollbar {
Horizontal.Scrollbar.trough -sticky ew -children {
Horizontal.Scrollbar.thumb -expand true
}
}
ttk::style layout TMenubutton {
Menubutton.button -children {
Menubutton.focus -children {
Menubutton.padding -children {
Menubutton.indicator -side right
Menubutton.label -side right -expand true
}
}
}
}
ttk::style layout TCombobox {
Combobox.field -sticky nswe -children {
Combobox.downarrow -side right -sticky ns -children {
Combobox.arrow -side right
}
Combobox.padding -expand true -sticky nswe -children {
Combobox.textarea -sticky nswe
}
}
}
ttk::style layout TSpinbox {
Spinbox.field -side top -sticky we -children {
Spinbox.buttons -side right -children {
null -side right -sticky {} -children {
Spinbox.uparrow -side top -sticky nse -children {
Spinbox.symuparrow -side right -sticky e
}
Spinbox.downarrow -side bottom -sticky nse -children {
Spinbox.symdownarrow -side right -sticky e
}
}
}
Spinbox.padding -sticky nswe -children {
Spinbox.textarea -sticky nswe
}
}
}
# Style elements
# Button
ttk::style element create Button.button image [list $images(button) \
pressed $images(button-active) \
active $images(button-hover) \
disabled $images(button-insensitive) \
] -border 3 -padding {3 2} -sticky ewns
# Toolbutton
ttk::style element create Toolbutton.button image [list $images(toolbutton) \
selected $images(toolbutton-active) \
pressed $images(toolbutton-active) \
{active !disabled} $images(toolbutton-hover) \
] -border 3 -padding {3 2} -sticky news
# Checkbutton
ttk::style element create Checkbutton.indicator image [list $images(check-off) \
disabled $images(check-off-insensitive) \
{active selected} $images(check-on-hover) \
{pressed selected} $images(check-on) \
active $images(check-off) \
selected $images(check-on) \
{disabled selected} $images(check-on-insensitive) \
] -width 25 -sticky w -padding {0 4 0 0}
# Radiobutton
ttk::style element create Radiobutton.indicator image [list $images(radio-off) \
disabled $images(radio-off-insensitive) \
{active selected} $images(radio-on-hover) \
{pressed selected} $images(radio-on) \
active $images(radio-off) \
selected $images(radio-on-hover) \
{disabled selected} $images(radio-on-insensitive) \
] -width 25 -sticky w -padding {0 4 0 0}
# Scrollbars
ttk::style element create Horizontal.Scrollbar.trough \
image [list $images(scroll-horiz-bg) \
disabled $images(scroll-horiz-bg-insensitive) \
]
ttk::style element create Horizontal.Scrollbar.thumb \
image [list $images(scroll-horiz-slider) \
{pressed !disabled} $images(scroll-horiz-slider-active) \
{active !disabled} $images(scroll-horiz-slider-hover) \
disabled $images(scroll-horiz-slider-insensitive) \
] -border 7 -sticky ew
ttk::style element create Vertical.Scrollbar.trough \
image [list $images(scroll-vert-bg) \
disabled $images(scroll-vert-bg-insensitive) \
]
ttk::style element create Vertical.Scrollbar.thumb \
image [list $images(scroll-vert-slider) \
{pressed !disabled} $images(scroll-vert-slider-active) \
{active !disabled} $images(scroll-vert-slider-hover) \
disabled $images(scroll-vert-slider-insensitive) \
] -border 7 -sticky ns
# Scales
ttk::style element create Horizontal.Scale.trough \
image [list $images(scale-horiz-bg) \
disabled $images(scale-horiz-bg-insensitive) \
] \
-border {10 5 10 5} -padding 0
ttk::style element create Horizontal.Scale.slider \
image [list $images(scale-slider) \
disabled $images(scale-slider-insensitive) \
active $images(scale-slider-hover) \
] \
-sticky {}
ttk::style element create Vertical.Scale.trough \
image [list $images(scale-vert-bg) \
disabled $images(scale-vert-bg-insensitive) \
] \
-border {5 10 5 10} -padding 0
ttk::style element create Vertical.Scale.slider \
image [list $images(scale-slider) \
disabled $images(scale-slider-insensitive) \
active $images(scale-slider-hover)
] \
-sticky {}
# Entry
ttk::style element create Entry.field \
image [list $images(entry) \
focus $images(entry-active) \
disabled $images(entry-insensitive)] \
-border 4 -padding {6 6} -sticky news
# LabelFrame
# ttk::style element create Labelframe.border image $images(labelframe) \
# -border 4 -padding 4 -sticky news
# Menubutton
ttk::style element create Menubutton.button \
image [list $images(button) \
pressed $images(button-active) \
active $images(button-hover) \
disabled $images(button-insensitive) \
] -sticky news -border 3 -padding {3 2}
ttk::style element create Menubutton.indicator \
image [list $images(arrow-down) \
active $images(arrow-down-hover) \
pressed $images(arrow-down-hover) \
] -sticky e -width 20
# ComboBox
ttk::style element create Combobox.field \
image [list $images(combo-entry) \
{readonly disabled} $images(combo-entry-insensitive) \
{readonly pressed} $images(combo-entry-active) \
{readonly hover} $images(combo-entry-active) \
readonly $images(combo-entry) \
{disabled} $images(combo-entry-insensitive) \
{hover} $images(combo-entry-active) \
] -border 4 -padding {6 0 0 0}
ttk::style element create Combobox.downarrow \
image [list $images(combo-button) \
pressed $images(combo-button-active) \
active $images(combo-button-hover) \
disabled $images(combo-button-insensitive) \
] -border 4 -padding {0 10 6 10}
ttk::style element create Combobox.arrow \
image [list $images(button-unshade) \
active $images(button-unshade-prelight) \
pressed $images(button-unshade-pressed) \
disabled $images(button-unshade) \
] -sticky e -width 15
# Spinbox
# ttk::style element create Spinbox.field \
# image [list $images(combo-entry) focus $images(combo-entry-active)] \
# -border 4 -padding {6 0 0 0} -sticky news
# ttk::style element create Spinbox.uparrow \
# image [list $images(up-bg) \
# pressed $images(up-bg-active) \
# active $images(up-bg-hover) \
# disabled $images(up-bg-disable) \
# ] -width 20 -border {0 2 3 0} -padding {0 5 6 2}
# ttk::style element create Spinbox.symuparrow \
# image [list $images(arrow-up-small) \
# active $images(arrow-up-small-prelight) \
# pressed $images(arrow-up-small-prelight) \
# disabled $images(arrow-up-small-insens) \
# ]
# ttk::style element create Spinbox.downarrow \
# image [list $images(down-bg) \
# pressed $images(down-bg-active) \
# active $images(down-bg-hover) \
# disabled $images(down-bg-disable) \
# ] -width 20 -border {0 0 3 2} -padding {0 2 6 5}
# ttk::style element create Spinbox.symdownarrow \
# image [list $images(arrow-down) \
# active $images(arrow-down-prelight) \
# pressed $images(arrow-down-prelight) \
# disabled $images(arrow-down-insens) \
# ]
# Notebook
# ttk::style element create Notebook.client \
# image $images(notebook) -border 1
ttk::style element create Notebook.tab \
image [list $images(notebook) \
selected $images(notebook-active) \
] -padding {4 4 4 2} -border {5 3 5 0}
# Progressbars
ttk::style element create Horizontal.Progressbar.trough \
image $images(progress-bg) -border 0 -padding 1
ttk::style element create Horizontal.Progressbar.pbar \
image $images(progress-bar) -border 0 -padding 2
ttk::style element create Vertical.Progressbar.trough \
image $images(progress-bg) -border 0 -padding 1
ttk::style element create Vertical.Progressbar.pbar \
image $images(progress-bar) -border 0
# Treeview
ttk::style element create Treeview.field \
image $images(treeview) -border 1
ttk::style element create Treeheading.cell \
image [list $images(toolbutton-hover) \
pressed $images(toolbutton-active) \
disabled $images(toolbutton-insensitive) \
active $images(toolbutton-hover)] \
-border {4 1 4 1} -padding 4 -sticky ewns
# ttk::style element create Treeitem.indicator \
# image [list $images(plus) user2 $images(empty) user1 $images(minus)] \
# -width 15 -sticky w
# Settings
ttk::style configure TButton -padding {8 4 8 4} -width -10 -anchor center
ttk::style configure TMenubutton -padding {8 4 4 4}
ttk::style configure Toolbutton -anchor center
ttk::style map TCheckbutton -background [list active $colors(-checklight)]
ttk::style configure TCheckbutton -padding 3
ttk::style map TRadiobutton -background [list active $colors(-checklight)]
ttk::style configure TRadiobutton -padding 3
ttk::style configure TNotebook -tabmargins {0 2 0 0}
ttk::style configure TNotebook.Tab -padding {6 2 6 2} -expand {0 0 2}
ttk::style map TNotebook.Tab -expand [list selected {1 2 4 2}]
ttk::style configure TSeparator -background $colors(-background)
# Treeview
ttk::style configure Treeview -background $colors(-window)
ttk::style configure Treeview.Item -padding {2 0 0 0}
ttk::style map Treeview \
-background [list selected $colors(-selectbg)] \
-foreground [list selected $colors(-selectfg)]
}
}
variable version 1.0
package provide ttk::theme::adapta $version

Binary file not shown.

Before

Width:  |  Height:  |  Size: 482 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 269 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 298 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 475 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 556 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 187 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 435 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 253 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 585 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 621 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 687 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 389 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 343 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 499 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 501 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 337 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 469 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 291 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 286 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 410 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 152 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 862 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 754 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 988 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 916 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 512 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 877 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 483 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 483 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 B

Some files were not shown because too many files have changed in this diff Show More