Added missing toggle case keyboard shortcuts to the query tool. Fixes #7399

This commit is contained in:
Aditya Toshniwal 2022-05-24 14:54:43 +05:30 committed by Akshay Joshi
parent efe613d13e
commit 04fa7dee68
4 changed files with 23 additions and 0 deletions

View File

@ -29,5 +29,6 @@ Bug fixes
| `Issue #7383 <https://redmine.postgresql.org/issues/7383>`_ - Fixed an issue where Preferences are not saved when the dialog is maximized. | `Issue #7383 <https://redmine.postgresql.org/issues/7383>`_ - Fixed an issue where Preferences are not saved when the dialog is maximized.
| `Issue #7388 <https://redmine.postgresql.org/issues/7388>`_ - Fixed an issue where an error message fills the entire window if the query is long. | `Issue #7388 <https://redmine.postgresql.org/issues/7388>`_ - Fixed an issue where an error message fills the entire window if the query is long.
| `Issue #7393 <https://redmine.postgresql.org/issues/7393>`_ - Ensure that the editor position should not get changed once it is opened. | `Issue #7393 <https://redmine.postgresql.org/issues/7393>`_ - Ensure that the editor position should not get changed once it is opened.
| `Issue #7399 <https://redmine.postgresql.org/issues/7399>`_ - Added missing toggle case keyboard shortcuts to the query tool.
| `Issue #7402 <https://redmine.postgresql.org/issues/7402>`_ - Ensure that Dashboard graphs should be refreshed on changing the node from the browser tree. | `Issue #7402 <https://redmine.postgresql.org/issues/7402>`_ - Ensure that Dashboard graphs should be refreshed on changing the node from the browser tree.
| `Issue #7403 <https://redmine.postgresql.org/issues/7403>`_ - Fixed an issue where comments on domain constraints were not visible when selecting a domain node. | `Issue #7403 <https://redmine.postgresql.org/issues/7403>`_ - Fixed an issue where comments on domain constraints were not visible when selecting a domain node.

View File

@ -59,6 +59,7 @@ export const QUERY_TOOL_EVENTS = {
EDITOR_FIND_REPLACE: 'EDITOR_FIND_REPLACE', EDITOR_FIND_REPLACE: 'EDITOR_FIND_REPLACE',
EDITOR_EXEC_CMD: 'EDITOR_EXEC_CMD', EDITOR_EXEC_CMD: 'EDITOR_EXEC_CMD',
EDITOR_SET_SQL: 'EDITOR_SET_SQL', EDITOR_SET_SQL: 'EDITOR_SET_SQL',
EDITOR_TOGGLE_CASE: 'EDITOR_TOGGLE_CASE',
COPY_TO_EDITOR: 'COPY_TO_EDITOR', COPY_TO_EDITOR: 'COPY_TO_EDITOR',
WARN_SAVE_DATA_CLOSE: 'WARN_SAVE_DATA_CLOSE', WARN_SAVE_DATA_CLOSE: 'WARN_SAVE_DATA_CLOSE',

View File

@ -335,6 +335,9 @@ export function MainToolBar({containerRef, onFilterClick, onManageMacros}) {
const formatSQL=()=>{ const formatSQL=()=>{
eventBus.fireEvent(QUERY_TOOL_EVENTS.TRIGGER_FORMAT_SQL); eventBus.fireEvent(QUERY_TOOL_EVENTS.TRIGGER_FORMAT_SQL);
}; };
const toggleCase=()=>{
eventBus.fireEvent(QUERY_TOOL_EVENTS.EDITOR_TOGGLE_CASE);
};
const clearQuery=()=>{ const clearQuery=()=>{
confirmDiscard(()=>{ confirmDiscard(()=>{
eventBus.fireEvent(QUERY_TOOL_EVENTS.EDITOR_SET_SQL, ''); eventBus.fireEvent(QUERY_TOOL_EVENTS.EDITOR_SET_SQL, '');
@ -418,6 +421,12 @@ export function MainToolBar({containerRef, onFilterClick, onManageMacros}) {
callback: ()=>{formatSQL();} callback: ()=>{formatSQL();}
} }
}, },
{
shortcut: queryToolPref.toggle_case,
options: {
callback: ()=>{toggleCase();}
}
},
{ {
shortcut: queryToolPref.clear_query, shortcut: queryToolPref.clear_query,
options: { options: {
@ -565,6 +574,8 @@ export function MainToolBar({containerRef, onFilterClick, onManageMacros}) {
onClick={()=>{eventBus.fireEvent(QUERY_TOOL_EVENTS.EDITOR_EXEC_CMD, 'indentLess');}}>{gettext('Unindent Selection')}</PgMenuItem> onClick={()=>{eventBus.fireEvent(QUERY_TOOL_EVENTS.EDITOR_EXEC_CMD, 'indentLess');}}>{gettext('Unindent Selection')}</PgMenuItem>
<PgMenuItem shortcut={FIXED_PREF.comment} <PgMenuItem shortcut={FIXED_PREF.comment}
onClick={()=>{eventBus.fireEvent(QUERY_TOOL_EVENTS.EDITOR_EXEC_CMD, 'toggleComment');}}>{gettext('Toggle Comment')}</PgMenuItem> onClick={()=>{eventBus.fireEvent(QUERY_TOOL_EVENTS.EDITOR_EXEC_CMD, 'toggleComment');}}>{gettext('Toggle Comment')}</PgMenuItem>
<PgMenuItem shortcut={queryToolPref.toggle_case}
onClick={toggleCase}>{gettext('Toggle Case Of Selected Text')}</PgMenuItem>
<PgMenuItem shortcut={queryToolPref.clear_query} <PgMenuItem shortcut={queryToolPref.clear_query}
onClick={clearQuery}>{gettext('Clear Query')}</PgMenuItem> onClick={clearQuery}>{gettext('Clear Query')}</PgMenuItem>
<PgMenuDivider /> <PgMenuDivider />

View File

@ -377,6 +377,16 @@ export default function Query() {
} }
}).catch(()=>{/* failure should be ignored */}); }).catch(()=>{/* failure should be ignored */});
}); });
eventBus.registerListener(QUERY_TOOL_EVENTS.EDITOR_TOGGLE_CASE, ()=>{
let selectedText = editor.current?.getSelection();
if (!selectedText) return;
if (selectedText === selectedText.toUpperCase()) {
editor.current.replaceSelection(selectedText.toLowerCase());
} else {
editor.current.replaceSelection(selectedText.toUpperCase());
}
});
editor.current.focus(); editor.current.focus();
}, []); }, []);