Mercurial > octave
view libgui/src/files-dock-widget.h @ 23457:21baad6b35c4
maint: Use C++11 nullptr rather than 0 or NULL when possible.
* FigureWindow.h, Logger.cc, Menu.cc, MouseModeActionGroup.h, Object.h,
ObjectFactory.cc, ObjectProxy.h, color-picker.h, documentation-dock-widget.h,
files-dock-widget.h, find-files-dialog.h, history-dock-widget.h,
file-editor-tab.cc, file-editor.cc, file-editor.h, find-dialog.h,
main-window.cc, main-window.h, octave-dock-widget.h, parser.cc, parser.h,
webinfo.h, resource-manager.cc, shortcut-manager.cc, shortcut-manager.h,
terminal-dock-widget.h, welcome-wizard.cc, welcome-wizard.h, workspace-model.h,
workspace-view.h, __magick_read__.cc, call-stack.cc, call-stack.h, cdisplay.c,
display.cc, dlmread.cc, dynamic-ld.cc, ft-text-renderer.cc, gl2ps-print.cc,
graphics.cc, graphics.in.h, input.h, interpreter.cc, interpreter.h, ls-hdf5.cc,
mex.cc, mxarray.in.h, oct-errno.in.cc, oct-fstrm.cc, oct-iostrm.h,
oct-procbuf.cc, oct-stdstrm.h, oct-stream.cc, oct-stream.h, octave-link.cc,
pager.cc, pr-output.cc, profiler.h, qz.cc, sighandlers.cc, strfns.cc,
symtab.cc, symtab.h, typecast.cc, urlwrite.cc, variables.cc, __eigs__.cc,
__init_fltk__.cc, __ode15__.cc, colamd.cc, ov-base-int.cc, ov-base.cc,
ov-bool-mat.cc, ov-bool-sparse.cc, ov-builtin.cc, ov-class.cc, ov-classdef.cc,
ov-complex.cc, ov-cx-diag.cc, ov-cx-mat.cc, ov-cx-sparse.cc, ov-fcn-handle.cc,
ov-fcn-inline.cc, ov-flt-complex.cc, ov-flt-cx-diag.cc, ov-flt-cx-mat.cc,
ov-flt-re-diag.cc, ov-flt-re-mat.cc, ov-java.cc, ov-java.h, ov-lazy-idx.cc,
ov-perm.cc, ov-range.cc, ov-re-diag.cc, ov-re-mat.cc, ov-re-sparse.cc,
ov-str-mat.cc, ov-struct.cc, ov-usr-fcn.h, octave.cc, octave.h, bp-table.cc,
jit-ir.cc, jit-ir.h, jit-typeinfo.cc, jit-typeinfo.h, lex.h, pt-arg-list.cc,
pt-arg-list.h, pt-array-list.h, pt-cell.h, pt-classdef.h, pt-colon.cc,
pt-decl.h, pt-eval.cc, pt-eval.h, pt-except.h, pt-idx.h, pt-jit.cc, pt-jit.h,
pt-loop.h, pt-mat.h, pt-select.h, pt.h, CSparse.cc, dSparse.cc, DASPK.cc,
DASRT.cc, DASSL.cc, oct-fftw.cc, oct-rand.cc, oct-spparms.cc, child-list.cc,
file-ops.cc, mach-info.cc, oct-env.cc, oct-time.cc, cmd-edit.cc, cmd-hist.cc,
oct-locbuf.cc, oct-shlib.cc, pathsearch.cc, singleton-cleanup.cc,
unwind-prot.h, url-transfer.cc:
Use C++11 nullptr rather than 0 or NULL when possible.
author | Rik <rik@octave.org> |
---|---|
date | Fri, 28 Apr 2017 13:19:12 -0700 |
parents | c9fab0bc983e |
children | ba46a8015b26 |
line wrap: on
line source
/* Copyright (C) 2011-2017 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/>. */ #if ! defined (octave_files_dock_widget_h) #define octave_files_dock_widget_h 1 #include <QListView> #include <QDate> #include <QObject> #include <QWidget> #include <QListWidget> #include <QFileSystemModel> #include <QToolBar> #include <QToolButton> #include <QVBoxLayout> #include <QAction> #include <QTreeView> #include <QMouseEvent> #include <QSignalMapper> #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 = nullptr); ~files_dock_widget (void) = default; 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 (); /** Slot for handling the sync octave directory button in the toolbar. */ void do_sync_octave_directory (); /** Slot for handling the sync browser directory button in the toolbar. */ void do_sync_browser_directory (); /** 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 (); /** set the internal variable that holds the actual octave variable **/ void update_octave_directory (const QString& dir); /** Tells the widget to react on changed settings. */ void notice_settings (const QSettings *settings); void save_settings (void); private slots: void headercontextmenu_requested (const QPoint& pos); void toggle_header (int col); /** context menu wanted */ void contextmenu_requested (const QPoint& pos); /* context menu actions */ void contextmenu_open (bool); void contextmenu_open_in_editor (bool); void contextmenu_open_in_app (bool); void contextmenu_copy_selection (bool); void contextmenu_run (bool); void contextmenu_load (bool); void contextmenu_rename (bool); void contextmenu_delete (bool); void contextmenu_newfile (bool); void contextmenu_newdir (bool); void contextmenu_setcurrentdir (bool); void contextmenu_findfiles (bool); /* popdown menu options */ void popdownmenu_newfile (bool); void popdownmenu_newdir (bool); void popdownmenu_search_dir (bool); void popdownmenu_findfiles (bool); void popdownmenu_home (bool); /* from octave_doc_widget */ void copyClipboard (); void pasteClipboard (); void selectAll (); 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); /** Emitted, whenever the user requested to load a file. */ void load_file_signal (const QString& fileName); /** Emitted, whenever the user requested to run a file. */ void run_file_signal (const QFileInfo& info); /** Emitted, whenever wants to search for a file . */ void find_files_signal (const QString& startdir); private: void process_new_file (const QString& parent_name); void process_new_dir (const QString& parent_name); void process_set_current_dir (const QString& parent_name); void process_find_files (const QString& dir_name); /** set a new directory or open a file **/ void display_directory (const QString& dir, bool set_octave_dir = true); void open_item_in_app (const QModelIndex& index); /** Variables for the actions **/ QToolBar * _navigation_tool_bar; QAction * _sync_octave_directory_action; QAction * _sync_browser_directory_action; /** The file system model. */ QFileSystemModel *_file_system_model; /** The file system view. */ QTreeView * _file_tree_view; QComboBox * _current_directory; /** Internal variables **/ bool _sync_octave_dir; // flag if syncing with octave QString _octave_dir; // the actual octave dir enum { MaxMRUDirs = 10 }; QStringList _columns_shown; QStringList _columns_shown_keys; QSignalMapper *_sig_mapper; }; #endif