Mercurial > octave
diff libgui/src/history-dock-widget.cc @ 24011:9107bae20480
style fixes for some GUI source files
* color-picker.cc, color-picker.h, documentation-dock-widget.cc,
documentation-dock-widget.h, external-editor-interface.cc,
external-editor-interface.h, find-files-dialog.cc,
find-files-dialog.h, find-files-model.cc, find-files-model.h,
history-dock-widget.cc, history-dock-widget.h, settings-dialog.cc,
settings-dialog.h, terminal-dock-widget.cc, thread-manager.cc,
thread-manager.h: Use m_ prefix for member variables, order
functions consistently in header and source files, and follow more
Octave coding conventions.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 06 Sep 2017 09:25:46 -0400 |
parents | b481a9baeb61 |
children | 194eb4bd202b |
line wrap: on
line diff
--- a/libgui/src/history-dock-widget.cc Tue Sep 05 17:24:13 2017 -0700 +++ b/libgui/src/history-dock-widget.cc Wed Sep 06 09:25:46 2017 -0400 @@ -59,89 +59,33 @@ } void -history_dock_widget::construct () +history_dock_widget::set_history (const QStringList& hist) { - _history_model = new QStringListModel (); - _sort_filter_proxy_model.setSourceModel (_history_model); - _history_list_view = new QListView (this); - _history_list_view->setModel (&_sort_filter_proxy_model); - _history_list_view->setAlternatingRowColors (true); - _history_list_view->setEditTriggers (QAbstractItemView::NoEditTriggers); - _history_list_view->setStatusTip ( - tr ("Double-click a command to transfer it to the terminal.")); - _history_list_view->setSelectionMode (QAbstractItemView::ExtendedSelection); - _history_list_view->setContextMenuPolicy (Qt::CustomContextMenu); - connect (_history_list_view, - SIGNAL (customContextMenuRequested (const QPoint &)), this, - SLOT (ctxMenu (const QPoint &))); + m_history_model->setStringList (hist); + m_history_list_view->scrollToBottom (); +} - _filter = new QComboBox (this); - _filter->setToolTip (tr ("Enter text to filter the command history")); - _filter->setEditable (true); - _filter->setMaxCount (MaxFilterHistory); - _filter->setInsertPolicy (QComboBox::NoInsert); - _filter->setSizeAdjustPolicy ( - QComboBox::AdjustToMinimumContentsLengthWithIcon); - QSizePolicy sizePol (QSizePolicy::Expanding, QSizePolicy::Preferred); - _filter->setSizePolicy (sizePol); - _filter->completer ()->setCaseSensitivity (Qt::CaseSensitive); +void +history_dock_widget::append_history (const QString& hist_entry) +{ + QStringList lst = m_history_model->stringList (); + lst.append (hist_entry); - QLabel *filter_label = new QLabel (tr ("Filter")); - - _filter_checkbox = new QCheckBox (); - - setWindowIcon (QIcon (":/actions/icons/logo.png")); - set_title (tr ("Command History")); - setWidget (new QWidget ()); + QScrollBar *scroll_bar = m_history_list_view->verticalScrollBar (); - _filter_widget = new QWidget (this); - QHBoxLayout *filter_layout = new QHBoxLayout (); - filter_layout->addWidget (filter_label); - filter_layout->addWidget (_filter_checkbox); - filter_layout->addWidget (_filter); - filter_layout->setMargin(0); - _filter_widget->setLayout (filter_layout); - - QVBoxLayout *hist_layout = new QVBoxLayout (); - hist_layout->addWidget (_filter_widget); - hist_layout->addWidget (_history_list_view); + bool at_bottom = scroll_bar->maximum () - scroll_bar->value () < 1; - hist_layout->setMargin (2); - widget ()->setLayout (hist_layout); - - // Init state of the filter - QSettings *settings = resource_manager::get_settings (); - - _filter_shown - = settings->value ("history_dock_widget/filter_shown",true).toBool (); - _filter_widget->setVisible (_filter_shown); - - _filter->addItems (settings->value ("history_dock_widget/mru_list").toStringList ()); + m_history_model->setStringList (lst); - bool filter_state - = settings->value ("history_dock_widget/filter_active", false).toBool (); - _filter_checkbox->setChecked (filter_state); - filter_activate (filter_state); + // Scroll if slider position at bottom. + if (at_bottom) + m_history_list_view->scrollToBottom (); +} - // Connect signals and slots - connect (_filter, SIGNAL (editTextChanged (const QString&)), - &_sort_filter_proxy_model, - SLOT (setFilterWildcard (const QString&))); - connect (_filter_checkbox, SIGNAL (toggled (bool)), - this, SLOT (filter_activate (bool))); - connect (_filter->lineEdit (), SIGNAL (editingFinished ()), - this, SLOT (update_filter_history ())); - - connect (_history_list_view, SIGNAL (doubleClicked (QModelIndex)), - this, SLOT (handle_double_click (QModelIndex))); - - // shrink max. displayed entry size to desktop width - QSize screen = QDesktopWidget ().screenGeometry ().size (); - int w = screen.width (); - QFontMetrics fm = _history_list_view->fontMetrics (); - int h = fm.height (); - _history_list_view->setGridSize (QSize (w,h)); - _history_list_view->setTextElideMode (Qt::ElideRight); +void +history_dock_widget::clear_history (void) +{ + m_history_model->setStringList (QStringList ()); } void @@ -153,12 +97,12 @@ return; settings->setValue ("history_dock_widget/filter_active", - _filter_checkbox->isChecked ()); - settings->setValue ("history_dock_widget/filter_shown", _filter_shown); + m_filter_checkbox->isChecked ()); + settings->setValue ("history_dock_widget/filter_shown", m_filter_shown); QStringList mru; - for (int i = 0; i < _filter->count (); i++) - mru.append (_filter->itemText (i)); + for (int i = 0; i < m_filter->count (); i++) + mru.append (m_filter->itemText (i)); settings->setValue ("history_dock_widget/mru_list", mru); settings->sync (); @@ -167,35 +111,36 @@ } void -history_dock_widget::filter_activate (bool state) +history_dock_widget::update_filter_history (void) { - _filter->setEnabled (state); - _sort_filter_proxy_model.setDynamicSortFilter (state); + QString text = m_filter->currentText (); // get current text + int index = m_filter->findText (text); // and its actual index - if (state) - _sort_filter_proxy_model.setFilterWildcard (_filter->currentText ()); - else - _sort_filter_proxy_model.setFilterWildcard (QString ()); + if (index > -1) + m_filter->removeItem (index); // remove if already existing + + m_filter->insertItem (0, text); // (re)insert at beginning + m_filter->setCurrentIndex (0); } void -history_dock_widget::update_filter_history () +history_dock_widget::filter_activate (bool state) { - QString text = _filter->currentText (); // get current text - int index = _filter->findText (text); // and its actual index + m_filter->setEnabled (state); + m_sort_filter_proxy_model.setDynamicSortFilter (state); - if (index > -1) - _filter->removeItem (index); // remove if already existing - - _filter->insertItem (0, text); // (re)insert at beginning - _filter->setCurrentIndex (0); + if (state) + m_sort_filter_proxy_model.setFilterWildcard (m_filter->currentText ()); + else + m_sort_filter_proxy_model.setFilterWildcard (QString ()); } -void history_dock_widget::ctxMenu (const QPoint& xpos) +void +history_dock_widget::ctxMenu (const QPoint& xpos) { QMenu menu (this); - QModelIndex index = _history_list_view->indexAt (xpos); + QModelIndex index = m_history_list_view->indexAt (xpos); if (index.isValid () && index.column () == 0) { @@ -207,20 +152,27 @@ tr ("Create script"), this, SLOT (handle_contextmenu_create_script (bool))); } - if (_filter_shown) + if (m_filter_shown) menu.addAction (tr ("Hide filter"), this, SLOT (handle_contextmenu_filter ())); else menu.addAction (tr ("Show filter"), this, SLOT (handle_contextmenu_filter ())); - menu.exec (_history_list_view->mapToGlobal (xpos)); + menu.exec (m_history_list_view->mapToGlobal (xpos)); } -void history_dock_widget::handle_contextmenu_copy (bool) +void +history_dock_widget::handle_double_click (QModelIndex modelIndex) +{ + emit command_double_clicked (modelIndex.data ().toString ()); +} + +void +history_dock_widget::handle_contextmenu_copy (bool) { QString text; - QItemSelectionModel *selectionModel = _history_list_view->selectionModel (); + QItemSelectionModel *selectionModel = m_history_list_view->selectionModel (); QModelIndexList rows = selectionModel->selectedRows (); QModelIndexList::iterator it; bool prev_valid_row = false; @@ -239,7 +191,7 @@ void history_dock_widget::handle_contextmenu_evaluate (bool) { - QItemSelectionModel *selectionModel = _history_list_view->selectionModel (); + QItemSelectionModel *selectionModel = m_history_list_view->selectionModel (); QModelIndexList rows = selectionModel->selectedRows (); QModelIndexList::iterator it; for (it = rows.begin () ; it != rows.end (); it++) @@ -253,7 +205,7 @@ history_dock_widget::handle_contextmenu_create_script (bool) { QString text; - QItemSelectionModel *selectionModel = _history_list_view->selectionModel (); + QItemSelectionModel *selectionModel = m_history_list_view->selectionModel (); QModelIndexList rows = selectionModel->selectedRows (); bool prev_valid_row = false; @@ -275,91 +227,139 @@ void history_dock_widget::handle_contextmenu_filter (void) { - _filter_shown = not _filter_shown; - _filter_widget->setVisible (_filter_shown); -} - -void -history_dock_widget::handle_double_click (QModelIndex modelIndex) -{ - emit command_double_clicked (modelIndex.data ().toString ()); -} - -void -history_dock_widget::set_history (const QStringList& hist) -{ - _history_model->setStringList (hist); - _history_list_view->scrollToBottom (); + m_filter_shown = ! m_filter_shown; + m_filter_widget->setVisible (m_filter_shown); } void -history_dock_widget::append_history (const QString& hist_entry) +history_dock_widget::copyClipboard (void) { - QStringList lst = _history_model->stringList (); - lst.append (hist_entry); - - QScrollBar *scroll_bar = _history_list_view->verticalScrollBar (); - - bool at_bottom = scroll_bar->maximum () - scroll_bar->value () < 1; - - _history_model->setStringList (lst); - - // Scroll if slider position at bottom. - if (at_bottom) - _history_list_view->scrollToBottom (); -} - -void -history_dock_widget::clear_history (void) -{ - _history_model->setStringList (QStringList ()); -} - -void -history_dock_widget::copyClipboard () -{ - if (_history_list_view->hasFocus ()) + if (m_history_list_view->hasFocus ()) handle_contextmenu_copy (true); - if (_filter->lineEdit ()->hasFocus () - && _filter->lineEdit ()->hasSelectedText ()) + if (m_filter->lineEdit ()->hasFocus () + && m_filter->lineEdit ()->hasSelectedText ()) { QClipboard *clipboard = QApplication::clipboard (); - clipboard->setText (_filter->lineEdit ()->selectedText ()); + clipboard->setText (m_filter->lineEdit ()->selectedText ()); } } void -history_dock_widget::pasteClipboard () +history_dock_widget::pasteClipboard (void) { - if (_filter->lineEdit ()->hasFocus ()) + if (m_filter->lineEdit ()->hasFocus ()) { QClipboard *clipboard = QApplication::clipboard (); QString str = clipboard->text (); if (str.length () > 0) - _filter->lineEdit ()->insert (str); + m_filter->lineEdit ()->insert (str); } } void -history_dock_widget::selectAll () +history_dock_widget::selectAll (void) { - if (_filter->lineEdit ()->hasFocus ()) - { - _filter->lineEdit ()->selectAll (); - } - if (_history_list_view->hasFocus ()) - { - _history_list_view->selectAll (); - } + if (m_filter->lineEdit ()->hasFocus ()) + m_filter->lineEdit ()->selectAll (); + + if (m_history_list_view->hasFocus ()) + m_history_list_view->selectAll (); } -void history_dock_widget::handle_visibility (bool visible) +void +history_dock_widget::handle_visibility (bool visible) { octave_dock_widget::handle_visibility (visible); if (visible) { - int filter_state = _filter_checkbox->isChecked (); + int filter_state = m_filter_checkbox->isChecked (); filter_activate (filter_state); } } + +void +history_dock_widget::construct (void) +{ + m_history_model = new QStringListModel (); + m_sort_filter_proxy_model.setSourceModel (m_history_model); + m_history_list_view = new QListView (this); + m_history_list_view->setModel (&m_sort_filter_proxy_model); + m_history_list_view->setAlternatingRowColors (true); + m_history_list_view->setEditTriggers (QAbstractItemView::NoEditTriggers); + m_history_list_view->setStatusTip ( + tr ("Double-click a command to transfer it to the terminal.")); + m_history_list_view->setSelectionMode (QAbstractItemView::ExtendedSelection); + m_history_list_view->setContextMenuPolicy (Qt::CustomContextMenu); + connect (m_history_list_view, + SIGNAL (customContextMenuRequested (const QPoint &)), this, + SLOT (ctxMenu (const QPoint &))); + + m_filter = new QComboBox (this); + m_filter->setToolTip (tr ("Enter text to filter the command history")); + m_filter->setEditable (true); + m_filter->setMaxCount (MaxFilterHistory); + m_filter->setInsertPolicy (QComboBox::NoInsert); + m_filter->setSizeAdjustPolicy ( + QComboBox::AdjustToMinimumContentsLengthWithIcon); + QSizePolicy sizePol (QSizePolicy::Expanding, QSizePolicy::Preferred); + m_filter->setSizePolicy (sizePol); + m_filter->completer ()->setCaseSensitivity (Qt::CaseSensitive); + + QLabel *filter_label = new QLabel (tr ("Filter")); + + m_filter_checkbox = new QCheckBox (); + + setWindowIcon (QIcon (":/actions/icons/logo.png")); + set_title (tr ("Command History")); + setWidget (new QWidget ()); + + m_filter_widget = new QWidget (this); + QHBoxLayout *filter_layout = new QHBoxLayout (); + filter_layout->addWidget (filter_label); + filter_layout->addWidget (m_filter_checkbox); + filter_layout->addWidget (m_filter); + filter_layout->setMargin(0); + m_filter_widget->setLayout (filter_layout); + + QVBoxLayout *hist_layout = new QVBoxLayout (); + hist_layout->addWidget (m_filter_widget); + hist_layout->addWidget (m_history_list_view); + + hist_layout->setMargin (2); + widget ()->setLayout (hist_layout); + + // Init state of the filter + QSettings *settings = resource_manager::get_settings (); + + m_filter_shown + = settings->value ("history_dock_widget/filter_shown",true).toBool (); + m_filter_widget->setVisible (m_filter_shown); + + m_filter->addItems (settings->value ("history_dock_widget/mru_list").toStringList ()); + + bool filter_state + = settings->value ("history_dock_widget/filter_active", false).toBool (); + m_filter_checkbox->setChecked (filter_state); + filter_activate (filter_state); + + // Connect signals and slots + connect (m_filter, SIGNAL (editTextChanged (const QString&)), + &m_sort_filter_proxy_model, + SLOT (setFilterWildcard (const QString&))); + connect (m_filter_checkbox, SIGNAL (toggled (bool)), + this, SLOT (filter_activate (bool))); + connect (m_filter->lineEdit (), SIGNAL (editingFinished (void)), + this, SLOT (updatem_filter_history (void))); + + connect (m_history_list_view, SIGNAL (doubleClicked (QModelIndex)), + this, SLOT (handle_double_click (QModelIndex))); + + // shrink max. displayed entry size to desktop width + QSize screen = QDesktopWidget ().screenGeometry ().size (); + int w = screen.width (); + QFontMetrics fm = m_history_list_view->fontMetrics (); + int h = fm.height (); + m_history_list_view->setGridSize (QSize (w,h)); + m_history_list_view->setTextElideMode (Qt::ElideRight); +}