Mercurial > octave
view libgui/src/history-dock-widget.h @ 25054:6652d3823428 stable
maint: Update copyright dates in all source files.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 30 Mar 2018 09:19:05 -0400 |
parents | e15d53d2de1e |
children | 00f796120a6d |
line wrap: on
line source
/* Copyright (C) 2011-2018 Jacob Dawid This file is part of Octave. Octave is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <https://www.gnu.org/licenses/>. */ #if ! defined (octave_history_dock_widget_h) #define octave_history_dock_widget_h 1 #include <QLineEdit> #include <QListView> #include <QSortFilterProxyModel> #include <QStringListModel> #include <QComboBox> #include <QCheckBox> #include "octave-dock-widget.h" namespace octave { class history_dock_widget : public octave_dock_widget { Q_OBJECT public: history_dock_widget (QWidget *parent = nullptr); ~history_dock_widget (void) = default; public slots: void set_history (const QStringList& hist); void append_history (const QString& hist_entry); void clear_history (void); void save_settings (void); signals: void information (const QString& message); //! Signal emitted, whenever the user double-clicked a command in the //! history. void command_double_clicked (const QString& command); //! Signale emitted, whenever the user selects commands and chooses //! "Create script" from the popup menu. void command_create_script (const QString& commands); private slots: void update_filter_history (void); void filter_activate (bool enable); void ctxMenu (const QPoint& pos); void handle_double_click (QModelIndex modelIndex); void handle_contextmenu_copy (bool flag); void handle_contextmenu_evaluate (bool flag); void handle_contextmenu_create_script (bool flag); void handle_contextmenu_filter (void); void copyClipboard (void); void pasteClipboard (void); void selectAll (void); virtual void handle_visibility (bool visible); private: void construct (void); QListView *m_history_list_view; QSortFilterProxyModel m_sort_filter_proxy_model; //! Stores the current history_model. QStringListModel *m_history_model; QCheckBox *m_filter_checkbox; QComboBox *m_filter; QWidget *m_filter_widget; bool m_filter_shown; enum { MaxFilterHistory = 10 }; }; } #endif