Mercurial > hg > octave-lyh
view libgui/src/files-dock-widget.h @ 16498:605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
* libgui/src/files-dockwidget.h (files_dock_widget::_current_directory):
Changed from QLineEdit to QComboBox
* libgui/src/files-dockwidget.cc (files_dock_widget::files_dock_widget):
Changed _current_directory to QComboBox and additional signal processing for
index selection. Added load/populate of comboxbox from saved settings.
(files_dock_widget::~files_dock_widget): added save of _current_directory to
settings.
(files_dock_widget::accept_directory_line_edit): change for QComboBox.
files_dock_widget::display_directory): added insertion of displayed directory
into combox list.
author | John Donoghue <john.donoghue@ieee.org> |
---|---|
date | Sat, 06 Apr 2013 01:14:53 -0400 |
parents | 094bd3627ead |
children | facf00ce97d3 |
line wrap: on
line source
/* Copyright (C) 2011-2012 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 <http://www.gnu.org/licenses/>. */ #ifndef FILESDOCKWIDGET_H #define FILESDOCKWIDGET_H #include <QListView> #include <QDate> #include <QObject> #include <QWidget> #include <QListWidget> #include <QFileSystemModel> #include <QToolBar> #include <QToolButton> #include <QVBoxLayout> #include <QAction> #include <QTreeView> #include <QSettings> #include <QComboBox> #include "octave-dock-widget.h" /** \class files_dock_widget \brief Dock widget to display files in the current directory. */ class files_dock_widget : public octave_dock_widget { Q_OBJECT public: files_dock_widget (QWidget *parent = 0); ~files_dock_widget (); public slots: /** Slot for handling a change in directory via double click. */ void item_double_clicked (const QModelIndex & index); /** Slot for handling the up-directory button in the toolbar. */ void change_directory_up (); /** Sets the current directory being displayed. */ void set_current_directory (const QString& dir); /** Accepts user input a the line edit for the current directory. */ void accept_directory_line_edit (); void display_directory (const QString& dir); /** Tells the widget to react on changed settings. */ void notice_settings (const QSettings *settings); signals: /** Emitted, whenever the user requested to open a file. */ void open_file (const QString& fileName); /** Emitted, whenever the currently displayed directory changed. */ void displayed_directory_changed (const QString& dir); private: // TODO: Add toolbar with buttons for navigating the path, creating dirs, etc /** Toolbar for file and directory manipulation. */ QToolBar * _navigation_tool_bar; /** Variables for the up-directory action. */ QIcon _directory_icon; QAction * _directory_up_action; QToolButton * _up_directory_button; /** The file system model. */ QFileSystemModel *_file_system_model; /** The file system view. */ QTreeView * _file_tree_view; QComboBox * _current_directory; enum { MaxMRUDirs = 10 }; }; #endif // FILESDOCKWIDGET_H