diff a/src/interface/Options.cpp b/src/interface/Options.cpp
a
|
b
|
static unsigned int register_interface_options()
|
96 | 96 | { "Comparison hide identical", false, option_flags::normal }, |
97 | 97 | { "Search sort order", L"", option_flags::normal }, |
98 | 98 | { "Edit track local", true, option_flags::normal }, |
| 99 | { "Edit track remote", true, option_flags::normal }, |
99 | 100 | { "Prevent idle sleep", true, option_flags::normal }, |
100 | 101 | { "Filteredit window size", L"", option_flags::normal }, |
101 | 102 | { "Enable invalid char filter", true, option_flags::normal }, |
diff a/src/interface/Options.h b/src/interface/Options.h
a
|
b
|
enum interfaceOptions : unsigned int
|
68 | 68 | OPTION_COMPARE_HIDEIDENTICAL, |
69 | 69 | OPTION_SEARCH_SORTORDER, |
70 | 70 | OPTION_EDIT_TRACK_LOCAL, |
| 71 | OPTION_EDIT_TRACK_REMOTE, |
71 | 72 | OPTION_PREVENT_IDLESLEEP, |
72 | 73 | OPTION_FILTEREDIT_SIZE, |
73 | 74 | OPTION_INVALID_CHAR_REPLACE_ENABLE, |
diff a/src/interface/RemoteListView.cpp b/src/interface/RemoteListView.cpp
a
|
b
|
void CRemoteListView::OnContextMenu(wxContextMenuEvent& event)
|
1050 | 1050 | item->SetBitmap(MakeBmpBundle(wxArtProvider::GetBitmap(_T("ART_DOWNLOADADD"), wxART_MENU))); |
1051 | 1051 | menu.Append(item); |
1052 | 1052 | menu.Append(XRCID("ID_ENTER"), _("E&nter directory"), _("Enter selected directory")); |
1053 | | menu.Append(XRCID("ID_EDIT"), _("&View/Edit")); |
| 1053 | menu.Append(XRCID("ID_EDIT"), options_.get_bool(OPTION_EDIT_TRACK_REMOTE) ? _("&View/Edit") : _("&View temp copy")); |
1054 | 1054 | |
1055 | 1055 | menu.AppendSeparator(); |
1056 | 1056 | menu.Append(XRCID("ID_MKDIR"), _("&Create directory"), _("Create a new subdirectory in the current directory")); |
diff a/src/interface/edithandler.cpp b/src/interface/edithandler.cpp
a
|
b
|
void CEditHandler::FinishTransfer(bool successful, std::wstring const& fileName,
|
648 | 648 | if (wxFileName::FileExists(iter->localFile)) { |
649 | 649 | iter->state = edit; |
650 | 650 | if (LaunchEditor(remote, *iter)) { |
| 651 | if (!options_.get_bool(OPTION_EDIT_TRACK_REMOTE)) { |
| 652 | m_fileDataList[remote].erase(iter); |
| 653 | } |
651 | 654 | break; |
652 | 655 | } |
653 | 656 | } |
diff a/src/interface/settings/optionspage_edit.cpp b/src/interface/settings/optionspage_edit.cpp
a
|
b
|
struct COptionsPageEdit::impl final
|
25 | 25 | wxRadioButton* use_default_{}; |
26 | 26 | |
27 | 27 | wxCheckBox* watch_{}; |
| 28 | wxCheckBox* watch_remote_{}; |
28 | 29 | }; |
29 | 30 | |
30 | 31 | COptionsPageEdit::COptionsPageEdit() |
… |
… |
bool COptionsPageEdit::CreateControls(wxWindow* parent)
|
91 | 92 | |
92 | 93 | impl_->watch_ = new wxCheckBox(this, nullID, _("&Watch locally edited files and prompt to upload modifications")); |
93 | 94 | main->Add(impl_->watch_); |
| 95 | impl_->watch_remote_ = new wxCheckBox(this, nullID, _("&Watch edited remote files and prompt to upload modifications")); |
| 96 | main->Add(impl_->watch_remote_); |
94 | 97 | |
95 | 98 | return true; |
96 | 99 | } |
… |
… |
bool COptionsPageEdit::LoadPage()
|
120 | 123 | } |
121 | 124 | |
122 | 125 | impl_->watch_->SetValue(m_pOptions->get_bool(OPTION_EDIT_TRACK_LOCAL)); |
| 126 | impl_->watch_remote_->SetValue(m_pOptions->get_bool(OPTION_EDIT_TRACK_REMOTE)); |
123 | 127 | |
124 | 128 | SetCtrlState(); |
125 | 129 | |
… |
… |
bool COptionsPageEdit::SavePage()
|
137 | 141 | |
138 | 142 | m_pOptions->set(OPTION_EDIT_ALWAYSDEFAULT, impl_->use_default_->GetValue() && !impl_->default_none_->GetValue()); |
139 | 143 | m_pOptions->set(OPTION_EDIT_TRACK_LOCAL, impl_->watch_->GetValue()); |
| 144 | m_pOptions->set(OPTION_EDIT_TRACK_REMOTE, impl_->watch_remote_->GetValue()); |
140 | 145 | |
141 | 146 | return true; |
142 | 147 | } |