Added the "Open Recent" menu.
The "recentlyEditedFolders" option in the configuration file contains a list of recently opened directories. The procedures for working with this list have also been added.
This commit is contained in:
@@ -64,6 +64,7 @@ multilineComments=true
|
|||||||
\[UserSession\]
|
\[UserSession\]
|
||||||
opened=
|
opened=
|
||||||
editedFiles=
|
editedFiles=
|
||||||
|
recentlyEditedFolders=
|
||||||
"
|
"
|
||||||
proc Config::create {dir} {
|
proc Config::create {dir} {
|
||||||
set cfgFile [open [file join $dir projman.ini] "w+"]
|
set cfgFile [open [file join $dir projman.ini] "w+"]
|
||||||
|
@@ -580,6 +580,8 @@ namespace eval Editor {
|
|||||||
if { [set height [llength $findedVars]] > 10 } { set height 10 }
|
if { [set height [llength $findedVars]] > 10 } { set height 10 }
|
||||||
$win.lBox configure -height $height
|
$win.lBox configure -height $height
|
||||||
|
|
||||||
|
focus $win.lBox
|
||||||
|
|
||||||
bind $win <Escape> {
|
bind $win <Escape> {
|
||||||
destroy $Editor::win
|
destroy $Editor::win
|
||||||
focus -force $Editor::txt.t
|
focus -force $Editor::txt.t
|
||||||
@@ -590,7 +592,7 @@ namespace eval Editor {
|
|||||||
focus -force $Editor::txt.t
|
focus -force $Editor::txt.t
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
bind VarHelperBind <Control-Return> {
|
bind $win <Control-Return> {
|
||||||
$Editor::txt delete "insert - 1 chars wordstart" "insert wordend - 1 chars"
|
$Editor::txt delete "insert - 1 chars wordstart" "insert wordend - 1 chars"
|
||||||
$Editor::txt insert "insert" [.varhelper.lBox get [.varhelper.lBox curselection]]
|
$Editor::txt insert "insert" [.varhelper.lBox get [.varhelper.lBox curselection]]
|
||||||
# eval [bind VarHelperBind <Escape>]
|
# eval [bind VarHelperBind <Escape>]
|
||||||
|
@@ -149,6 +149,7 @@ namespace eval FileOper {
|
|||||||
# }
|
# }
|
||||||
# .frmStatus.lblGitLogo configure -image git_logo_20x20
|
# .frmStatus.lblGitLogo configure -image git_logo_20x20
|
||||||
# .frmStatus.lblGit configure -text "[::msgcat::mc "Branch"]: [Git::Branches current]"
|
# .frmStatus.lblGit configure -text "[::msgcat::mc "Branch"]: [Git::Branches current]"
|
||||||
|
AddRecentEditedFolder $fullPath
|
||||||
return $fullPath
|
return $fullPath
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
######################################################
|
######################################################
|
||||||
|
|
||||||
proc GetFileMenu {m} {
|
proc GetFileMenu {m} {
|
||||||
global activeProject
|
global activeProject cfgVariables
|
||||||
$m add command -label [::msgcat::mc "New file"] -command Editor::New\
|
$m add command -label [::msgcat::mc "New file"] -command Editor::New\
|
||||||
-accelerator "Ctrl+N"
|
-accelerator "Ctrl+N"
|
||||||
$m add command -label [::msgcat::mc "Open file"] -accelerator "Ctrl+O" -command {
|
$m add command -label [::msgcat::mc "Open file"] -accelerator "Ctrl+O" -command {
|
||||||
@@ -24,6 +24,13 @@ proc GetFileMenu {m} {
|
|||||||
-accelerator "Ctrl+w"
|
-accelerator "Ctrl+w"
|
||||||
$m add command -label [::msgcat::mc "Close all"] -command {FileOper::CloseAll}
|
$m add command -label [::msgcat::mc "Close all"] -command {FileOper::CloseAll}
|
||||||
|
|
||||||
|
$m add separator
|
||||||
|
menu $m.openRecent
|
||||||
|
$m add cascade -label [::msgcat::mc "Open recent"] -menu $m.openRecent
|
||||||
|
foreach item $cfgVariables(recentFolder) {
|
||||||
|
$m.openRecent add command -label $item -command [list FileOper::ReadFolder $item]
|
||||||
|
}
|
||||||
|
|
||||||
$m add separator
|
$m add separator
|
||||||
|
|
||||||
$m add command -label [::msgcat::mc "Open folder"] -accelerator "Ctrl+K" -command {
|
$m add command -label [::msgcat::mc "Open folder"] -accelerator "Ctrl+K" -command {
|
||||||
|
@@ -7,8 +7,8 @@
|
|||||||
# Author: Roman Schaller <r.schaller@gmx.ch> #
|
# Author: Roman Schaller <r.schaller@gmx.ch> #
|
||||||
###########################################################
|
###########################################################
|
||||||
|
|
||||||
::msgcat::mcset de "About ..." "<EFBFBD>ber ..."
|
::msgcat::mcset de "About ..." "Über ..."
|
||||||
::msgcat::mcset de "Add to project" "Zu Projekt hinzuf<EFBFBD>gen"
|
::msgcat::mcset de "Add to project" "Zu Projekt hinzufügen"
|
||||||
::msgcat::mcset de "Author" "Autor"
|
::msgcat::mcset de "Author" "Autor"
|
||||||
::msgcat::mcset de "Text autoformat" "Text autoformat"
|
::msgcat::mcset de "Text autoformat" "Text autoformat"
|
||||||
::msgcat::mcset de "Cancel" "Abbrechen"
|
::msgcat::mcset de "Cancel" "Abbrechen"
|
||||||
@@ -29,9 +29,9 @@
|
|||||||
::msgcat::mcset de "Cut into clipboard" "In Zwischenablage ausschneiden"
|
::msgcat::mcset de "Cut into clipboard" "In Zwischenablage ausschneiden"
|
||||||
::msgcat::mcset de "CVS commit"
|
::msgcat::mcset de "CVS commit"
|
||||||
::msgcat::mcset de "CVS update"
|
::msgcat::mcset de "CVS update"
|
||||||
::msgcat::mcset de "Delete" "L<EFBFBD>schen"
|
::msgcat::mcset de "Delete" "Löschen"
|
||||||
::msgcat::mcset de "Delete backup files" "Backup-Dateien l<EFBFBD>schen"
|
::msgcat::mcset de "Delete backup files" "Backup-Dateien löschen"
|
||||||
::msgcat::mcset de "Delete project" "Projekt l<EFBFBD>schen"
|
::msgcat::mcset de "Delete project" "Projekt löschen"
|
||||||
::msgcat::mcset de "Delete from project" "Von Projekt entfernen"
|
::msgcat::mcset de "Delete from project" "Von Projekt entfernen"
|
||||||
::msgcat::mcset de "Docs dir" "Dok Verzeichnis"
|
::msgcat::mcset de "Docs dir" "Dok Verzeichnis"
|
||||||
::msgcat::mcset de "Don't selected file"
|
::msgcat::mcset de "Don't selected file"
|
||||||
@@ -42,10 +42,10 @@
|
|||||||
::msgcat::mcset de "Error open URL"
|
::msgcat::mcset de "Error open URL"
|
||||||
::msgcat::mcset de "Exit" "Beenden"
|
::msgcat::mcset de "Exit" "Beenden"
|
||||||
::msgcat::mcset de "File" "Datei"
|
::msgcat::mcset de "File" "Datei"
|
||||||
::msgcat::mcset de "File already exists. Overwrite?" "Datei besteht bereits. <EFBFBD>berschreiben?"
|
::msgcat::mcset de "File already exists. Overwrite?" "Datei besteht bereits. Überschreiben?"
|
||||||
::msgcat::mcset de "File modify" "Datei bearbeiten"
|
::msgcat::mcset de "File modify" "Datei bearbeiten"
|
||||||
::msgcat::mcset de "File was modifyed. Close?" "Datei wurde ge<EFBFBD>ndert. Trotzdem schliessen?"
|
::msgcat::mcset de "File was modifyed. Close?" "Datei wurde geändert. Trotzdem schliessen?"
|
||||||
::msgcat::mcset de "File was modifyed. Save?" "Datei wurde ge<EFBFBD>ndert. Jetzt speichern?"
|
::msgcat::mcset de "File was modifyed. Save?" "Datei wurde geändert. Jetzt speichern?"
|
||||||
::msgcat::mcset de "File saved" "Datei gespeichert"
|
::msgcat::mcset de "File saved" "Datei gespeichert"
|
||||||
::msgcat::mcset de "Find" "Suchen"
|
::msgcat::mcset de "Find" "Suchen"
|
||||||
::msgcat::mcset de "Font normal" "Schrift normal"
|
::msgcat::mcset de "Font normal" "Schrift normal"
|
||||||
@@ -55,15 +55,15 @@
|
|||||||
::msgcat::mcset de "Home dir" "Home Verzeichnis"
|
::msgcat::mcset de "Home dir" "Home Verzeichnis"
|
||||||
::msgcat::mcset de "Home page" "Homepage"
|
::msgcat::mcset de "Home page" "Homepage"
|
||||||
::msgcat::mcset de "Image dir" "Image Verzeichnis"
|
::msgcat::mcset de "Image dir" "Image Verzeichnis"
|
||||||
::msgcat::mcset de "Insert" "Einf<EFBFBD>gen"
|
::msgcat::mcset de "Insert" "Einfügen"
|
||||||
::msgcat::mcset de "Interface language" "Interface Sprache"
|
::msgcat::mcset de "Interface language" "Interface Sprache"
|
||||||
::msgcat::mcset de "Install Tcl/Tk Project Manager" "Tcl/Tk Project Manager installieren"
|
::msgcat::mcset de "Install Tcl/Tk Project Manager" "Tcl/Tk Project Manager installieren"
|
||||||
::msgcat::mcset de "Line number" "Zeilennummer"
|
::msgcat::mcset de "Line number" "Zeilennummer"
|
||||||
::msgcat::mcset de "Make RPM" "RPM erstellen"
|
::msgcat::mcset de "Make RPM" "RPM erstellen"
|
||||||
::msgcat::mcset de "Make archive" "Archiv erstellen"
|
::msgcat::mcset de "Make archive" "Archiv erstellen"
|
||||||
::msgcat::mcset de "Make backup files" "Backup-Dateien erstellen"
|
::msgcat::mcset de "Make backup files" "Backup-Dateien erstellen"
|
||||||
::msgcat::mcset de "Must be one file select!" "Eine Datei muss ausgew<EFBFBD>hlt sein!"
|
::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<EFBFBD>ssen ausgew<EFBFBD>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 "Modifying the Registry..."
|
||||||
::msgcat::mcset de "Modules" "Module"
|
::msgcat::mcset de "Modules" "Module"
|
||||||
::msgcat::mcset de "New" "Neu"
|
::msgcat::mcset de "New" "Neu"
|
||||||
@@ -71,19 +71,19 @@
|
|||||||
::msgcat::mcset de "New project" "Neues Projekt"
|
::msgcat::mcset de "New project" "Neues Projekt"
|
||||||
::msgcat::mcset de "Not implemented yet" "Noch nicht implementiert"
|
::msgcat::mcset de "Not implemented yet" "Noch nicht implementiert"
|
||||||
::msgcat::mcset de "Not found active project" "Kein aktives Projekt gefunden"
|
::msgcat::mcset de "Not found active project" "Kein aktives Projekt gefunden"
|
||||||
::msgcat::mcset de "Open" "<EFBFBD>ffnen"
|
::msgcat::mcset de "Open" "Öffnen"
|
||||||
::msgcat::mcset de "Open file" "Datei <EFBFBD>ffnen"
|
::msgcat::mcset de "Open file" "Datei öffnen"
|
||||||
::msgcat::mcset de "Open project" "Projekt <EFBFBD>ffnen"
|
::msgcat::mcset de "Open project" "Projekt öffnen"
|
||||||
::msgcat::mcset de "Opened file in progress" "Ge<EFBFBD>ffnete Datei in Bearbeitung"
|
::msgcat::mcset de "Opened file in progress" "Geöffnete Datei in Bearbeitung"
|
||||||
::msgcat::mcset de "Overwrite" "<EFBFBD>berschreiben"
|
::msgcat::mcset de "Overwrite" "Überschreiben"
|
||||||
::msgcat::mcset de "Paste" "Einf<EFBFBD>gen"
|
::msgcat::mcset de "Paste" "Einfügen"
|
||||||
::msgcat::mcset de "Paste from clipboard" "Von Zwischenablage einf<EFBFBD>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" "Drucken"
|
::msgcat::mcset de "Print" "Drucken"
|
||||||
::msgcat::mcset de "Print command" "Druck-Befehl"
|
::msgcat::mcset de "Print command" "Druck-Befehl"
|
||||||
::msgcat::mcset de "Print selected text" "Markierter Text drucken"
|
::msgcat::mcset de "Print selected text" "Markierter Text drucken"
|
||||||
::msgcat::mcset de "Program finished successfully" "Programm wurde erfolgreich beendet"
|
::msgcat::mcset de "Program finished successfully" "Programm wurde erfolgreich beendet"
|
||||||
::msgcat::mcset de "Program failed" "Ausf<EFBFBD>hrung fehlgeschlagen"
|
::msgcat::mcset de "Program failed" "Ausführung fehlgeschlagen"
|
||||||
::msgcat::mcset de "Programm output" "Programm Ausgabe"
|
::msgcat::mcset de "Programm output" "Programm Ausgabe"
|
||||||
::msgcat::mcset de "Project" "Projekt"
|
::msgcat::mcset de "Project" "Projekt"
|
||||||
::msgcat::mcset de "Projects" "Projekte"
|
::msgcat::mcset de "Projects" "Projekte"
|
||||||
@@ -101,8 +101,8 @@
|
|||||||
::msgcat::mcset de "Release"
|
::msgcat::mcset de "Release"
|
||||||
::msgcat::mcset de "RPM dir" "RPM Verzeichnis"
|
::msgcat::mcset de "RPM dir" "RPM Verzeichnis"
|
||||||
::msgcat::mcset de "RPM file mask" "RPM Datei Maske"
|
::msgcat::mcset de "RPM file mask" "RPM Datei Maske"
|
||||||
::msgcat::mcset de "Run" "Ausf<EFBFBD>hren"
|
::msgcat::mcset de "Run" "Ausführen"
|
||||||
::msgcat::mcset de "Running project" "Projekt ausf<EFBFBD>hren"
|
::msgcat::mcset de "Running project" "Projekt ausführen"
|
||||||
::msgcat::mcset de "Running file"
|
::msgcat::mcset de "Running file"
|
||||||
::msgcat::mcset de "Save" "Speichern"
|
::msgcat::mcset de "Save" "Speichern"
|
||||||
::msgcat::mcset de "Save as" "Speichern unter"
|
::msgcat::mcset de "Save as" "Speichern unter"
|
||||||
@@ -110,9 +110,9 @@
|
|||||||
::msgcat::mcset de "Save file as" "Datei speichern unter"
|
::msgcat::mcset de "Save file as" "Datei speichern unter"
|
||||||
::msgcat::mcset de "Save all" "Alles speichern"
|
::msgcat::mcset de "Save all" "Alles speichern"
|
||||||
::msgcat::mcset de "Search" "Suchen"
|
::msgcat::mcset de "Search" "Suchen"
|
||||||
::msgcat::mcset de "Select" "Ausw<EFBFBD>hlen"
|
::msgcat::mcset de "Select" "Auswählen"
|
||||||
::msgcat::mcset de "Select directory" "Verzeichnis ausw<EFBFBD>hlen"
|
::msgcat::mcset de "Select directory" "Verzeichnis auswählen"
|
||||||
::msgcat::mcset de "Selected directory" "Ausgew<EFBFBD>hltes Verzeichnis"
|
::msgcat::mcset de "Selected directory" "Ausgewähltes Verzeichnis"
|
||||||
::msgcat::mcset de "Settings" "Einstellungen"
|
::msgcat::mcset de "Settings" "Einstellungen"
|
||||||
::msgcat::mcset de "Show backup files" "Backup-Dateien anzeigen"
|
::msgcat::mcset de "Show backup files" "Backup-Dateien anzeigen"
|
||||||
::msgcat::mcset de "Interpretator" "Interpreter"
|
::msgcat::mcset de "Interpretator" "Interpreter"
|
||||||
@@ -120,7 +120,7 @@
|
|||||||
::msgcat::mcset de "TGZ file mask" "TGZ Datei Maske"
|
::msgcat::mcset de "TGZ file mask" "TGZ Datei Maske"
|
||||||
::msgcat::mcset de "Thanks" "Danksagung"
|
::msgcat::mcset de "Thanks" "Danksagung"
|
||||||
::msgcat::mcset de "Toolbar" "Symbolleiste"
|
::msgcat::mcset de "Toolbar" "Symbolleiste"
|
||||||
::msgcat::mcset de "Undo" "R<EFBFBD>ckg<EFBFBD>ngig"
|
::msgcat::mcset de "Undo" "Rückgängig"
|
||||||
::msgcat::mcset de "Update"
|
::msgcat::mcset de "Update"
|
||||||
::msgcat::mcset de "Version"
|
::msgcat::mcset de "Version"
|
||||||
::msgcat::mcset de "View" "Ansicht"
|
::msgcat::mcset de "View" "Ansicht"
|
||||||
@@ -130,4 +130,3 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -108,6 +108,7 @@
|
|||||||
::msgcat::mcset en "Open file"
|
::msgcat::mcset en "Open file"
|
||||||
::msgcat::mcset en "Open project"
|
::msgcat::mcset en "Open project"
|
||||||
::msgcat::mcset en "Opened file in progress"
|
::msgcat::mcset en "Opened file in progress"
|
||||||
|
::msgcat::mcset en "Open recent"
|
||||||
::msgcat::mcset en "Operators"
|
::msgcat::mcset en "Operators"
|
||||||
::msgcat::mcset en "Overwrite"
|
::msgcat::mcset en "Overwrite"
|
||||||
::msgcat::mcset en "Parameters"
|
::msgcat::mcset en "Parameters"
|
||||||
@@ -184,4 +185,3 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -141,6 +141,7 @@
|
|||||||
::msgcat::mcset ru "Open folder" "Открыть каталог"
|
::msgcat::mcset ru "Open folder" "Открыть каталог"
|
||||||
::msgcat::mcset ru "Open project" "Открыть проект"
|
::msgcat::mcset ru "Open project" "Открыть проект"
|
||||||
::msgcat::mcset ru "Opened file in progress" "Открытие файла"
|
::msgcat::mcset ru "Opened file in progress" "Открытие файла"
|
||||||
|
::msgcat::mcset ru "Open recent" "Открыть недавнее"
|
||||||
::msgcat::mcset ru "Operators" "Операторы"
|
::msgcat::mcset ru "Operators" "Операторы"
|
||||||
::msgcat::mcset ru "Overwrite" "Замена"
|
::msgcat::mcset ru "Overwrite" "Замена"
|
||||||
::msgcat::mcset ru "Parameters" "Параметры"
|
::msgcat::mcset ru "Parameters" "Параметры"
|
||||||
|
@@ -683,3 +683,35 @@ proc SetActiveProject {path} {
|
|||||||
.frmStatus.lblGitLogo configure -image git_logo_20x20
|
.frmStatus.lblGitLogo configure -image git_logo_20x20
|
||||||
.frmStatus.lblGit configure -text "[::msgcat::mc "Branch"]: [Git::Branches current]"
|
.frmStatus.lblGit configure -text "[::msgcat::mc "Branch"]: [Git::Branches current]"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Added recently opened folder into menu "File"->"Open recent"
|
||||||
|
proc OpenRecentProject {path} {
|
||||||
|
SetActiveProject $path
|
||||||
|
FileOper::ReadFolder $path
|
||||||
|
ReadFilesFromDirectory $path $path
|
||||||
|
}
|
||||||
|
|
||||||
|
proc AddRecentEditedFolder {path} {
|
||||||
|
global cfgVariables
|
||||||
|
if {$path == ""} {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if {[info exists cfgVariables(recentFolder)] == 0} {
|
||||||
|
set cfgVariables(recentFolder) [list $path]
|
||||||
|
} else {
|
||||||
|
# check if path already in a list
|
||||||
|
foreach item $cfgVariables(recentFolder) {
|
||||||
|
if {$item == $path} {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# check list length, and remove 0 element if length is 10
|
||||||
|
if {[llength $cfgVariables(recentFolder)] == 10} {
|
||||||
|
# lremove $cfgVariables(recentFolder) 0; # tcl 8.7
|
||||||
|
set cfgVariables(recentFolder) [lrange $cfgVariables(recentFolder) 1 end]
|
||||||
|
}
|
||||||
|
lappend cfgVariables(recentFolder) $path
|
||||||
|
}
|
||||||
|
.frmMenu.mnuFile.m.openRecent add command -label $path -command [list OpenRecentProject $path]
|
||||||
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user