comparison libgui/src/history-dockwidget.cc @ 16447:e3b33a7530bc

improve encapsulation of history window object * history-dockwidget.h, history-dockwidget.cc (history_dock_widget::history_dock_widget): Set status tip here. Connect history_dock_widget::information signal to main_window::report_status_message. Connect history_dock_widget::command_double_clicked signal to main_window::handle_command_double_clicked. (history_dock_widget::connect_visibility_changed, history_dock_widget::focus, history_dock_widget::handle_visibility): New functions. * main-window.h, main-window.cc (main_window::history_window): Rename from _history_dock_widget. Don't use a pointer. Change all uses. (main_window::main_window): Initialize it here. (main_window::~main_window): Don't delete _history_dock_widget. (main_window::focus_history_window_signal): New signal. (main_window::focus_history_window): Rename from main_window::focus_command_history. Emit focus_history_window_signal instead of performing actions here. (main_window::handle_command_history_visible): Delete. (main_window::connect_visibility_changed): Call history_window.connect_visibility_changed instead of performing actions here. (main_window::construct): Don't create _history_dock_widget. Adapt signal/slot connections for new history_window object.
author John W. Eaton <jwe@octave.org>
date Sat, 06 Apr 2013 16:46:14 -0400
parents ee652dcc9ecc
children 744ff2fe11ce
comparison
equal deleted inserted replaced
16446:4b3a4bf8569b 16447:e3b33a7530bc
32 #include "error.h" 32 #include "error.h"
33 33
34 #include "cmd-hist.h" 34 #include "cmd-hist.h"
35 35
36 #include "history-dockwidget.h" 36 #include "history-dockwidget.h"
37 #include "octave-link.h"
38 37
39 history_dock_widget::history_dock_widget (QWidget * p) 38 history_dock_widget::history_dock_widget (QWidget *p)
40 : octave_dock_widget (p) 39 : octave_dock_widget (p)
41 { 40 {
42 setObjectName ("HistoryDockWidget"); 41 setObjectName ("HistoryDockWidget");
42 setStatusTip (tr ("Browse and search the command history."));
43
44 connect (this, SIGNAL (information (QString)),
45 p, SLOT (report_status_message (QString)));
46
47 connect (this, SIGNAL (command_double_clicked (const QString&)),
48 p, SLOT (handle_command_double_clicked (const QString&)));
49
43 construct (); 50 construct ();
51 }
52
53 void
54 history_dock_widget::connect_visibility_changed (void)
55 {
56 connect (this, SIGNAL (visibilityChanged (bool)),
57 this, SLOT (handle_visibility (bool)));
44 } 58 }
45 59
46 void 60 void
47 history_dock_widget::construct () 61 history_dock_widget::construct ()
48 { 62 {
139 history_dock_widget::clear_history (void) 153 history_dock_widget::clear_history (void)
140 { 154 {
141 _history_model->setStringList (QStringList ()); 155 _history_model->setStringList (QStringList ());
142 } 156 }
143 157
158 void
159 history_dock_widget::focus (void)
160 {
161 if (! isVisible ())
162 setVisible (true);
163
164 setFocus ();
165 activateWindow ();
166 raise ();
167 }
168
169 void
170 history_dock_widget::handle_visibility (bool visible)
171 {
172 if (visible && ! isFloating ())
173 focus ();
174 }
175