dab60d5580
The RenameFolderMenu uses the internal box as a menu item, while PopupMenu expects to have PopupBaseMenuItem based children with a delegate set. Instead of using a custom menu with a customized box acting as menu item,just add a RenameFolderMenuItem that inherits from the parent, adjusting the features as we need them. In fact, the rename folder menu item doesn't need any label, padding or default styling so we can reuse PopupMenuBaseItem after we use our styling properties and we set the Ornament to HIDDEN. To get the proper style in place, define rename-folder-popup and rename-folder-popup-item to override the default popup-menu-item rule padding instead of using margins. Pass the menu item as menu's focusActor as this will key-focus it on pop-up, by overriding the key_focus_in() vfunc we can then delegate the focus handling to the entry's clutter-text. Also override the map() vfunc in order to update the entry's content before mapping the entry. Finally, use the item's activate method in order to tell the parent menu we're done with it and that the menu can be closed. As consequence we can also remove the menu's popup() method, and just use the default open(). https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/720 |
||
---|---|---|
.gitlab-ci | ||
.settings | ||
data | ||
docs/reference | ||
js | ||
lint | ||
man | ||
meson | ||
po | ||
src | ||
subprojects | ||
test | ||
tests | ||
tools | ||
.eslintrc.json | ||
.gitignore | ||
.gitlab-ci.yml | ||
.gitmodules | ||
cldr2json.py | ||
config.h.meson | ||
COPYING | ||
gnome-shell.doap | ||
HACKING.md | ||
meson_options.txt | ||
meson.build | ||
NEWS | ||
README.md | ||
README.mdwn |
GNOME Shell
GNOME Shell provides core user interface functions for the GNOME 3 desktop, like switching to windows and launching applications. GNOME Shell takes advantage of the capabilities of modern graphics hardware and introduces innovative user interface concepts to provide a visually attractive and easy to use experience.
For more information about GNOME Shell, including instructions on how to build GNOME Shell from source and how to get involved with the project, see the project wiki.
Bugs should be reported to the GNOME bug tracking system.
Contributing
To contribute, open merge requests at https://gitlab.gnome.org/GNOME/gnome-shell.
Commit messages should follow the GNOME commit message guidelines. We require an URL to either an issue or a merge request in each commit.
License
GNOME Shell is distributed under the terms of the GNU General Public License, version 2 or later. See the COPYING file for details.