Mercurial > octave-libgccjit
comparison libgui/src/m-editor/file-editor.h @ 18944:b2c4d6d461f0 gui-release
fix conflict between main and editor menus when using alt keys (bug #42659)
* file-editor.cc (enable_menu_shortcuts): new function enabling/disabling the
alt-key accelerators;
(m_add_menu): new function adding a menu and storing menu title with and
without the char & indicating the accelerator in a hash;
(construct): use m_add_menu for adding a new menu to the menu bar
* file-editor-interface.h: new virtual function enable_menu_shortcuts
* file-editor.h: new functions enable_menu_shortcuts amd m_add_menu, new hash
for storing the menu titles
* main-window.cc (connect_visibility_changed): disable editors menu shortcuts;
(enable_menu_shortcuts): new function enabling/disabling the
alt-key accelerators;
(m_add_menu): new function adding a menu and storing menu title with and
without the char & indicating the accelerator in a hash;
(construct_file_menu, construct_edit_menu, construct_debug_menu,
construct_window_menu, construct_help_menu, construct_news_menu):
use m_add_menu for adding a new menu to the menu bar;
(set_global_edit_shortcuts): enable/disable the main and the editors
menu shortcuts
author | Torsten <ttl@justmail.de> |
---|---|
date | Sun, 20 Jul 2014 20:44:30 +0200 |
parents | 095fdef3d67c |
children |
comparison
equal
deleted
inserted
replaced
18923:58f1178f49ef | 18944:b2c4d6d461f0 |
---|---|
62 void handle_enter_debug_mode (void); | 62 void handle_enter_debug_mode (void); |
63 void handle_exit_debug_mode (void); | 63 void handle_exit_debug_mode (void); |
64 | 64 |
65 void check_actions (void); | 65 void check_actions (void); |
66 void empty_script (bool startup, bool visible); | 66 void empty_script (bool startup, bool visible); |
67 void enable_menu_shortcuts (bool enable); | |
67 | 68 |
68 signals: | 69 signals: |
69 | 70 |
70 void fetab_settings_changed (const QSettings *settings); | 71 void fetab_settings_changed (const QSettings *settings); |
71 void fetab_close_request (const QWidget* ID, bool app_closing = false); | 72 void fetab_close_request (const QWidget* ID, bool app_closing = false); |
236 | 237 |
237 QWidget *find_tab_widget (const QString& openFileName) const; | 238 QWidget *find_tab_widget (const QString& openFileName) const; |
238 QAction *add_action (QMenu *menu, const QIcon &icon, const QString &text, | 239 QAction *add_action (QMenu *menu, const QIcon &icon, const QString &text, |
239 const char *member); | 240 const char *member); |
240 | 241 |
242 QMenu* m_add_menu (QMenuBar *p, QString text); | |
243 | |
241 std::map<QString, QWidget *> editor_tab_map; | 244 std::map<QString, QWidget *> editor_tab_map; |
245 QHash<QMenu*, QStringList> _hash_menu_text; | |
242 | 246 |
243 QString ced; | 247 QString ced; |
244 | 248 |
245 QMenuBar *_menu_bar; | 249 QMenuBar *_menu_bar; |
246 QToolBar *_tool_bar; | 250 QToolBar *_tool_bar; |
320 | 324 |
321 enum { MaxMRUFiles = 10 }; | 325 enum { MaxMRUFiles = 10 }; |
322 QMenu *_mru_file_menu; | 326 QMenu *_mru_file_menu; |
323 QAction *_mru_file_actions[MaxMRUFiles]; | 327 QAction *_mru_file_actions[MaxMRUFiles]; |
324 QStringList _mru_files; | 328 QStringList _mru_files; |
325 | |
326 }; | 329 }; |
327 | 330 |
328 #endif // FILEEDITORMDISUBWINDOW_H | 331 #endif // FILEEDITORMDISUBWINDOW_H |