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\]
|
||||
opened=
|
||||
editedFiles=
|
||||
recentlyEditedFolders=
|
||||
"
|
||||
proc Config::create {dir} {
|
||||
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 }
|
||||
$win.lBox configure -height $height
|
||||
|
||||
focus $win.lBox
|
||||
|
||||
bind $win <Escape> {
|
||||
destroy $Editor::win
|
||||
focus -force $Editor::txt.t
|
||||
@@ -590,7 +592,7 @@ namespace eval Editor {
|
||||
focus -force $Editor::txt.t
|
||||
break
|
||||
}
|
||||
bind VarHelperBind <Control-Return> {
|
||||
bind $win <Control-Return> {
|
||||
$Editor::txt delete "insert - 1 chars wordstart" "insert wordend - 1 chars"
|
||||
$Editor::txt insert "insert" [.varhelper.lBox get [.varhelper.lBox curselection]]
|
||||
# eval [bind VarHelperBind <Escape>]
|
||||
@@ -617,7 +619,7 @@ namespace eval Editor {
|
||||
set y [expr $y - $winGeomY]
|
||||
}
|
||||
|
||||
wm geom $win +$x+$y
|
||||
wm geom $win +$x+$y
|
||||
}
|
||||
|
||||
proc ReleaseKey {k txt fileType} {
|
||||
|
@@ -149,6 +149,7 @@ namespace eval FileOper {
|
||||
# }
|
||||
# .frmStatus.lblGitLogo configure -image git_logo_20x20
|
||||
# .frmStatus.lblGit configure -text "[::msgcat::mc "Branch"]: [Git::Branches current]"
|
||||
AddRecentEditedFolder $fullPath
|
||||
return $fullPath
|
||||
}
|
||||
|
||||
|
@@ -9,7 +9,7 @@
|
||||
######################################################
|
||||
|
||||
proc GetFileMenu {m} {
|
||||
global activeProject
|
||||
global activeProject cfgVariables
|
||||
$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 {
|
||||
@@ -24,6 +24,13 @@ proc GetFileMenu {m} {
|
||||
-accelerator "Ctrl+w"
|
||||
$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 command -label [::msgcat::mc "Open folder"] -accelerator "Ctrl+K" -command {
|
||||
|
@@ -7,8 +7,8 @@
|
||||
# Author: Roman Schaller <r.schaller@gmx.ch> #
|
||||
###########################################################
|
||||
|
||||
::msgcat::mcset de "About ..." "<EFBFBD>ber ..."
|
||||
::msgcat::mcset de "Add to project" "Zu Projekt hinzuf<EFBFBD>gen"
|
||||
::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"
|
||||
@@ -29,9 +29,9 @@
|
||||
::msgcat::mcset de "Cut into clipboard" "In Zwischenablage ausschneiden"
|
||||
::msgcat::mcset de "CVS commit"
|
||||
::msgcat::mcset de "CVS update"
|
||||
::msgcat::mcset de "Delete" "L<EFBFBD>schen"
|
||||
::msgcat::mcset de "Delete backup files" "Backup-Dateien l<EFBFBD>schen"
|
||||
::msgcat::mcset de "Delete project" "Projekt l<EFBFBD>schen"
|
||||
::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"
|
||||
@@ -42,10 +42,10 @@
|
||||
::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. <EFBFBD>berschreiben?"
|
||||
::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<EFBFBD>ndert. Trotzdem schliessen?"
|
||||
::msgcat::mcset de "File was modifyed. Save?" "Datei wurde ge<EFBFBD>ndert. Jetzt speichern?"
|
||||
::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"
|
||||
@@ -55,15 +55,15 @@
|
||||
::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<EFBFBD>gen"
|
||||
::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<EFBFBD>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 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"
|
||||
@@ -71,19 +71,19 @@
|
||||
::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" "<EFBFBD>ffnen"
|
||||
::msgcat::mcset de "Open file" "Datei <EFBFBD>ffnen"
|
||||
::msgcat::mcset de "Open project" "Projekt <EFBFBD>ffnen"
|
||||
::msgcat::mcset de "Opened file in progress" "Ge<EFBFBD>ffnete Datei in Bearbeitung"
|
||||
::msgcat::mcset de "Overwrite" "<EFBFBD>berschreiben"
|
||||
::msgcat::mcset de "Paste" "Einf<EFBFBD>gen"
|
||||
::msgcat::mcset de "Paste from clipboard" "Von Zwischenablage einf<EFBFBD>gen"
|
||||
::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<EFBFBD>hrung fehlgeschlagen"
|
||||
::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"
|
||||
@@ -101,8 +101,8 @@
|
||||
::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<EFBFBD>hren"
|
||||
::msgcat::mcset de "Running project" "Projekt ausf<EFBFBD>hren"
|
||||
::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"
|
||||
@@ -110,9 +110,9 @@
|
||||
::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<EFBFBD>hlen"
|
||||
::msgcat::mcset de "Select directory" "Verzeichnis ausw<EFBFBD>hlen"
|
||||
::msgcat::mcset de "Selected directory" "Ausgew<EFBFBD>hltes Verzeichnis"
|
||||
::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"
|
||||
@@ -120,7 +120,7 @@
|
||||
::msgcat::mcset de "TGZ file mask" "TGZ Datei Maske"
|
||||
::msgcat::mcset de "Thanks" "Danksagung"
|
||||
::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 "Version"
|
||||
::msgcat::mcset de "View" "Ansicht"
|
||||
@@ -130,4 +130,3 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -108,6 +108,7 @@
|
||||
::msgcat::mcset en "Open file"
|
||||
::msgcat::mcset en "Open project"
|
||||
::msgcat::mcset en "Opened file in progress"
|
||||
::msgcat::mcset en "Open recent"
|
||||
::msgcat::mcset en "Operators"
|
||||
::msgcat::mcset en "Overwrite"
|
||||
::msgcat::mcset en "Parameters"
|
||||
@@ -184,4 +185,3 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -141,6 +141,7 @@
|
||||
::msgcat::mcset ru "Open folder" "Открыть каталог"
|
||||
::msgcat::mcset ru "Open project" "Открыть проект"
|
||||
::msgcat::mcset ru "Opened file in progress" "Открытие файла"
|
||||
::msgcat::mcset ru "Open recent" "Открыть недавнее"
|
||||
::msgcat::mcset ru "Operators" "Операторы"
|
||||
::msgcat::mcset ru "Overwrite" "Замена"
|
||||
::msgcat::mcset ru "Parameters" "Параметры"
|
||||
|
@@ -683,3 +683,35 @@ proc SetActiveProject {path} {
|
||||
.frmStatus.lblGitLogo configure -image git_logo_20x20
|
||||
.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