Mercurial > hg > octave-nkf
annotate libgui/src/files-dock-widget.cc @ 18352:03a8428adef7 gui-release
gui: provide prefernces for the file browser's directory at startup
* settings-dialog.ui: add check box for restoring previous directory and
line edit / file dialog for setting startup directory
* settings-dialog.cc (constructor): init new input widgets from settings,
connect needed signals;
(write_changed_settings): write values from new widgets into settings file;
(get_file_browser_dir): new slot for settings octave dir in a file dialog;
(get_dir): common function for settings dialog slots;
(get_octave_dir): use get_dir;
(set_disabled_pref_file_browser_dir): slot for disabling some setting widgets
* settings-dialog.h: new slots get_file_browser_dir, get_dir,
set_disabled_pref_file_browser_dir
* files-doc-widget.cc (constructor): set start directory depending on settings
author | Torsten <ttl@justmail.de> |
---|---|
date | Sun, 19 Jan 2014 17:25:35 +0100 |
parents | 12291fb903de |
children | dfc6ef6ac455 |
rev | line source |
---|---|
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
1 /* |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
2 |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
3 Copyright (C) 2013 John P. Swensen |
17744
d63878346099
maint: Update copyright notices for release.
John W. Eaton <jwe@octave.org>
parents:
17008
diff
changeset
|
4 Copyright (C) 2011-2013 Jacob Dawid |
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
5 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
6 This file is part of Octave. |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
7 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
8 Octave is free software; you can redistribute it and/or modify it |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
9 under the terms of the GNU General Public License as published by the |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
10 Free Software Foundation; either version 3 of the License, or (at your |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
11 option) any later version. |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
12 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
13 Octave is distributed in the hope that it will be useful, but WITHOUT |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
16 for more details. |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
17 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
18 You should have received a copy of the GNU General Public License |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
19 along with Octave; see the file COPYING. If not, see |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
20 <http://www.gnu.org/licenses/>. |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
21 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
22 */ |
13501 | 23 |
15286
ae9079bbc627
Add '#include <config.h>' to C++ files in libgui/src
Rik <rik@octave.org>
parents:
15204
diff
changeset
|
24 #ifdef HAVE_CONFIG_H |
ae9079bbc627
Add '#include <config.h>' to C++ files in libgui/src
Rik <rik@octave.org>
parents:
15204
diff
changeset
|
25 #include <config.h> |
ae9079bbc627
Add '#include <config.h>' to C++ files in libgui/src
Rik <rik@octave.org>
parents:
15204
diff
changeset
|
26 #endif |
ae9079bbc627
Add '#include <config.h>' to C++ files in libgui/src
Rik <rik@octave.org>
parents:
15204
diff
changeset
|
27 |
14707
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
28 #include "resource-manager.h" |
16460
4d4e7c6f839d
use consistent names for dock-widget files
John W. Eaton <jwe@octave.org>
parents:
16455
diff
changeset
|
29 #include "files-dock-widget.h" |
13501 | 30 |
31 #include <QApplication> | |
16622
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
32 #include <QClipboard> |
13501 | 33 #include <QFileInfo> |
34 #include <QCompleter> | |
13531
bb3676025b36
User can set a custom file editor instead of the built-in one.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13522
diff
changeset
|
35 #include <QProcess> |
13539
a4b5cad8f7c6
Added command line parser class.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13537
diff
changeset
|
36 #include <QDebug> |
15461
1e64aff609c3
save/restore column state and sorting (column and order) in files-widget
Torsten <ttl@justmail.de>
parents:
15368
diff
changeset
|
37 #include <QHeaderView> |
16498
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
38 #include <QLineEdit> |
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
39 #include <QSizePolicy> |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
40 #include <QMenu> |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
41 #include <QInputDialog> |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
42 #include <QMessageBox> |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
43 #include <QToolButton> |
16594
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
44 #include <QUrl> |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
45 #include <QDesktopServices> |
16613
99a57611d58a
add menu for searching the next directory shown by the file browser
Torsten <ttl@justmail.de>
parents:
16611
diff
changeset
|
46 #include <QFileDialog> |
13501 | 47 |
16555
04fb96f4bea1
allow double-click in file browser to load data files
John W. Eaton <jwe@octave.org>
parents:
16542
diff
changeset
|
48 #include "load-save.h" |
04fb96f4bea1
allow double-click in file browser to load data files
John W. Eaton <jwe@octave.org>
parents:
16542
diff
changeset
|
49 |
16622
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
50 class FileTreeViewer : public QTreeView |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
51 { |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
52 public: |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
53 |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
54 FileTreeViewer (QWidget *p) : QTreeView (p) { } |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
55 |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
56 void mousePressEvent (QMouseEvent *e) |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
57 { |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
58 if (e->button () != Qt::RightButton) |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
59 QTreeView::mousePressEvent (e); |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
60 } |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
61 }; |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
62 |
15368
36ececf69385
avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents:
15367
diff
changeset
|
63 files_dock_widget::files_dock_widget (QWidget *p) |
16057
c3057d80cf91
Created common octave_dock_widget class
Richard Crozier <richard.crozier@yahoo.co.uk>
parents:
15552
diff
changeset
|
64 : octave_dock_widget (p) |
13506
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
65 { |
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
66 setObjectName ("FilesDockWidget"); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
67 setWindowIcon (QIcon (":/actions/icons/logo.png")); |
16798
d749c9b588e5
make stand-alone windows from dock widgets when floating (bug #38785)
Torsten <ttl@justmail.de>
parents:
16762
diff
changeset
|
68 set_title (tr ("File Browser")); |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
69 setToolTip (tr ("Browse your files.")); |
16450
3207f1d62e74
improve encapsulation of file browser window object
John W. Eaton <jwe@octave.org>
parents:
16437
diff
changeset
|
70 |
3207f1d62e74
improve encapsulation of file browser window object
John W. Eaton <jwe@octave.org>
parents:
16437
diff
changeset
|
71 QWidget *container = new QWidget (this); |
3207f1d62e74
improve encapsulation of file browser window object
John W. Eaton <jwe@octave.org>
parents:
16437
diff
changeset
|
72 |
3207f1d62e74
improve encapsulation of file browser window object
John W. Eaton <jwe@octave.org>
parents:
16437
diff
changeset
|
73 setWidget (container); |
13501 | 74 |
16455
38ed6bdd1f7f
move signal/slot connections from main window to sub window where possible
John W. Eaton <jwe@octave.org>
parents:
16450
diff
changeset
|
75 connect (this, SIGNAL (open_file (const QString&)), |
16798
d749c9b588e5
make stand-alone windows from dock widgets when floating (bug #38785)
Torsten <ttl@justmail.de>
parents:
16762
diff
changeset
|
76 main_win (), SLOT (open_file (const QString&))); |
16455
38ed6bdd1f7f
move signal/slot connections from main window to sub window where possible
John W. Eaton <jwe@octave.org>
parents:
16450
diff
changeset
|
77 |
38ed6bdd1f7f
move signal/slot connections from main window to sub window where possible
John W. Eaton <jwe@octave.org>
parents:
16450
diff
changeset
|
78 connect (this, SIGNAL (displayed_directory_changed (const QString&)), |
16798
d749c9b588e5
make stand-alone windows from dock widgets when floating (bug #38785)
Torsten <ttl@justmail.de>
parents:
16762
diff
changeset
|
79 main_win (), SLOT (set_current_working_directory (const QString&))); |
16455
38ed6bdd1f7f
move signal/slot connections from main window to sub window where possible
John W. Eaton <jwe@octave.org>
parents:
16450
diff
changeset
|
80 |
13506
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
81 // Create a toolbar |
16525
e192525236ad
configurable size of toolbar icons
Torsten <ttl@justmail.de>
parents:
16515
diff
changeset
|
82 _navigation_tool_bar = new QToolBar ("", container); |
e192525236ad
configurable size of toolbar icons
Torsten <ttl@justmail.de>
parents:
16515
diff
changeset
|
83 _navigation_tool_bar->setAllowedAreas (Qt::TopToolBarArea); |
e192525236ad
configurable size of toolbar icons
Torsten <ttl@justmail.de>
parents:
16515
diff
changeset
|
84 _navigation_tool_bar->setMovable (false); |
13501 | 85 |
16525
e192525236ad
configurable size of toolbar icons
Torsten <ttl@justmail.de>
parents:
16515
diff
changeset
|
86 _current_directory = new QComboBox (_navigation_tool_bar); |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
87 _current_directory->setToolTip (tr ("Enter the path or filename")); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
88 _current_directory->setEditable (true); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
89 _current_directory->setMaxCount (MaxMRUDirs); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
90 _current_directory->setInsertPolicy (QComboBox::NoInsert); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
91 _current_directory->setSizeAdjustPolicy ( |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
92 QComboBox::AdjustToMinimumContentsLengthWithIcon); |
17985
79e7c468d392
* files-dock-widget.cc (ctor): smaller height of the directory combo box
Torsten <ttl@justmail.de>
parents:
17970
diff
changeset
|
93 QSizePolicy sizePol (QSizePolicy::Expanding, QSizePolicy::Maximum); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
94 _current_directory->setSizePolicy (sizePol); |
13501 | 95 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
96 QAction *directory_up_action = new QAction (QIcon (":/actions/icons/up.png"), |
16525
e192525236ad
configurable size of toolbar icons
Torsten <ttl@justmail.de>
parents:
16515
diff
changeset
|
97 "", _navigation_tool_bar); |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
98 directory_up_action->setToolTip (tr ("Move up one directory")); |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
99 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
100 _sync_browser_directory_action |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
101 = new QAction (QIcon (":/actions/icons/reload.png"), |
18282
cae24b7cfaf4
minor fix of text strings and related translations (part of bug #41201)
Torsten <ttl@justmail.de>
parents:
18276
diff
changeset
|
102 tr ("Show Octave directory"), _navigation_tool_bar); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
103 _sync_browser_directory_action->setToolTip ( |
18282
cae24b7cfaf4
minor fix of text strings and related translations (part of bug #41201)
Torsten <ttl@justmail.de>
parents:
18276
diff
changeset
|
104 tr ("Go to current Octave directory")); |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
105 _sync_browser_directory_action->setEnabled ("false"); |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
106 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
107 _sync_octave_directory_action |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
108 = new QAction (QIcon (":/actions/icons/ok.png"), |
18282
cae24b7cfaf4
minor fix of text strings and related translations (part of bug #41201)
Torsten <ttl@justmail.de>
parents:
18276
diff
changeset
|
109 tr ("Set Octave directory"), _navigation_tool_bar); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
110 _sync_octave_directory_action->setToolTip ( |
18282
cae24b7cfaf4
minor fix of text strings and related translations (part of bug #41201)
Torsten <ttl@justmail.de>
parents:
18276
diff
changeset
|
111 tr ("Set Octave directroy to current browser directory")); |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
112 _sync_octave_directory_action->setEnabled ("false"); |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
113 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
114 QToolButton * popdown_button = new QToolButton (); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
115 popdown_button->setToolTip (tr ("Actions on current directory")); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
116 QMenu * popdown_menu = new QMenu (); |
16762
42555422e326
Add Show home directory to files window popdown.
John Donoghue <john.donoghue@ieee.org>
parents:
16709
diff
changeset
|
117 popdown_menu->addAction (QIcon (":/actions/icons/home.png"), |
18282
cae24b7cfaf4
minor fix of text strings and related translations (part of bug #41201)
Torsten <ttl@justmail.de>
parents:
18276
diff
changeset
|
118 tr ("Show Home Directory"), |
16762
42555422e326
Add Show home directory to files window popdown.
John Donoghue <john.donoghue@ieee.org>
parents:
16709
diff
changeset
|
119 this, SLOT (popdownmenu_home (bool))); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
120 popdown_menu->addAction (_sync_browser_directory_action); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
121 popdown_menu->addAction (_sync_octave_directory_action); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
122 popdown_button->setMenu (popdown_menu); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
123 popdown_button->setPopupMode (QToolButton::InstantPopup); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
124 popdown_button->setDefaultAction (new QAction ( |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
125 QIcon (":/actions/icons/gear.png"), "", |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
126 _navigation_tool_bar)); |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
127 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
128 popdown_menu->addSeparator (); |
18286 | 129 popdown_menu->addAction (QIcon (":/actions/icons/folder.png"), |
130 tr ("Search Directory..."), | |
16613
99a57611d58a
add menu for searching the next directory shown by the file browser
Torsten <ttl@justmail.de>
parents:
16611
diff
changeset
|
131 this, SLOT (popdownmenu_search_dir (bool))); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
132 popdown_menu->addSeparator (); |
18286 | 133 popdown_menu->addAction (QIcon (":/actions/icons/findf.png"), |
18282
cae24b7cfaf4
minor fix of text strings and related translations (part of bug #41201)
Torsten <ttl@justmail.de>
parents:
18276
diff
changeset
|
134 tr ("Find Files..."), |
cae24b7cfaf4
minor fix of text strings and related translations (part of bug #41201)
Torsten <ttl@justmail.de>
parents:
18276
diff
changeset
|
135 this, SLOT (popdownmenu_findfiles (bool))); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
136 popdown_menu->addSeparator (); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
137 popdown_menu->addAction (QIcon (":/actions/icons/filenew.png"), |
18282
cae24b7cfaf4
minor fix of text strings and related translations (part of bug #41201)
Torsten <ttl@justmail.de>
parents:
18276
diff
changeset
|
138 tr ("New File..."), |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
139 this, SLOT (popdownmenu_newfile (bool))); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
140 popdown_menu->addAction (QIcon (":/actions/icons/folder_new.png"), |
18282
cae24b7cfaf4
minor fix of text strings and related translations (part of bug #41201)
Torsten <ttl@justmail.de>
parents:
18276
diff
changeset
|
141 tr ("New Directory..."), |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
142 this, SLOT (popdownmenu_newdir (bool))); |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
143 |
16525
e192525236ad
configurable size of toolbar icons
Torsten <ttl@justmail.de>
parents:
16515
diff
changeset
|
144 _navigation_tool_bar->addWidget (_current_directory); |
e192525236ad
configurable size of toolbar icons
Torsten <ttl@justmail.de>
parents:
16515
diff
changeset
|
145 _navigation_tool_bar->addAction (directory_up_action); |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
146 _navigation_tool_bar->addWidget (popdown_button); |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
147 |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
148 connect (directory_up_action, SIGNAL (triggered ()), this, |
16437
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16413
diff
changeset
|
149 SLOT (change_directory_up ())); |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
150 connect (_sync_octave_directory_action, SIGNAL (triggered ()), this, |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
151 SLOT (do_sync_octave_directory ())); |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
152 connect (_sync_browser_directory_action, SIGNAL (triggered ()), this, |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
153 SLOT (do_sync_browser_directory ())); |
13501 | 154 |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
155 QSettings *settings = resource_manager::get_settings (); |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
156 // FIXME: what should happen if settings is 0? |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
157 |
18352
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
158 // Create the QFileSystemModel starting in the desired directory |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
159 QDir startup_dir; // take current dir |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
160 |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
161 if (settings->value ("filesdockwidget/restore_last_dir",false).toBool ()) |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
162 { |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
163 // restore last dir from previous session |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
164 QStringList last_dirs |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
165 = settings->value ("filesdockwidget/mru_dir_list").toStringList (); |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
166 if (last_dirs.length () > 0) |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
167 startup_dir = QDir (last_dirs.at (0)); // last dir in previous session |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
168 } |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
169 else if (! settings->value ("filesdockwidget/startup_dir").toString ().isEmpty ()) |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
170 { |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
171 // do not restore but there is a startup dir configured |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
172 startup_dir = QDir (settings->value ("filesdockwidget/startup_dir").toString ()); |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
173 } |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
174 |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
175 if (! startup_dir.exists ()) |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
176 { |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
177 // the configured startup dir does not exist, take actual one |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
178 startup_dir = QDir (); |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
179 } |
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
180 |
14712
5cb54cca8a06
Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14709
diff
changeset
|
181 _file_system_model = new QFileSystemModel (this); |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
182 if (settings->value ("filesdockwidget/showHiddenFiles",false).toBool ()) |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
183 { |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
184 _file_system_model->setFilter (QDir::NoDotAndDotDot | QDir::AllEntries |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
185 | QDir::Hidden); |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
186 } |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
187 else |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
188 { |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
189 _file_system_model->setFilter (QDir::NoDotAndDotDot | QDir::AllEntries); |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
190 } |
16510
e22604d4bf85
* files-dock-widget.cc(constructor): initial dir is where octave was started
Torsten <ttl@justmail.de>
parents:
16509
diff
changeset
|
191 QModelIndex rootPathIndex = _file_system_model->setRootPath ( |
18352
03a8428adef7
gui: provide prefernces for the file browser's directory at startup
Torsten <ttl@justmail.de>
parents:
18308
diff
changeset
|
192 startup_dir.absolutePath ()); |
13501 | 193 |
13506
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
194 // Attach the model to the QTreeView and set the root index |
16622
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
195 _file_tree_view = new FileTreeViewer (container); |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
196 _file_tree_view->setSelectionMode (QAbstractItemView::ExtendedSelection); |
14712
5cb54cca8a06
Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14709
diff
changeset
|
197 _file_tree_view->setModel (_file_system_model); |
5cb54cca8a06
Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14709
diff
changeset
|
198 _file_tree_view->setRootIndex (rootPathIndex); |
5cb54cca8a06
Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14709
diff
changeset
|
199 _file_tree_view->setSortingEnabled (true); |
5cb54cca8a06
Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14709
diff
changeset
|
200 _file_tree_view->setAlternatingRowColors (true); |
5cb54cca8a06
Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14709
diff
changeset
|
201 _file_tree_view->setAnimated (true); |
17935 | 202 _file_tree_view->setToolTip (tr ("Double-click a file to open it")); |
13549
807e5e9b7591
Added lots of status tips.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13539
diff
changeset
|
203 |
15461
1e64aff609c3
save/restore column state and sorting (column and order) in files-widget
Torsten <ttl@justmail.de>
parents:
15368
diff
changeset
|
204 // get sort column and order as well as cloumn state (order and width) |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
205 |
15461
1e64aff609c3
save/restore column state and sorting (column and order) in files-widget
Torsten <ttl@justmail.de>
parents:
15368
diff
changeset
|
206 _file_tree_view->sortByColumn ( |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
207 settings->value ("filesdockwidget/sort_files_by_column",0).toInt (), |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
208 static_cast<Qt::SortOrder> |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
209 (settings->value ("filesdockwidget/sort_files_by_order", |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
210 Qt::AscendingOrder).toUInt ()) |
15461
1e64aff609c3
save/restore column state and sorting (column and order) in files-widget
Torsten <ttl@justmail.de>
parents:
15368
diff
changeset
|
211 ); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
212 _file_tree_view->header ()->restoreState ( |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
213 settings->value ("filesdockwidget/column_state").toByteArray ()); |
16498
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
214 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
215 QStringList mru_dirs = |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
216 settings->value ("filesdockwidget/mru_dir_list").toStringList (); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
217 _current_directory->addItems (mru_dirs); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
218 |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
219 _current_directory->setEditText ( |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
220 _file_system_model->fileInfo (rootPathIndex). absoluteFilePath ()); |
13501 | 221 |
16450
3207f1d62e74
improve encapsulation of file browser window object
John W. Eaton <jwe@octave.org>
parents:
16437
diff
changeset
|
222 connect (_file_tree_view, SIGNAL (doubleClicked (const QModelIndex &)), |
3207f1d62e74
improve encapsulation of file browser window object
John W. Eaton <jwe@octave.org>
parents:
16437
diff
changeset
|
223 this, SLOT (item_double_clicked (const QModelIndex &))); |
13501 | 224 |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
225 // add context menu to tree_view |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
226 _file_tree_view->setContextMenuPolicy (Qt::CustomContextMenu); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
227 connect (_file_tree_view, |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
228 SIGNAL (customContextMenuRequested (const QPoint &)), |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
229 this, SLOT (contextmenu_requested (const QPoint &))); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
230 |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
231 _file_tree_view->header()->setContextMenuPolicy (Qt::CustomContextMenu); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
232 connect (_file_tree_view->header(), |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
233 SIGNAL (customContextMenuRequested (const QPoint &)), |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
234 this, SLOT (headercontextmenu_requested (const QPoint &))); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
235 |
13506
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
236 // Layout the widgets vertically with the toolbar on top |
15368
36ececf69385
avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents:
15367
diff
changeset
|
237 QVBoxLayout *vbox_layout = new QVBoxLayout (); |
36ececf69385
avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents:
15367
diff
changeset
|
238 vbox_layout->setSpacing (0); |
16525
e192525236ad
configurable size of toolbar icons
Torsten <ttl@justmail.de>
parents:
16515
diff
changeset
|
239 vbox_layout->addWidget (_navigation_tool_bar); |
15368
36ececf69385
avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents:
15367
diff
changeset
|
240 vbox_layout->addWidget (_file_tree_view); |
36ececf69385
avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents:
15367
diff
changeset
|
241 vbox_layout->setMargin (1); |
16450
3207f1d62e74
improve encapsulation of file browser window object
John W. Eaton <jwe@octave.org>
parents:
16437
diff
changeset
|
242 |
3207f1d62e74
improve encapsulation of file browser window object
John W. Eaton <jwe@octave.org>
parents:
16437
diff
changeset
|
243 container->setLayout (vbox_layout); |
3207f1d62e74
improve encapsulation of file browser window object
John W. Eaton <jwe@octave.org>
parents:
16437
diff
changeset
|
244 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
245 // TODO: Add right-click contextual menus for copying, pasting, |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
246 // deleting files (and others). |
13501 | 247 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
248 connect (_current_directory->lineEdit (), SIGNAL (returnPressed ()), |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
249 this, SLOT (accept_directory_line_edit ())); |
16498
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
250 |
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
251 connect (_current_directory, SIGNAL (activated (const QString &)), |
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
252 this, SLOT (set_current_directory (const QString &))); |
14803
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
253 |
16635
25e418d23a4b
fix running files from file browser's context menu
Torsten <ttl@justmail.de>
parents:
16622
diff
changeset
|
254 connect (this, SIGNAL (run_file_signal (const QFileInfo&)), |
16798
d749c9b588e5
make stand-alone windows from dock widgets when floating (bug #38785)
Torsten <ttl@justmail.de>
parents:
16762
diff
changeset
|
255 main_win (), SLOT (run_file_in_terminal (const QFileInfo&))); |
16506
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
256 |
16450
3207f1d62e74
improve encapsulation of file browser window object
John W. Eaton <jwe@octave.org>
parents:
16437
diff
changeset
|
257 QCompleter *completer = new QCompleter (_file_system_model, this); |
14712
5cb54cca8a06
Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14709
diff
changeset
|
258 _current_directory->setCompleter (completer); |
13577
e440b3f32f02
Fixed bug with closing subwindows.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13549
diff
changeset
|
259 |
14812
9d9eb9bac65e
Improved menu structure of file, edit and window menu. Removed ambiguous shortcuts, improved focus handling for operating the GUI with the keyboard. Added new shortcuts to focus subwindows directly.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14803
diff
changeset
|
260 setFocusProxy (_current_directory); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
261 |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
262 _sync_octave_dir = true; // default, overwirtten with notice_settings () |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
263 _octave_dir = ""; |
13501 | 264 } |
265 | |
15461
1e64aff609c3
save/restore column state and sorting (column and order) in files-widget
Torsten <ttl@justmail.de>
parents:
15368
diff
changeset
|
266 files_dock_widget::~files_dock_widget () |
1e64aff609c3
save/restore column state and sorting (column and order) in files-widget
Torsten <ttl@justmail.de>
parents:
15368
diff
changeset
|
267 { |
1e64aff609c3
save/restore column state and sorting (column and order) in files-widget
Torsten <ttl@justmail.de>
parents:
15368
diff
changeset
|
268 QSettings *settings = resource_manager::get_settings (); |
1e64aff609c3
save/restore column state and sorting (column and order) in files-widget
Torsten <ttl@justmail.de>
parents:
15368
diff
changeset
|
269 int sort_column = _file_tree_view->header ()->sortIndicatorSection (); |
1e64aff609c3
save/restore column state and sorting (column and order) in files-widget
Torsten <ttl@justmail.de>
parents:
15368
diff
changeset
|
270 Qt::SortOrder sort_order = _file_tree_view->header ()->sortIndicatorOrder (); |
1e64aff609c3
save/restore column state and sorting (column and order) in files-widget
Torsten <ttl@justmail.de>
parents:
15368
diff
changeset
|
271 settings->setValue ("filesdockwidget/sort_files_by_column", sort_column); |
1e64aff609c3
save/restore column state and sorting (column and order) in files-widget
Torsten <ttl@justmail.de>
parents:
15368
diff
changeset
|
272 settings->setValue ("filesdockwidget/sort_files_by_order", sort_order); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
273 settings->setValue ("filesdockwidget/column_state", |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
274 _file_tree_view->header ()->saveState ()); |
16498
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
275 |
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
276 QStringList dirs; |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
277 for (int i=0; i< _current_directory->count (); i++) |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
278 { |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
279 dirs.append (_current_directory->itemText (i)); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
280 } |
16498
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
281 settings->setValue ("filesdockwidget/mru_dir_list", dirs); |
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
282 |
16175
6f83158c714c
gui: make sure settings are really written into the settings file
Torsten <ttl@justmail.de>
parents:
16057
diff
changeset
|
283 settings->sync (); |
15461
1e64aff609c3
save/restore column state and sorting (column and order) in files-widget
Torsten <ttl@justmail.de>
parents:
15368
diff
changeset
|
284 } |
1e64aff609c3
save/restore column state and sorting (column and order) in files-widget
Torsten <ttl@justmail.de>
parents:
15368
diff
changeset
|
285 |
13506
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
286 void |
16437
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16413
diff
changeset
|
287 files_dock_widget::item_double_clicked (const QModelIndex& index) |
13501 | 288 { |
13531
bb3676025b36
User can set a custom file editor instead of the built-in one.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13522
diff
changeset
|
289 // Retrieve the file info associated with the model index. |
14712
5cb54cca8a06
Completion of code reformatting.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14709
diff
changeset
|
290 QFileInfo fileInfo = _file_system_model->fileInfo (index); |
16437
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16413
diff
changeset
|
291 set_current_directory (fileInfo.absoluteFilePath ()); |
13501 | 292 } |
293 | |
13506
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
294 void |
16437
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16413
diff
changeset
|
295 files_dock_widget::set_current_directory (const QString& dir) |
13506
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
296 { |
16437
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16413
diff
changeset
|
297 display_directory (dir); |
14803
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
298 } |
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
299 |
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
300 void |
16437
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16413
diff
changeset
|
301 files_dock_widget::accept_directory_line_edit (void) |
14803
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
302 { |
16498
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
303 display_directory (_current_directory->currentText ()); |
14803
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
304 } |
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
305 |
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
306 void |
16437
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16413
diff
changeset
|
307 files_dock_widget::change_directory_up (void) |
14803
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
308 { |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
309 QDir dir |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
310 = QDir (_file_system_model->filePath (_file_tree_view->rootIndex ())); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
311 |
14803
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
312 dir.cdUp (); |
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
313 display_directory (dir.absolutePath ()); |
13501 | 314 } |
315 | |
13506
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
316 void |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
317 files_dock_widget::do_sync_octave_directory (void) |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
318 { |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
319 QDir dir |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
320 = QDir (_file_system_model->filePath (_file_tree_view->rootIndex ())); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
321 |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
322 emit displayed_directory_changed (dir.absolutePath ()); |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
323 } |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
324 |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
325 void |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
326 files_dock_widget::do_sync_browser_directory (void) |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
327 { |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
328 display_directory (_octave_dir,false); // false: no sync of octave dir |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
329 } |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
330 |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
331 void |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
332 files_dock_widget::update_octave_directory (const QString& dir) |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
333 { |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
334 _octave_dir = dir; |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
335 if (_sync_octave_dir) |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
336 display_directory (_octave_dir,false); // false: no sync of octave dir |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
337 } |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
338 |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
339 void |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
340 files_dock_widget::display_directory (const QString& dir, bool set_octave_dir) |
13506
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
341 { |
16437
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16413
diff
changeset
|
342 QFileInfo fileInfo (dir); |
14803
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
343 if (fileInfo.exists ()) |
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
344 { |
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
345 if (fileInfo.isDir ()) |
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
346 { |
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
347 _file_tree_view->setRootIndex (_file_system_model-> |
15367
501a9cc2c68f
maint: whitespace cleanup in GUI code
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
15300
diff
changeset
|
348 index (fileInfo.absoluteFilePath ())); |
14803
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
349 _file_system_model->setRootPath (fileInfo.absoluteFilePath ()); |
16437
919796a440c6
use signal for changing directory
John W. Eaton <jwe@octave.org>
parents:
16413
diff
changeset
|
350 _file_system_model->sort (0, Qt::AscendingOrder); |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
351 if (_sync_octave_dir && set_octave_dir) |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
352 process_set_current_dir (fileInfo.absoluteFilePath ()); |
16498
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
353 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
354 // see if its in the list, and if it is, |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
355 // remove it and then, put at top of the list |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
356 int index |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
357 = _current_directory->findText (fileInfo.absoluteFilePath ()); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
358 if (index != -1) |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
359 { |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
360 _current_directory->removeItem (index); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
361 } |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
362 _current_directory->insertItem (0, fileInfo.absoluteFilePath ()); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
363 _current_directory->setCurrentIndex (0); |
14803
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
364 } |
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
365 else |
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
366 { |
16555
04fb96f4bea1
allow double-click in file browser to load data files
John W. Eaton <jwe@octave.org>
parents:
16542
diff
changeset
|
367 QString abs_fname = fileInfo.absoluteFilePath (); |
04fb96f4bea1
allow double-click in file browser to load data files
John W. Eaton <jwe@octave.org>
parents:
16542
diff
changeset
|
368 |
04fb96f4bea1
allow double-click in file browser to load data files
John W. Eaton <jwe@octave.org>
parents:
16542
diff
changeset
|
369 if (QFile::exists (abs_fname)) |
04fb96f4bea1
allow double-click in file browser to load data files
John W. Eaton <jwe@octave.org>
parents:
16542
diff
changeset
|
370 { |
04fb96f4bea1
allow double-click in file browser to load data files
John W. Eaton <jwe@octave.org>
parents:
16542
diff
changeset
|
371 if (is_octave_data_file (abs_fname.toStdString ())) |
04fb96f4bea1
allow double-click in file browser to load data files
John W. Eaton <jwe@octave.org>
parents:
16542
diff
changeset
|
372 emit load_file_signal (abs_fname); |
04fb96f4bea1
allow double-click in file browser to load data files
John W. Eaton <jwe@octave.org>
parents:
16542
diff
changeset
|
373 else |
16562
fb8fe0ed4bbb
* files-doc-widget.cc: Undo unintended changes from changeset 5fc1ce2947bd.
John W. Eaton <jwe@octave.org>
parents:
16558
diff
changeset
|
374 emit open_file (fileInfo.absoluteFilePath ()); |
16555
04fb96f4bea1
allow double-click in file browser to load data files
John W. Eaton <jwe@octave.org>
parents:
16542
diff
changeset
|
375 } |
14803
625be3eb27c5
Current directories now synchronize on top, in the file browser and the cwd in octave.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14728
diff
changeset
|
376 } |
13501 | 377 } |
378 } | |
13536
869c62c15e95
Few minor improvements, added advanced settings for file browser.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13535
diff
changeset
|
379 |
16594
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
380 void |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
381 files_dock_widget::open_item_in_app (const QModelIndex& index) |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
382 { |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
383 // Retrieve the file info associated with the model index. |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
384 QFileInfo fileInfo = _file_system_model->fileInfo (index); |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
385 |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
386 QString file = fileInfo.absoluteFilePath (); |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
387 |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
388 QDesktopServices::openUrl (QUrl::fromLocalFile (file)); |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
389 } |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
390 |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
391 void files_dock_widget::toggle_headercontextitem_filesize () |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
392 { |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
393 QSettings *settings = resource_manager::get_settings (); |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
394 settings->setValue |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
395 ("filesdockwidget/showFileSize", |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
396 ! settings->value ("filesdockwidget/showFileSize",false).toBool ()); |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
397 settings->sync (); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
398 this->notice_settings (settings); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
399 } |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
400 |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
401 void files_dock_widget::toggle_headercontextitem_filetype () |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
402 { |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
403 QSettings *settings = resource_manager::get_settings (); |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
404 settings->setValue |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
405 ("filesdockwidget/showFileType", |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
406 ! settings->value ("filesdockwidget/showFileType",false).toBool ()); |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
407 settings->sync (); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
408 this->notice_settings (settings); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
409 } |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
410 |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
411 void files_dock_widget::toggle_headercontextitem_datemodified () |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
412 { |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
413 QSettings *settings = resource_manager::get_settings (); |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
414 settings->setValue |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
415 ("filesdockwidget/showLastModified", |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
416 ! settings->value ("filesdockwidget/showLastModified",false).toBool ()); |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
417 settings->sync (); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
418 this->notice_settings (settings); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
419 } |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
420 |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
421 void files_dock_widget::toggle_headercontextitem_showhidden () |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
422 { |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
423 QSettings *settings = resource_manager::get_settings (); |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
424 settings->setValue |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
425 ("filesdockwidget/showHiddenFiles", |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
426 ! settings->value ("filesdockwidget/showHiddenFiles",false).toBool ()); |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
427 settings->sync (); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
428 this->notice_settings (settings); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
429 } |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
430 |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
431 void |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
432 files_dock_widget::headercontextmenu_requested (const QPoint& mpos) |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
433 { |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
434 QMenu menu (this); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
435 |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
436 QSettings *settings = resource_manager::get_settings (); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
437 |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
438 QAction fileSizeAction (tr ("File size"), &menu); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
439 fileSizeAction.setCheckable (true); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
440 fileSizeAction.setChecked ( |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
441 settings->value ("filesdockwidget/showFileSize",false).toBool ()); |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
442 connect (&fileSizeAction, SIGNAL(triggered ()), |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
443 this, SLOT (toggle_headercontextitem_filesize ())); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
444 menu.addAction (&fileSizeAction); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
445 |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
446 QAction fileTypeAction (tr ("File type"), &menu); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
447 fileTypeAction.setCheckable (true); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
448 fileTypeAction.setChecked ( |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
449 settings->value ("filesdockwidget/showFileType",false).toBool ()); |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
450 connect (&fileTypeAction, SIGNAL(triggered ()), |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
451 this, SLOT (toggle_headercontextitem_filetype ())); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
452 menu.addAction (&fileTypeAction); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
453 |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
454 QAction dateModifiedAction (tr ("Date modified"), &menu); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
455 dateModifiedAction.setCheckable (true); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
456 dateModifiedAction.setChecked( |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
457 settings->value ("filesdockwidget/showLastModified",false).toBool ()); |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
458 connect (&dateModifiedAction, SIGNAL(triggered ()), |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
459 this, SLOT (toggle_headercontextitem_datemodified ())); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
460 menu.addAction (&dateModifiedAction); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
461 |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
462 QAction showHiddenAction (tr ("Show hidden"), &menu); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
463 showHiddenAction.setCheckable (true); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
464 showHiddenAction.setChecked ( |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
465 settings->value ("filesdockwidget/showHiddenFiles",false).toBool ()); |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
466 connect (&showHiddenAction, SIGNAL (triggered ()), |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
467 this, SLOT (toggle_headercontextitem_showhidden ())); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
468 menu.addAction (&showHiddenAction); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
469 |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
470 menu.exec (_file_tree_view->mapToGlobal (mpos)); |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
471 } |
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
472 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
473 void |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
474 files_dock_widget::contextmenu_requested (const QPoint& mpos) |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
475 { |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
476 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
477 QMenu menu (this); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
478 |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
479 QModelIndex index = _file_tree_view->indexAt (mpos); |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
480 //QAbstractItemModel *m = _file_tree_view->model (); |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
481 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
482 if (index.isValid ()) |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
483 { |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
484 QFileInfo info = _file_system_model->fileInfo (index); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
485 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
486 menu.addAction (QIcon (":/actions/icons/fileopen.png"), tr ("Open"), |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
487 this, SLOT (contextmenu_open (bool))); |
16594
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
488 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
489 menu.addAction (tr ("Open in Default Application"), |
16594
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
490 this, SLOT (contextmenu_open_in_app (bool))); |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
491 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
492 menu.addAction (tr ("Copy Selection to Clipboard"), |
16622
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
493 this, SLOT (contextmenu_copy_selection (bool))); |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
494 |
16515
87b78e75a2b9
gui: undo disabling menu entries in context menu of file browser
Torsten <ttl@justmail.de>
parents:
16510
diff
changeset
|
495 if (info.isFile () && info.suffix () == "m") |
87b78e75a2b9
gui: undo disabling menu entries in context menu of file browser
Torsten <ttl@justmail.de>
parents:
16510
diff
changeset
|
496 menu.addAction (QIcon (":/actions/icons/artsbuilderexecute.png"), |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
497 tr ("Run"), this, SLOT (contextmenu_run (bool))); |
16594
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
498 |
16515
87b78e75a2b9
gui: undo disabling menu entries in context menu of file browser
Torsten <ttl@justmail.de>
parents:
16510
diff
changeset
|
499 if (info.isFile ()) |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
500 menu.addAction (tr ("Load Data"), this, SLOT (contextmenu_load (bool))); |
16507
8cb12cf9ca32
gui: add icons to the context menu of the the file browser
Torsten <ttl@justmail.de>
parents:
16506
diff
changeset
|
501 |
16509
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
502 if (info.isDir ()) |
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
503 { |
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
504 menu.addSeparator (); |
16515
87b78e75a2b9
gui: undo disabling menu entries in context menu of file browser
Torsten <ttl@justmail.de>
parents:
16510
diff
changeset
|
505 menu.addAction (QIcon (":/actions/icons/ok.png"), |
87b78e75a2b9
gui: undo disabling menu entries in context menu of file browser
Torsten <ttl@justmail.de>
parents:
16510
diff
changeset
|
506 tr ("Set Current Directory"), |
16509
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
507 this, SLOT (contextmenu_setcurrentdir (bool))); |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
508 menu.addSeparator (); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
509 menu.addAction (tr ("Find Files ..."), this, |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
510 SLOT (contextmenu_findfiles (bool))); |
16509
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
511 } |
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
512 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
513 menu.addSeparator (); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
514 menu.addAction (tr ("Rename"), this, SLOT (contextmenu_rename (bool))); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
515 menu.addAction (QIcon (":/actions/icons/editdelete.png"), tr ("Delete"), |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
516 this, SLOT (contextmenu_delete (bool))); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
517 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
518 if (info.isDir ()) |
16515
87b78e75a2b9
gui: undo disabling menu entries in context menu of file browser
Torsten <ttl@justmail.de>
parents:
16510
diff
changeset
|
519 { |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
520 menu.addSeparator (); |
16515
87b78e75a2b9
gui: undo disabling menu entries in context menu of file browser
Torsten <ttl@justmail.de>
parents:
16510
diff
changeset
|
521 menu.addAction (QIcon (":/actions/icons/filenew.png"), |
87b78e75a2b9
gui: undo disabling menu entries in context menu of file browser
Torsten <ttl@justmail.de>
parents:
16510
diff
changeset
|
522 tr ("New File"), |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
523 this, SLOT (contextmenu_newfile (bool))); |
16515
87b78e75a2b9
gui: undo disabling menu entries in context menu of file browser
Torsten <ttl@justmail.de>
parents:
16510
diff
changeset
|
524 menu.addAction (QIcon (":/actions/icons/folder_new.png"), |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
525 tr ("New Directory"), |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
526 this, SLOT (contextmenu_newdir (bool))); |
16515
87b78e75a2b9
gui: undo disabling menu entries in context menu of file browser
Torsten <ttl@justmail.de>
parents:
16510
diff
changeset
|
527 } |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
528 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
529 menu.exec (_file_tree_view->mapToGlobal (mpos)); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
530 |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
531 } |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
532 } |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
533 |
16506
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
534 void |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
535 files_dock_widget::contextmenu_open (bool) |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
536 { |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
537 |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
538 QItemSelectionModel *m = _file_tree_view->selectionModel (); |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
539 QModelIndexList rows = m->selectedRows (); |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
540 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
541 for ( QModelIndexList::iterator it = rows.begin (); it != rows.end (); it++) |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
542 { |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
543 item_double_clicked (*it); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
544 } |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
545 } |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
546 |
16506
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
547 void |
16594
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
548 files_dock_widget::contextmenu_open_in_app (bool) |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
549 { |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
550 QItemSelectionModel *m = _file_tree_view->selectionModel (); |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
551 QModelIndexList rows = m->selectedRows (); |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
552 |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
553 for (QModelIndexList::iterator it = rows.begin (); it != rows.end (); it++) |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
554 open_item_in_app (*it); |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
555 } |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
556 |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
557 void |
16622
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
558 files_dock_widget::contextmenu_copy_selection (bool) |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
559 { |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
560 QItemSelectionModel *m = _file_tree_view->selectionModel (); |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
561 QModelIndexList rows = m->selectedRows (); |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
562 |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
563 QStringList selection; |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
564 |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
565 for (QModelIndexList::iterator it = rows.begin (); it != rows.end (); it++) |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
566 { |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
567 QFileInfo info = _file_system_model->fileInfo (*it); |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
568 |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
569 selection << info.fileName (); |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
570 } |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
571 |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
572 QClipboard *clipboard = QApplication::clipboard (); |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
573 |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
574 clipboard->setText (selection.join ("\n")); |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
575 } |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
576 |
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
577 void |
16504
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
578 files_dock_widget::contextmenu_load (bool) |
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
579 { |
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
580 QItemSelectionModel *m = _file_tree_view->selectionModel (); |
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
581 QModelIndexList rows = m->selectedRows (); |
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
582 |
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
583 if (rows.size () > 0) |
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
584 { |
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
585 QModelIndex index = rows[0]; |
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
586 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
587 QFileInfo info = _file_system_model->fileInfo (index); |
16504
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
588 |
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
589 emit load_file_signal (info.fileName ()); |
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
590 } |
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
591 } |
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
592 |
16506
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
593 void |
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
594 files_dock_widget::contextmenu_run (bool) |
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
595 { |
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
596 QItemSelectionModel *m = _file_tree_view->selectionModel (); |
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
597 QModelIndexList rows = m->selectedRows (); |
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
598 |
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
599 if (rows.size () > 0) |
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
600 { |
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
601 QModelIndex index = rows[0]; |
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
602 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
603 QFileInfo info = _file_system_model->fileInfo (index); |
16635
25e418d23a4b
fix running files from file browser's context menu
Torsten <ttl@justmail.de>
parents:
16622
diff
changeset
|
604 emit run_file_signal (info); |
16506
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
605 } |
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
606 } |
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
607 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
608 void |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
609 files_dock_widget::contextmenu_rename (bool) |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
610 { |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
611 QItemSelectionModel *m = _file_tree_view->selectionModel (); |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
612 QModelIndexList rows = m->selectedRows (); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
613 if (rows.size () > 0) |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
614 { |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
615 QModelIndex index = rows[0]; |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
616 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
617 QFileInfo info = _file_system_model->fileInfo (index); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
618 QDir path = info.absoluteDir (); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
619 QString old_name = info.fileName (); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
620 bool ok; |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
621 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
622 QString new_name |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
623 = QInputDialog::getText (this, tr ("Rename file/directory"), |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
624 tr ("Rename file/directory:\n") |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
625 + old_name + tr ("\n to: "), |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
626 QLineEdit::Normal, old_name, &ok); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
627 if (ok && new_name.length () > 0) |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
628 { |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
629 new_name = path.absolutePath () + "/" + new_name; |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
630 old_name = path.absolutePath () + "/" + old_name; |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
631 path.rename (old_name, new_name); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
632 _file_system_model->revert (); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
633 } |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
634 } |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
635 |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
636 } |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
637 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
638 void |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
639 files_dock_widget::contextmenu_delete (bool) |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
640 { |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
641 QItemSelectionModel *m = _file_tree_view->selectionModel (); |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
642 QModelIndexList rows = m->selectedRows (); |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
643 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
644 for ( QModelIndexList::iterator it = rows.begin (); it != rows.end (); it++) |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
645 { |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
646 QModelIndex index = *it; |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
647 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
648 QFileInfo info = _file_system_model->fileInfo (index); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
649 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
650 if (QMessageBox::question (this, tr ("Delete file/directory"), |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
651 tr ("Are you sure you want to delete\n") |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
652 + info.filePath (), |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
653 QMessageBox::Yes|QMessageBox::No) |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
654 == QMessageBox::Yes) |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
655 { |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
656 if (info.isDir ()) |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
657 { |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
658 // see if direcory is empty |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
659 QDir path (info.absoluteFilePath ()); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
660 QList<QFileInfo> fileLst = path.entryInfoList (QDir::AllEntries | |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
661 QDir::NoDotAndDotDot); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
662 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
663 if (fileLst.count () != 0) |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
664 QMessageBox::warning (this, tr ("Delete file/directory"), |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
665 tr ("Can not delete a directory that is not empty")); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
666 else |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
667 _file_system_model->rmdir (index); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
668 } |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
669 else |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
670 { |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
671 _file_system_model->remove (index); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
672 } |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
673 |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
674 _file_system_model->revert (); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
675 |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
676 } |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
677 } |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
678 } |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
679 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
680 void |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
681 files_dock_widget::contextmenu_newfile (bool) |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
682 { |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
683 QItemSelectionModel *m = _file_tree_view->selectionModel (); |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
684 QModelIndexList rows = m->selectedRows (); |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
685 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
686 if (rows.size () > 0) |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
687 { |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
688 QModelIndex index = rows[0]; |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
689 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
690 QFileInfo info = _file_system_model->fileInfo (index); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
691 QString parent_dir = info.filePath (); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
692 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
693 process_new_file (parent_dir); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
694 } |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
695 } |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
696 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
697 void |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
698 files_dock_widget::contextmenu_newdir (bool) |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
699 { |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
700 QItemSelectionModel *m = _file_tree_view->selectionModel (); |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
701 QModelIndexList rows = m->selectedRows (); |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
702 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
703 if (rows.size () > 0) |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
704 { |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
705 QModelIndex index = rows[0]; |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
706 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
707 QFileInfo info = _file_system_model->fileInfo (index); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
708 QString parent_dir = info.filePath (); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
709 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
710 process_new_dir (parent_dir); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
711 } |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
712 } |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
713 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
714 void |
16509
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
715 files_dock_widget::contextmenu_setcurrentdir (bool) |
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
716 { |
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
717 QItemSelectionModel *m = _file_tree_view->selectionModel (); |
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
718 QModelIndexList rows = m->selectedRows (); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
719 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
720 if (rows.size () > 0) |
16509
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
721 { |
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
722 QModelIndex index = rows[0]; |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
723 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
724 QFileInfo info = _file_system_model->fileInfo (index); |
16509
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
725 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
726 if (info.isDir ()) |
16509
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
727 { |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
728 process_set_current_dir (info.absoluteFilePath ()); |
16509
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
729 } |
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
730 } |
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
731 } |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
732 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
733 void |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
734 files_dock_widget::contextmenu_findfiles (bool) |
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
735 { |
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
736 QItemSelectionModel *m = _file_tree_view->selectionModel (); |
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
737 QModelIndexList rows = m->selectedRows (); |
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
738 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
739 if (rows.size () > 0) |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
740 { |
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
741 QModelIndex index = rows[0]; |
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
742 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
743 QFileInfo info = _file_system_model->fileInfo (index); |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
744 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
745 if (info.isDir ()) |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
746 { |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
747 process_find_files (info.absoluteFilePath ()); |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
748 } |
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
749 } |
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
750 } |
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
751 |
13536
869c62c15e95
Few minor improvements, added advanced settings for file browser.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13535
diff
changeset
|
752 void |
16413
28136851099a
remove _terminal pointer from main_window, it is contained by other Qt object
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16410
diff
changeset
|
753 files_dock_widget::notice_settings (const QSettings *settings) |
13536
869c62c15e95
Few minor improvements, added advanced settings for file browser.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13535
diff
changeset
|
754 { |
16413
28136851099a
remove _terminal pointer from main_window, it is contained by other Qt object
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
16410
diff
changeset
|
755 // Qsettings pointer is checked before emitting. |
15164
bc801a44bb1f
follow Octave pattern for resource_manager singleton
John W. Eaton <jwe@octave.org>
parents:
14812
diff
changeset
|
756 |
17988
d62570cfbab9
reduce default icon size to 16 pixel for larger working areas in the widgets
Torsten <ttl@justmail.de>
parents:
17985
diff
changeset
|
757 int icon_size = settings->value ("toolbar_icon_size",16).toInt (); |
16525
e192525236ad
configurable size of toolbar icons
Torsten <ttl@justmail.de>
parents:
16515
diff
changeset
|
758 if (icon_size > 16) |
e192525236ad
configurable size of toolbar icons
Torsten <ttl@justmail.de>
parents:
16515
diff
changeset
|
759 icon_size = icon_size - 4; |
e192525236ad
configurable size of toolbar icons
Torsten <ttl@justmail.de>
parents:
16515
diff
changeset
|
760 _navigation_tool_bar->setIconSize (QSize (icon_size,icon_size)); |
e192525236ad
configurable size of toolbar icons
Torsten <ttl@justmail.de>
parents:
16515
diff
changeset
|
761 |
16410
f62163bed4dc
gui: always show file names in file dock widget
Torsten <ttl@justmail.de>
parents:
16379
diff
changeset
|
762 // file names are always shown, other columns can be hidden by settings |
f62163bed4dc
gui: always show file names in file dock widget
Torsten <ttl@justmail.de>
parents:
16379
diff
changeset
|
763 _file_tree_view->setColumnHidden (0, false); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
764 _file_tree_view->setColumnHidden (1, |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
765 ! settings->value ("filesdockwidget/showFileSize",false).toBool ()); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
766 _file_tree_view->setColumnHidden (2, |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
767 ! settings->value ("filesdockwidget/showFileType",false).toBool ()); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
768 _file_tree_view->setColumnHidden (3, |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
769 ! settings->value ("filesdockwidget/showLastModified",false).toBool ()); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
770 _file_tree_view->setAlternatingRowColors ( |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
771 settings->value ("filesdockwidget/useAlternatingRowColors",true).toBool ()); |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
772 if (settings->value ("filesdockwidget/showHiddenFiles",false).toBool ()) |
16379
4bb1b82076e5
gui: provide defaults for all values read from the settings file
Torsten <ttl@justmail.de>
parents:
16175
diff
changeset
|
773 { |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
774 _file_system_model->setFilter (QDir::NoDotAndDotDot | QDir::AllEntries |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
775 | QDir::Hidden); |
16379
4bb1b82076e5
gui: provide defaults for all values read from the settings file
Torsten <ttl@justmail.de>
parents:
16175
diff
changeset
|
776 } |
17970
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
777 else |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
778 { |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
779 _file_system_model->setFilter (QDir::NoDotAndDotDot | QDir::AllEntries); |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
780 } |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
781 _file_tree_view->setModel (_file_system_model); |
f6e1be4ad923
Add functionality for showing/hiding hidden files in the file browser (bug #40636).
John Swensen <jpswensen@gmail.com>
parents:
17960
diff
changeset
|
782 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
783 // enable the buttons to sync octave/browser dir |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
784 // only if this is not done by default |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
785 _sync_octave_dir |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
786 = settings->value ("filesdockwidget/sync_octave_directory",false).toBool (); |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
787 _sync_octave_directory_action->setEnabled (!_sync_octave_dir); |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
788 _sync_browser_directory_action->setEnabled (!_sync_octave_dir); |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
789 |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
790 if (_sync_octave_dir) |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
791 display_directory (_octave_dir); // sync browser to octave dir |
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
792 |
13536
869c62c15e95
Few minor improvements, added advanced settings for file browser.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13535
diff
changeset
|
793 } |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
794 |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
795 void |
16762
42555422e326
Add Show home directory to files window popdown.
John Donoghue <john.donoghue@ieee.org>
parents:
16709
diff
changeset
|
796 files_dock_widget::popdownmenu_home (bool) |
42555422e326
Add Show home directory to files window popdown.
John Donoghue <john.donoghue@ieee.org>
parents:
16709
diff
changeset
|
797 { |
17008
21ed3e2c3be6
Use HOME environment var for show home folder in files_dock-widget when available
John Donoghue <john.donoghue@ieee.org>
parents:
16912
diff
changeset
|
798 QString dir = qgetenv ("HOME"); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
799 if (dir.isEmpty ()) |
17008
21ed3e2c3be6
Use HOME environment var for show home folder in files_dock-widget when available
John Donoghue <john.donoghue@ieee.org>
parents:
16912
diff
changeset
|
800 dir = QDir::homePath (); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
801 |
16762
42555422e326
Add Show home directory to files window popdown.
John Donoghue <john.donoghue@ieee.org>
parents:
16709
diff
changeset
|
802 set_current_directory (dir); |
42555422e326
Add Show home directory to files window popdown.
John Donoghue <john.donoghue@ieee.org>
parents:
16709
diff
changeset
|
803 } |
42555422e326
Add Show home directory to files window popdown.
John Donoghue <john.donoghue@ieee.org>
parents:
16709
diff
changeset
|
804 |
42555422e326
Add Show home directory to files window popdown.
John Donoghue <john.donoghue@ieee.org>
parents:
16709
diff
changeset
|
805 void |
16613
99a57611d58a
add menu for searching the next directory shown by the file browser
Torsten <ttl@justmail.de>
parents:
16611
diff
changeset
|
806 files_dock_widget::popdownmenu_search_dir (bool) |
99a57611d58a
add menu for searching the next directory shown by the file browser
Torsten <ttl@justmail.de>
parents:
16611
diff
changeset
|
807 { |
16709
1070f2ca1367
fix searching new directory for file browser
Torsten <ttl@justmail.de>
parents:
16699
diff
changeset
|
808 QString dir = QFileDialog::getExistingDirectory |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
809 (this, tr ("Set directory of file browser"), |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
810 _file_system_model->rootPath (), |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
811 QFileDialog::DontUseNativeDialog); |
16709
1070f2ca1367
fix searching new directory for file browser
Torsten <ttl@justmail.de>
parents:
16699
diff
changeset
|
812 set_current_directory (dir); |
16613
99a57611d58a
add menu for searching the next directory shown by the file browser
Torsten <ttl@justmail.de>
parents:
16611
diff
changeset
|
813 } |
99a57611d58a
add menu for searching the next directory shown by the file browser
Torsten <ttl@justmail.de>
parents:
16611
diff
changeset
|
814 |
99a57611d58a
add menu for searching the next directory shown by the file browser
Torsten <ttl@justmail.de>
parents:
16611
diff
changeset
|
815 void |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
816 files_dock_widget::popdownmenu_findfiles (bool) |
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
817 { |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
818 process_find_files (_file_system_model->rootPath ()); |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
819 } |
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
820 |
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
821 void |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
822 files_dock_widget::popdownmenu_newdir (bool) |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
823 { |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
824 process_new_dir (_file_system_model->rootPath ()); |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
825 } |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
826 |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
827 void |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
828 files_dock_widget::popdownmenu_newfile (bool) |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
829 { |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
830 process_new_file (_file_system_model->rootPath ()); |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
831 } |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
832 |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
833 void |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
834 files_dock_widget::process_new_file (const QString &parent_dir) |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
835 { |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
836 bool ok; |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
837 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
838 QString name = QInputDialog::getText (this, tr ("Create File"), |
18276
0b5f669f5b03
fix some translation issues (bug #41159)
Torsten <ttl@justmail.de>
parents:
17988
diff
changeset
|
839 tr ("Create file in\n","String ends with \\n!") + parent_dir, |
18308
12291fb903de
fix missing translations (bug #41200)
Torsten <ttl@justmail.de>
parents:
18286
diff
changeset
|
840 QLineEdit::Normal, tr ("New File.txt"), &ok); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
841 if (ok && name.length () > 0) |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
842 { |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
843 name = parent_dir + "/" + name; |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
844 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
845 QFile file (name); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
846 file.open (QIODevice::WriteOnly); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
847 _file_system_model->revert (); |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
848 } |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
849 } |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
850 |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
851 void |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
852 files_dock_widget::process_new_dir (const QString &parent_dir) |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
853 { |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
854 bool ok; |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
855 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
856 QString name = QInputDialog::getText (this, tr ("Create Directory"), |
18276
0b5f669f5b03
fix some translation issues (bug #41159)
Torsten <ttl@justmail.de>
parents:
17988
diff
changeset
|
857 tr ("Create folder in\n","String ends with \\n!") + parent_dir, |
18308
12291fb903de
fix missing translations (bug #41200)
Torsten <ttl@justmail.de>
parents:
18286
diff
changeset
|
858 QLineEdit::Normal, tr ("New Directory"), &ok); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
859 if (ok && name.length () > 0) |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
860 { |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
861 QDir dir (parent_dir); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
862 dir.mkdir (name); |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
863 _file_system_model->revert (); |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
864 } |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
865 } |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
866 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
867 void files_dock_widget::process_set_current_dir (const QString & dir) |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
868 { |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
869 emit displayed_directory_changed (dir); |
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
870 } |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
871 |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
872 void files_dock_widget::process_find_files (const QString & dir) |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
873 { |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
874 emit find_files_signal (dir); |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
875 } |
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
876 |
16881
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
877 void |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
878 files_dock_widget::copyClipboard () |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
879 { |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
880 if (_file_tree_view->hasFocus ()) |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
881 contextmenu_copy_selection (true); |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
882 if (_current_directory->hasFocus ()) |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
883 { |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
884 QClipboard *clipboard = QApplication::clipboard (); |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
885 |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
886 QLineEdit * edit = _current_directory->lineEdit (); |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
887 if (edit && edit->hasSelectedText ()) |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
888 { |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
889 clipboard->setText (edit->selectedText ()); |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
890 } |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
891 } |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
892 } |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
893 |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
894 void |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
895 files_dock_widget::pasteClipboard () |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
896 { |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
897 if (_current_directory->hasFocus ()) |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
898 { |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
899 QClipboard *clipboard = QApplication::clipboard (); |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
900 QString str = clipboard->text (); |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
901 QLineEdit * edit = _current_directory->lineEdit (); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
902 if (edit && str.length () > 0) |
16881
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
903 edit->insert (str); |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
904 } |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
905 } |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
906 |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
907 |
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
908 |