diff --git a/pgadmin/frm/frmMainConfig.cpp b/pgadmin/frm/frmMainConfig.cpp index 5dad1c2..075618e 100644 --- a/pgadmin/frm/frmMainConfig.cpp +++ b/pgadmin/frm/frmMainConfig.cpp @@ -38,6 +38,15 @@ BEGIN_EVENT_TABLE(frmMainConfig, frmConfig) EVT_MENU(MNU_CONTENTS, frmMainConfig::OnContents) EVT_LIST_ITEM_ACTIVATED(CTL_CFGVIEW, frmMainConfig::OnEditSetting) EVT_LIST_ITEM_SELECTED(CTL_CFGVIEW, frmMainConfig::OnSelectSetting) + EVT_MENU(MNU_RECENT + 1, frmMainConfig::OnRecent) + EVT_MENU(MNU_RECENT + 2, frmMainConfig::OnRecent) + EVT_MENU(MNU_RECENT + 3, frmMainConfig::OnRecent) + EVT_MENU(MNU_RECENT + 4, frmMainConfig::OnRecent) + EVT_MENU(MNU_RECENT + 5, frmMainConfig::OnRecent) + EVT_MENU(MNU_RECENT + 6, frmMainConfig::OnRecent) + EVT_MENU(MNU_RECENT + 7, frmMainConfig::OnRecent) + EVT_MENU(MNU_RECENT + 8, frmMainConfig::OnRecent) + EVT_MENU(MNU_RECENT + 9, frmMainConfig::OnRecent) END_EVENT_TABLE() @@ -633,6 +642,27 @@ wxString frmMainConfig::GetHintString() return str; } +void frmMainConfig::OnRecent(wxCommandEvent &event) +{ + int fileNo = event.GetId() - MNU_RECENT; + wxString newPath = settings->Read(recentKey + wxString::Format(wxT("/%d"), fileNo), wxT("")); + + if (!newPath.IsNull()) + { + if (CheckChanged(true)) + return; + + Init(); + + lastPath = newPath; + int dirsep; + dirsep = lastPath.Find(wxFILE_SEP_PATH, true); + lastDir = lastPath.Mid(0, dirsep); + lastFilename = lastPath.Mid(dirsep + 1); + OpenLastFile(); + } +} + void frmMainConfig::OnOpen(wxCommandEvent &event) { if (CheckChanged(true)) diff --git a/pgadmin/include/frm/frmMainConfig.h b/pgadmin/include/frm/frmMainConfig.h index 30ec14b..0acafad 100644 --- a/pgadmin/include/frm/frmMainConfig.h +++ b/pgadmin/include/frm/frmMainConfig.h @@ -52,6 +52,7 @@ private: void UpdateLine(int line); void OnOpen(wxCommandEvent &event); + void OnRecent(wxCommandEvent &event); ctlListView *cfgList;