annotate libgui/src/shortcuts-tree-widget.h @ 33414:ec8b3c32effa stable

allow unbinding GUI shortcuts (bug #65580) * gui-settings.cc (sc_value): if shortcut is not contained in the settings, take the default shortcut, otherwise take contents of settings, even if empty (no shortcut selected for the action); (set_shortcut): use sc_value and set the return value as shortcut for the action, even if empty (shortcut): do not treat empty shortcut as special case * shortcuts-tree-widget.cc (shortcut_edit_dialog): add a clear button, set the current contents of the actual column into the line edit instead of the settings value, use lambda expression instead of separate trivial slot set_default_shortcut; (shortcuts_tree_widget): do not use settings group as now sc_value is used becuase we also want to show active shortcuts that are identical to the default value; (export_shortcuts): only write the shortcut into the settings file if it differs from the default value or if a full export into a user file is desired; (write_settings): call export_shortcuts with full flag false * shortcuts-tree-widget.h: remove slot set_default_shortcut, export-shortcuts with boolean argument if full export or not
author Torsten Lilge <ttl-octave@mailbox.org>
date Sun, 14 Apr 2024 15:14:17 +0200
parents 2e484f9f1f18
children 7f18c537e101
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
31696
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
1 ////////////////////////////////////////////////////////////////////////
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
2 //
32632
2e484f9f1f18 maint: update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 31771
diff changeset
3 // Copyright (C) 2014-2024 The Octave Project Developers
31696
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
4 //
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
5 // See the file COPYRIGHT.md in the top-level directory of this
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
6 // distribution or <https://octave.org/copyright/>.
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
7 //
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
8 // This file is part of Octave.
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
9 //
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
10 // Octave is free software: you can redistribute it and/or modify it
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
11 // under the terms of the GNU General Public License as published by
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
12 // the Free Software Foundation, either version 3 of the License, or
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
13 // (at your option) any later version.
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
14 //
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
15 // Octave is distributed in the hope that it will be useful, but
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
18 // GNU General Public License for more details.
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
19 //
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
20 // You should have received a copy of the GNU General Public License
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
21 // along with Octave; see the file COPYING. If not, see
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
22 // <https://www.gnu.org/licenses/>.
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
23 //
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
24 ////////////////////////////////////////////////////////////////////////
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
25
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
26 #if ! defined (octave_shortcuts_tree_widget_h)
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
27 #define octave_shortcuts_tree_widget_h 1
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
28
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
29 #include <QCheckBox>
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
30 #include <QDialog>
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
31 #include <QKeyEvent>
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
32 #include <QLineEdit>
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
33 #include <QString>
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
34 #include <QTreeWidget>
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
35 #include <QtCore>
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
36
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
37 #include "gui-preferences.h"
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
38 #include "gui-settings.h"
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
39
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
40 OCTAVE_BEGIN_NAMESPACE(octave)
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
41
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
42 class enter_shortcut : public QLineEdit
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
43 {
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
44 Q_OBJECT
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
45
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
46 public:
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
47
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
48 enter_shortcut (QWidget *p = nullptr);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
49
31771
21f9b34eb893 maint: Eliminate "(void)" in C++ function prototypes/declarations.
Rik <rik@octave.org>
parents: 31708
diff changeset
50 ~enter_shortcut () = default;
31696
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
51
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
52 virtual void keyPressEvent (QKeyEvent *e);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
53
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
54 public slots:
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
55
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
56 void handle_direct_shortcut (int);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
57 void handle_shift_modifier (int);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
58
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
59 private:
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
60
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
61 bool m_direct_shortcut;
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
62 bool m_shift_modifier;
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
63 };
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
64
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
65 class tree_widget_shortcut_item : public QTreeWidgetItem
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
66 {
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
67 public:
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
68
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
69 enum
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
70 {
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
71 DESCRIPTION_COLUMN = 0,
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
72 DEFAULT_COLUMN,
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
73 ACTUAL_COLUMN
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
74 };
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
75
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
76 tree_widget_shortcut_item (QTreeWidgetItem *parent, const sc_pref& scpref,
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
77 const QString& actual_text);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
78
31771
21f9b34eb893 maint: Eliminate "(void)" in C++ function prototypes/declarations.
Rik <rik@octave.org>
parents: 31708
diff changeset
79 QString settings_key () const;
31696
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
80
31771
21f9b34eb893 maint: Eliminate "(void)" in C++ function prototypes/declarations.
Rik <rik@octave.org>
parents: 31708
diff changeset
81 QString description () const;
31696
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
82 void set_description (const QString& text);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
83
31771
21f9b34eb893 maint: Eliminate "(void)" in C++ function prototypes/declarations.
Rik <rik@octave.org>
parents: 31708
diff changeset
84 QString default_text () const;
31696
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
85 void set_default_text (const QString& text);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
86
31771
21f9b34eb893 maint: Eliminate "(void)" in C++ function prototypes/declarations.
Rik <rik@octave.org>
parents: 31708
diff changeset
87 QString actual_text () const;
31696
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
88 void set_actual_text (const QString& text);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
89
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
90 private:
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
91
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
92 QString m_settings_key;
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
93 };
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
94
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
95 class shortcut_edit_dialog : public QDialog
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
96 {
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
97 Q_OBJECT
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
98
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
99 public:
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
100
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
101 shortcut_edit_dialog (tree_widget_shortcut_item *shortcut_item,
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
102 QWidget *parent = nullptr);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
103
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
104 public slots:
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
105
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
106 void finished (int result);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
107
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
108 signals:
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
109
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
110 void set_shortcut (const QString& settings_key,
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
111 const QString& settings_value);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
112
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
113 private:
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
114
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
115 tree_widget_shortcut_item *m_shortcut_item;
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
116
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
117 enter_shortcut *m_edit_actual;
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
118
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
119 QString m_settings_key;
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
120 QString m_default_text;
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
121 };
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
122
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
123 class shortcuts_tree_widget : public QTreeWidget
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
124 {
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
125 Q_OBJECT
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
126
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
127 public:
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
128
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
129 shortcuts_tree_widget (QWidget *parent);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
130
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
131 void import_shortcuts (gui_settings& settings);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
132
33414
ec8b3c32effa allow unbinding GUI shortcuts (bug #65580)
Torsten Lilge <ttl-octave@mailbox.org>
parents: 32632
diff changeset
133 void export_shortcuts (gui_settings& settings, bool full = true);
31696
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
134
31771
21f9b34eb893 maint: Eliminate "(void)" in C++ function prototypes/declarations.
Rik <rik@octave.org>
parents: 31708
diff changeset
135 void set_default_shortcuts ();
31696
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
136
31771
21f9b34eb893 maint: Eliminate "(void)" in C++ function prototypes/declarations.
Rik <rik@octave.org>
parents: 31708
diff changeset
137 void write_settings ();
31696
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
138
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
139 public slots:
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
140
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
141 void edit_selection (QTreeWidgetItem *item, int col);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
142
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
143 void update_widget_value (const QString& settings_key,
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
144 const QString& sc_text);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
145
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
146 private:
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
147
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
148 tree_widget_shortcut_item * get_item (const QString& settings_key);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
149
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
150 void update_settings_value (gui_settings& settings,
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
151 const QString& settings_key);
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
152 };
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
153
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
154 OCTAVE_END_NAMESPACE(octave)
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
155
8fed04d0607c eliminate shortcut_manager class and revamp shortcut handling
John W. Eaton <jwe@octave.org>
parents:
diff changeset
156 #endif