Mercurial > octave-nkf
comparison libgui/src/octave-dock-widget.h @ 20018:643de08e524c
save and restore previously active widget in a tabbed stack (bug #42980)
* main-window.cc (focus_changed): store previous widget as predecessor
if new widget is tabbed togehter with the previous one;
* octave-dock-widget.cc (octave_dock_widget): initialize predecessor to 0;
(set_predecessor_widget): new oublic method for setting the predecessor;
(set_focus_predecessor): if predecessor is defined which means that this
wigdet was tabbed with predecessor, set focus to predecessor;
(make_window): call set_focus_predecessor;
(closeEvent): moved here from header file, call set_focus_predecessor
* octave-dock-widget.h: new public function set_predecessor_widget,
closeEvent moved to octave_dock_widget.cc, new private function
set_focus_predecessor (), new variable _predecessor_widget holding the
previously active widget in the tabbed stack
author | Torsten <ttl@justmail.de> |
---|---|
date | Wed, 25 Mar 2015 16:50:12 +0100 |
parents | f7a805f02723 |
children | ac3746f39fab |
comparison
equal
deleted
inserted
replaced
20017:9a8be23d2c05 | 20018:643de08e524c |
---|---|
41 | 41 |
42 virtual void connect_visibility_changed (void); | 42 virtual void connect_visibility_changed (void); |
43 void make_window (void); | 43 void make_window (void); |
44 void make_widget (bool dock=true); | 44 void make_widget (bool dock=true); |
45 void set_title (const QString&); | 45 void set_title (const QString&); |
46 | 46 void set_predecessor_widget (octave_dock_widget *prev_widget); |
47 signals: | 47 signals: |
48 | 48 |
49 /** Custom signal that tells whether a user has clicked away | 49 /** Custom signal that tells whether a user has clicked away |
50 * that dock widget, i.e the active dock widget has | 50 * that dock widget, i.e the active dock widget has |
51 * changed. */ | 51 * changed. */ |
52 void active_changed (bool active); | 52 void active_changed (bool active); |
53 | 53 |
54 protected: | 54 protected: |
55 | 55 |
56 virtual void closeEvent (QCloseEvent *e) | 56 virtual void closeEvent (QCloseEvent *e); |
57 { | |
58 emit active_changed (false); | |
59 QDockWidget::closeEvent (e); | |
60 } | |
61 | 57 |
62 QWidget * focusWidget (); | 58 QWidget * focusWidget (); |
63 | 59 |
64 public slots: | 60 public slots: |
65 | 61 |
112 void change_visibility (bool); | 108 void change_visibility (bool); |
113 | 109 |
114 private: | 110 private: |
115 | 111 |
116 void set_style (bool active); | 112 void set_style (bool active); |
113 void set_focus_predecessor (); | |
117 | 114 |
118 QMainWindow *_parent; // store the parent since we are reparenting to 0 | 115 QMainWindow *_parent; // store the parent since we are reparenting to 0 |
119 bool _floating; | 116 bool _floating; |
120 bool _custom_style; | 117 bool _custom_style; |
121 int _title_3d; | 118 int _title_3d; |
124 QColor _bg_color_active; | 121 QColor _bg_color_active; |
125 QColor _fg_color; | 122 QColor _fg_color; |
126 QColor _fg_color_active; | 123 QColor _fg_color_active; |
127 QString _icon_color; | 124 QString _icon_color; |
128 QString _icon_color_active; | 125 QString _icon_color_active; |
126 octave_dock_widget *_predecessor_widget; | |
129 | 127 |
130 #if defined (Q_OS_WIN32) | 128 #if defined (Q_OS_WIN32) |
131 QWidget *_title_widget; | 129 QWidget *_title_widget; |
132 QToolButton *_dock_button; | 130 QToolButton *_dock_button; |
133 QToolButton *_close_button; | 131 QToolButton *_close_button; |