Clone
ixen <ixen@copyhandler.com>
committed
on 12 Nov 16
Bugfix: adding new favorite paths in the directory chooser dialog did not update the shell extensions' explorer menu (CH-299).
ParallelizeReaderWriter + 3 more
src/ch/DirectoryChooser.cpp (+12 -0)
65 65         }
66 66
67 67         // add ...
68 68         if (stEntries < stClipboardSize)
69 69                 dlg.m_bdData.strText+=_T("...");
70 70
71 71         // show window
72 72         INT_PTR iResult = dlg.DoModal();
73 73
74 74         // set data to config
75 75         SetPropValue<PP_SHORTCUTS>(rConfig, dlg.m_bdData.cvShortcuts);
76 76         SetPropValue<PP_RECENTPATHS>(rConfig, dlg.m_bdData.cvRecent);
77 77
78 78         SetPropValue<PP_FDEXTENDEDVIEW>(rConfig, dlg.m_bdData.bExtended);
79 79         SetPropValue<PP_FDWIDTH>(rConfig, dlg.m_bdData.cx);
80 80         SetPropValue<PP_FDHEIGHT>(rConfig, dlg.m_bdData.cy);
81 81         SetPropValue<PP_FDSHORTCUTLISTSTYLE>(rConfig, dlg.m_bdData.iView);
82 82         SetPropValue<PP_FDIGNORESHELLDIALOGS>(rConfig, dlg.m_bdData.bIgnoreDialogs);
83 83         rConfig.Write();
84 84
  85         //LOG_INFO(m_spLog) << L"Updating shell extension configuration";
  86         try
  87         {
  88                 TShellExtensionConfigPtr spConfig = GetShellExtensionConfig();
  89                 if(spConfig)
  90                         spConfig->PrepareConfig();
  91         }
  92         catch(const std::exception&)
  93         {
  94                 //LOG_INFO(m_spLog) << L"Failed to set shell extension configuration. Error: " << e.what();
  95         }
  96
85 97         if(iResult == IDOK)
86 98         {
87 99                 CString strPath;
88 100                 dlg.GetPath(strPath);
89 101
90 102                 rSelectedPath = chcore::PathFromString(strPath);
91 103         }
92 104
93 105         return iResult;
94 106 }
95 107 }