Ctrl-w shortcut to close an editor tab in multi-tab mode; bugfix for multi-monitor mode (issue 732)
This commit is contained in:
@@ -171,13 +171,27 @@ bool EditWindow::selectEditorPanel(const std::string &name) {
|
||||
}
|
||||
|
||||
bool EditWindow::keyPressed (GdkEventKey* event) {
|
||||
bool ctrl = event->state & GDK_CONTROL_MASK;
|
||||
|
||||
if(event->keyval == GDK_F11) {
|
||||
toggleFullscreen();
|
||||
return true;
|
||||
} else {
|
||||
EditorPanel* ep = static_cast<EditorPanel*>(mainNB->get_nth_page (mainNB->get_current_page()));
|
||||
return ep->handleShortcutKey (event);
|
||||
}
|
||||
else {
|
||||
if(mainNB->get_n_pages ()>0) { //pass the handling for the editor panels, if there are any
|
||||
if (event->keyval == GDK_w && ctrl){ //remove editor panel
|
||||
EditorPanel* ep = static_cast<EditorPanel*>(mainNB->get_nth_page (mainNB->get_current_page()));
|
||||
remEditorPanel (ep);
|
||||
return true;
|
||||
}
|
||||
else if(mainNB->get_n_pages ()>0){
|
||||
EditorPanel* ep = static_cast<EditorPanel*>(mainNB->get_nth_page (mainNB->get_current_page()));
|
||||
return ep->handleShortcutKey (event);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void EditWindow::toggleFullscreen () {
|
||||
|
@@ -403,6 +403,15 @@ bool RTWindow::keyPressed (GdkEventKey* event) {
|
||||
mainNB->set_current_page (mainNB->page_num (*epanel));
|
||||
}
|
||||
return true;
|
||||
case GDK_w: //multi-tab mode, close editor panel
|
||||
if (!isSingleTabMode() &&
|
||||
mainNB->get_current_page()!=mainNB->page_num(*fpanel) &&
|
||||
mainNB->get_current_page()!=mainNB->page_num(*bpanel)) {
|
||||
|
||||
EditorPanel* ep = static_cast<EditorPanel*>(mainNB->get_nth_page (mainNB->get_current_page()));
|
||||
remEditorPanel (ep);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user