Skip to content

Commit

Permalink
keybinds: move help menu to global actions kebab
Browse files Browse the repository at this point in the history
  • Loading branch information
tomasmatus committed Sep 24, 2024
1 parent 5ff28c6 commit 84ce5a0
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 15 deletions.
14 changes: 8 additions & 6 deletions src/dialogs/keyboardShortcutsHelp.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,13 @@ import { Text, TextContent, TextVariants } from "@patternfly/react-core/dist/esm
import { Flex, } from "@patternfly/react-core/dist/esm/layouts/Flex";

import cockpit from 'cockpit';
import { useDialogs } from 'dialogs';
import { DialogResult, Dialogs } from 'dialogs';

const _ = cockpit.gettext;

export const KeyboardShortcutsHelp = () => {
const Dialogs = useDialogs();

const KeyboardShortcutsHelp = ({ dialogResult } : { dialogResult: DialogResult<void> }) => {
const footer = (
<Button variant="secondary" onClick={Dialogs.close}>{_("Close")}</Button>
<Button variant="secondary" onClick={() => dialogResult.resolve()}>{_("Close")}</Button>
);

const toDescriptionListGroups = (item: [React.JSX.Element, string, string]) => {
Expand Down Expand Up @@ -114,7 +112,7 @@ export const KeyboardShortcutsHelp = () => {
title={_("Keyboard shortcuts")}
variant={ModalVariant.large}
className="shortcuts-dialog"
onClose={Dialogs.close}
onClose={() => dialogResult.resolve()}
footer={footer}
isOpen
>
Expand Down Expand Up @@ -143,3 +141,7 @@ export const KeyboardShortcutsHelp = () => {
</Modal>
);
};

export function showKeyboardShortcuts(dialogs: Dialogs) {
dialogs.run(KeyboardShortcutsHelp, {});
}
8 changes: 0 additions & 8 deletions src/header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ import { KebabDropdown } from "cockpit-components-dropdown";
import { useDialogs } from "dialogs";

import { FolderFileInfo, useFilesContext } from "./app.tsx";
import { KeyboardShortcutsHelp } from "./dialogs/keyboardShortcutsHelp.tsx";
import { get_menu_items } from "./menu.tsx";
import { UploadButton } from "./upload-button.tsx";

Expand Down Expand Up @@ -213,16 +212,13 @@ const ViewSelector = ({ isGrid, setIsGrid, sortBy, setSortBy, showHidden, setSho
}) => {
const [isOpen, setIsOpen] = useState<boolean>(false);
const onToggleClick = (isOpen: boolean) => setIsOpen(!isOpen);
const dialogs = useDialogs();

const onSelect = (_ev?: React.MouseEvent, itemId?: string | number) => {
if (itemId === "hidden-toggle") {
setShowHidden(prevShowHidden => {
localStorage.setItem("files:showHiddenFiles", !showHidden ? "true" : "false");
return !prevShowHidden;
});
} else if (itemId === "shortcuts-help") {
dialogs.show(<KeyboardShortcutsHelp />);
} else {
const sort = as_sort(itemId);
setSortBy(sort);
Expand Down Expand Up @@ -285,10 +281,6 @@ const ViewSelector = ({ isGrid, setIsGrid, sortBy, setSortBy, showHidden, setSho
<SelectOption icon={showHidden ? <EyeSlashIcon /> : <EyeIcon />} itemId="hidden-toggle">
{showHidden ? _("Hide hidden items") : _("Show hidden items")}
</SelectOption>
<Divider />
<SelectOption itemId="shortcuts-help">
{_("Show keyboard shortcuts")}
</SelectOption>
</SelectList>
</Select>
);
Expand Down
10 changes: 10 additions & 0 deletions src/menu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import type { Dialogs } from 'dialogs';
import type { FolderFileInfo } from "./app";
import { confirm_delete } from './dialogs/delete.tsx';
import { edit_file, MAX_EDITOR_FILE_SIZE } from './dialogs/editor.tsx';
import { showKeyboardShortcuts } from "./dialogs/keyboardShortcutsHelp.tsx";
import { show_create_directory_dialog } from './dialogs/mkdir.tsx';
import { edit_permissions } from './dialogs/permissions.jsx';
import { show_rename_dialog } from './dialogs/rename.tsx';
Expand Down Expand Up @@ -164,5 +165,14 @@ export function get_menu_items(
);
}

menuItems.push(
{ type: "divider" },
{
id: "shortcuts-help",
title: _("Show keyboard shortcuts"),
onClick: () => showKeyboardShortcuts(dialogs)
}
);

return menuItems;
}
3 changes: 2 additions & 1 deletion test/check-application
Original file line number Diff line number Diff line change
Expand Up @@ -1541,7 +1541,8 @@ class TestFiles(testlib.MachineCase):
m.execute(create_files)

# view shortcuts help dialog
b.select_PF("#sort-menu-toggle", "Show keyboard shortcuts")
b.click("#dropdown-menu")
b.click("#shortcuts-help")
b.wait_in_text(".shortcuts-dialog .pf-v5-c-modal-box__title-text", "Keyboard shortcuts")
b.click(".shortcuts-dialog button.pf-m-secondary")
b.wait_not_present(".shortcuts-dialog")
Expand Down

0 comments on commit 84ce5a0

Please sign in to comment.