From 9099d4ad613ee4a2e082db2adf2fb909916c8462 Mon Sep 17 00:00:00 2001 From: svkalinin Date: Wed, 7 Dec 2022 15:59:12 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BD=D0=BE=D0=B2=D0=B0=D1=8F=20=D1=81=D0=B5?= =?UTF-8?q?=D0=BA=D1=86=D0=B8=D1=8F=20UserSession?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/config.tcl | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/lib/config.tcl b/lib/config.tcl index 369f82e..e7a7ae4 100644 --- a/lib/config.tcl +++ b/lib/config.tcl @@ -23,8 +23,6 @@ if [info exists env(LANG)] { set ::configDefault "\[General\] cfgModifyDate='' -opened= -editedFiles= searchCommand=/usr/bin/grep searchCommandOptions=-r -n -H gitCommand=/usr/bin/git @@ -36,7 +34,7 @@ locale=$locale theme=dark toolBarShow=true menuShow=true -statusbarShow=true +statusBarShow=true filesPanelShow=true filesPanelPlace=left geometry=1024x768 @@ -62,6 +60,9 @@ lineNumberShow=true tabSize=4 procedureHelper=false variableHelper=true +\[UserSession\] +opened= +editedFiles= " proc Config::create {dir} { set cfgFile [open [file join $dir projman.ini] "w+"] @@ -81,7 +82,7 @@ proc Config::read {dir} { } proc Config::write {dir} { - global activeProject + global activeProject editors set cfgFile [ini::open [file join $dir projman.ini] "w"] foreach section [array names ::cfgINIsections] { foreach key $::cfgINIsections($section) { @@ -91,14 +92,27 @@ proc Config::write {dir} { 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"] - + ini::set $cfgFile "UserSession" editedFiles "" + # Save an top level window geometry into config ini::set $cfgFile "GUI" geometry [wm geometry .] if {[info exists activeProject] !=0 && $activeProject ne ""} { - ini::set $cfgFile "General" opened $activeProject + ini::set $cfgFile "UserSession" opened $activeProject + # Добавим пути к открытым в редакторе файлам в переменную + if [info exists editors] { + foreach i [dict keys $editors] { + lappend edited [dict get $editors $i fileFullPath] + } + if [info exists edited] { + ini::set $cfgFile "UserSession" editedFiles $edited + } + } } else { - ini::set $cfgFile "General" opened "" + ini::set $cfgFile "UserSession" opened "" + ini::set $cfgFile "UserSession" editedFiles "" } + # puts $editors + ini::commit $cfgFile ini::close $cfgFile }