Skip to content

Commit 02eebc9

Browse files
added an open containing folder option in the tools menu (#142)
* added a open containing option in the tools menu * Update vcpkg, add --------- Co-authored-by: Quin Gillespie <trypsynth@gmail.com>
1 parent 84b9cdb commit 02eebc9

File tree

4 files changed

+19
-1
lines changed

4 files changed

+19
-1
lines changed

src/constants.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ enum {
8181
ID_WORD_COUNT,
8282
ID_DOC_INFO,
8383
ID_TABLE_OF_CONTENTS,
84+
ID_OPEN_CONTAINING_FOLDER,
8485
ID_OPTIONS,
8586
ID_SLEEP_TIMER,
8687
// Help menu

src/main_window.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,8 @@ wxMenu* main_window::create_tools_menu() {
171171
menu->AppendSeparator();
172172
menu->Append(ID_TABLE_OF_CONTENTS, _("Table of contents\tCtrl+T"));
173173
menu->AppendSeparator();
174+
menu->Append(ID_OPEN_CONTAINING_FOLDER, _("Open &containing folder"));
175+
menu->AppendSeparator();
174176
menu->Append(ID_TOGGLE_BOOKMARK, _("Toggle bookmark\tCtrl+Shift+B"));
175177
menu->Append(ID_BOOKMARK_WITH_NOTE, _("Bookmark with &note\tCtrl+Shift+N"));
176178
menu->AppendSeparator();
@@ -233,6 +235,7 @@ void main_window::bind_events() {
233235
{ID_WORD_COUNT, &main_window::on_word_count},
234236
{ID_DOC_INFO, &main_window::on_doc_info},
235237
{ID_TABLE_OF_CONTENTS, &main_window::on_toc},
238+
{ID_OPEN_CONTAINING_FOLDER, &main_window::on_open_containing_folder},
236239
{ID_OPTIONS, &main_window::on_options},
237240
{ID_SLEEP_TIMER, &main_window::on_sleep_timer},
238241
{wxID_ABOUT, &main_window::on_about},
@@ -328,6 +331,7 @@ void main_window::update_ui() {
328331
ID_WORD_COUNT,
329332
ID_DOC_INFO,
330333
ID_TABLE_OF_CONTENTS,
334+
ID_OPEN_CONTAINING_FOLDER,
331335
};
332336
for (const auto id : doc_items) {
333337
enable(id, has_doc);
@@ -610,6 +614,18 @@ void main_window::on_toc(wxCommandEvent&) {
610614
save_position_immediately();
611615
}
612616

617+
void main_window::on_open_containing_folder(wxCommandEvent&) {
618+
auto* const tab = doc_manager->get_active_tab();
619+
if (tab == nullptr) {
620+
return;
621+
}
622+
const wxString path = tab->file_path;
623+
const wxString dir = wxFileName(path).GetPath();
624+
if (!wxLaunchDefaultBrowser("file://" + dir)) {
625+
wxMessageBox(_("Failed to open containing folder."), _("Error"), wxICON_ERROR);
626+
}
627+
}
628+
613629
void main_window::on_options(wxCommandEvent&) {
614630
auto& config_mgr = wxGetApp().get_config_manager();
615631
const wxTextCtrl* active_text_ctrl = doc_manager->get_active_text_ctrl();

src/main_window.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ class main_window : public wxFrame {
101101
void on_word_count(wxCommandEvent&);
102102
void on_doc_info(wxCommandEvent&);
103103
void on_toc(wxCommandEvent&);
104+
void on_open_containing_folder(wxCommandEvent&);
104105
void on_options(wxCommandEvent&);
105106
void on_about(wxCommandEvent&);
106107
void on_help(wxCommandEvent&);

vcpkg/bin

Submodule bin updated 2020 files

0 commit comments

Comments
 (0)