Mercurial > octave
annotate libgui/src/files-dock-widget.cc @ 27956:2310164737b3 stable
fix many spelling errors (bug #57613)
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 17 Jan 2020 13:15:27 -0600 |
parents | 00f796120a6d |
children | c20b7290c778 |
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 |
26376
00f796120a6d
maint: Update copyright dates in all source files.
John W. Eaton <jwe@octave.org>
parents:
26368
diff
changeset
|
3 Copyright (C) 2013-2019 John P. Swensen |
00f796120a6d
maint: Update copyright dates in all source files.
John W. Eaton <jwe@octave.org>
parents:
26368
diff
changeset
|
4 Copyright (C) 2011-2019 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 |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24094
diff
changeset
|
8 Octave is free software: you can redistribute it and/or modify it |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22524
diff
changeset
|
9 under the terms of the GNU General Public License as published by |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24094
diff
changeset
|
10 the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22524
diff
changeset
|
11 (at your option) any later version. |
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
12 |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22524
diff
changeset
|
13 Octave is distributed in the hope that it will be useful, but |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22524
diff
changeset
|
14 WITHOUT ANY WARRANTY; without even the implied warranty of |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22524
diff
changeset
|
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22524
diff
changeset
|
16 GNU General Public License for more details. |
15204
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 |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24094
diff
changeset
|
20 <https://www.gnu.org/licenses/>. |
15204
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 |
21724
aba2e6293dd8
use "#if ..." consistently instead of "#ifdef" and "#ifndef"
John W. Eaton <jwe@octave.org>
parents:
21662
diff
changeset
|
24 #if defined (HAVE_CONFIG_H) |
21301
40de9f8f23a6
Use '#include "config.h"' rather than <config.h>.
Rik <rik@octave.org>
parents:
21203
diff
changeset
|
25 # include "config.h" |
15286
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 |
25851
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
28 #include "gui-preferences.h" |
14707
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
29 #include "resource-manager.h" |
16460
4d4e7c6f839d
use consistent names for dock-widget files
John W. Eaton <jwe@octave.org>
parents:
16455
diff
changeset
|
30 #include "files-dock-widget.h" |
13501 | 31 |
32 #include <QApplication> | |
16622
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
33 #include <QClipboard> |
13501 | 34 #include <QFileInfo> |
35 #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
|
36 #include <QProcess> |
13539
a4b5cad8f7c6
Added command line parser class.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13537
diff
changeset
|
37 #include <QDebug> |
15461
1e64aff609c3
save/restore column state and sorting (column and order) in files-widget
Torsten <ttl@justmail.de>
parents:
15368
diff
changeset
|
38 #include <QHeaderView> |
16498
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
39 #include <QLineEdit> |
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
40 #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
|
41 #include <QMenu> |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
42 #include <QInputDialog> |
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
43 #include <QMessageBox> |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
44 #include <QToolButton> |
16594
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
45 #include <QUrl> |
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
46 #include <QDesktopServices> |
16613
99a57611d58a
add menu for searching the next directory shown by the file browser
Torsten <ttl@justmail.de>
parents:
16611
diff
changeset
|
47 #include <QFileDialog> |
13501 | 48 |
16555
04fb96f4bea1
allow double-click in file browser to load data files
John W. Eaton <jwe@octave.org>
parents:
16542
diff
changeset
|
49 #include "load-save.h" |
20017
4b7b7ac7af2c
use get_home_directory instead of getenv ("HOME") (bug #44694)
John W. Eaton <jwe@octave.org>
parents:
20000
diff
changeset
|
50 #include "oct-env.h" |
16555
04fb96f4bea1
allow double-click in file browser to load data files
John W. Eaton <jwe@octave.org>
parents:
16542
diff
changeset
|
51 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
52 namespace octave |
15461
1e64aff609c3
save/restore column state and sorting (column and order) in files-widget
Torsten <ttl@justmail.de>
parents:
15368
diff
changeset
|
53 { |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
54 class FileTreeViewer : public QTreeView |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
55 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
56 public: |
22177
6e9f5408c0db
Save settings in Qt convention, delete all children in destructors (bug #45366)
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
22022
diff
changeset
|
57 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
58 FileTreeViewer (QWidget *p) : QTreeView (p) { } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
59 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
60 ~FileTreeViewer (void) = default; |
22177
6e9f5408c0db
Save settings in Qt convention, delete all children in destructors (bug #45366)
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
22022
diff
changeset
|
61 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
62 void mousePressEvent (QMouseEvent *e) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
63 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
64 if (e->button () != Qt::RightButton) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
65 QTreeView::mousePressEvent (e); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
66 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
67 }; |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
68 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
69 files_dock_widget::files_dock_widget (QWidget *p) |
25355
5bb07f6e3707
fix uninitialized settings of octave dock widgets at startup (bug #53835)
Torsten <mttl@mailbox.org>
parents:
25354
diff
changeset
|
70 : octave_dock_widget ("FilesDockWidget", p) |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
71 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
72 setWindowIcon (QIcon (":/actions/icons/logo.png")); |
25508
3edae6ba1fcd
use a custom title bar widget for the main dock widgets
Torsten <mttl@mailbox.org>
parents:
25408
diff
changeset
|
73 set_title (tr ("File Browser")); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
74 setToolTip (tr ("Browse your files")); |
16498
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
75 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
76 m_sig_mapper = nullptr; |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
77 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
78 m_columns_shown = QStringList (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
79 m_columns_shown.append (tr ("File size")); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
80 m_columns_shown.append (tr ("File type")); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
81 m_columns_shown.append (tr ("Date modified")); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
82 m_columns_shown.append (tr ("Show hidden")); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
83 m_columns_shown.append (tr ("Alternating row colors")); |
16498
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
84 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
85 m_columns_shown_keys = QStringList (); |
25851
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
86 m_columns_shown_keys.append (fb_show_size.key); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
87 m_columns_shown_keys.append (fb_show_type.key); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
88 m_columns_shown_keys.append (fb_show_date.key); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
89 m_columns_shown_keys.append (fb_show_hidden.key); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
90 m_columns_shown_keys.append (fb_show_altcol.key); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
91 |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
92 m_columns_shown_defs = QList <QVariant> (); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
93 m_columns_shown_defs.append (fb_show_size.def); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
94 m_columns_shown_defs.append (fb_show_type.def); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
95 m_columns_shown_defs.append (fb_show_date.def); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
96 m_columns_shown_defs.append (fb_show_hidden.def); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
97 m_columns_shown_defs.append (fb_show_altcol.def); |
22177
6e9f5408c0db
Save settings in Qt convention, delete all children in destructors (bug #45366)
Daniel J Sebald <daniel.sebald@ieee.org>
parents:
22022
diff
changeset
|
98 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
99 QWidget *container = new QWidget (this); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
100 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
101 setWidget (container); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
102 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
103 connect (this, SIGNAL (open_file (const QString&)), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
104 main_win (), SLOT (open_file (const QString&))); |
15461
1e64aff609c3
save/restore column state and sorting (column and order) in files-widget
Torsten <ttl@justmail.de>
parents:
15368
diff
changeset
|
105 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
106 connect (this, SIGNAL (displayed_directory_changed (const QString&)), |
25103
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
107 main_win (), |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
108 SLOT (set_current_working_directory (const QString&))); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
109 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
110 // Create a toolbar |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
111 m_navigation_tool_bar = new QToolBar ("", container); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
112 m_navigation_tool_bar->setAllowedAreas (Qt::TopToolBarArea); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
113 m_navigation_tool_bar->setMovable (false); |
13501 | 114 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
115 m_current_directory = new QComboBox (m_navigation_tool_bar); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
116 m_current_directory->setToolTip (tr ("Enter the path or filename")); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
117 m_current_directory->setEditable (true); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
118 m_current_directory->setMaxCount (MaxMRUDirs); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
119 m_current_directory->setInsertPolicy (QComboBox::NoInsert); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
120 m_current_directory->setSizeAdjustPolicy ( |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
121 QComboBox::AdjustToMinimumContentsLengthWithIcon); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
122 QSizePolicy sizePol (QSizePolicy::Expanding, QSizePolicy::Preferred); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
123 m_current_directory->setSizePolicy (sizePol); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
124 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
125 QAction *directory_up_action = new QAction (resource_manager::icon ("go-up"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
126 "", m_navigation_tool_bar); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
127 directory_up_action->setToolTip (tr ("One directory up")); |
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
|
128 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
129 m_sync_browser_directory_action |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
130 = new QAction (resource_manager::icon ("go-first"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
131 tr ("Show Octave directory"), m_navigation_tool_bar); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
132 m_sync_browser_directory_action->setToolTip ( |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
133 tr ("Go to current Octave directory")); |
26368
7a6f7a81ccd0
files-dock-widget.cc: Fix static analyzer detected V601 issue (bug #55347)
Andreas Weber <octave@josoansi.de>
parents:
26300
diff
changeset
|
134 m_sync_browser_directory_action->setEnabled (false); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
135 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
136 m_sync_octave_directory_action |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
137 = new QAction (resource_manager::icon ("go-last"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
138 tr ("Set Octave directory"), m_navigation_tool_bar); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
139 m_sync_octave_directory_action->setToolTip ( |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
140 tr ("Set Octave directory to current browser directory")); |
26368
7a6f7a81ccd0
files-dock-widget.cc: Fix static analyzer detected V601 issue (bug #55347)
Andreas Weber <octave@josoansi.de>
parents:
26300
diff
changeset
|
141 m_sync_octave_directory_action->setEnabled (false); |
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
|
142 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
143 QToolButton *popdown_button = new QToolButton (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
144 popdown_button->setToolTip (tr ("Actions on current directory")); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
145 QMenu *popdown_menu = new QMenu (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
146 popdown_menu->addAction (resource_manager::icon ("user-home"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
147 tr ("Show Home Directory"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
148 this, SLOT (popdownmenu_home (bool))); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
149 popdown_menu->addAction (m_sync_browser_directory_action); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
150 popdown_menu->addAction (m_sync_octave_directory_action); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
151 popdown_button->setMenu (popdown_menu); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
152 popdown_button->setPopupMode (QToolButton::InstantPopup); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
153 popdown_button->setDefaultAction (new QAction ( |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
154 resource_manager::icon ("applications-system"), "", |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
155 m_navigation_tool_bar)); |
13501 | 156 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
157 popdown_menu->addSeparator (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
158 popdown_menu->addAction (resource_manager::icon ("folder"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
159 tr ("Set Browser Directory..."), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
160 this, SLOT (popdownmenu_search_dir (bool))); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
161 popdown_menu->addSeparator (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
162 popdown_menu->addAction (resource_manager::icon ("edit-find"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
163 tr ("Find Files..."), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
164 this, SLOT (popdownmenu_findfiles (bool))); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
165 popdown_menu->addSeparator (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
166 popdown_menu->addAction (resource_manager::icon ("document-new"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
167 tr ("New File..."), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
168 this, SLOT (popdownmenu_newfile (bool))); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
169 popdown_menu->addAction (resource_manager::icon ("folder-new"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
170 tr ("New Directory..."), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
171 this, SLOT (popdownmenu_newdir (bool))); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
172 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
173 m_navigation_tool_bar->addWidget (m_current_directory); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
174 m_navigation_tool_bar->addAction (directory_up_action); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
175 m_navigation_tool_bar->addWidget (popdown_button); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
176 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
177 connect (directory_up_action, SIGNAL (triggered ()), this, |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
178 SLOT (change_directory_up ())); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
179 connect (m_sync_octave_directory_action, SIGNAL (triggered ()), this, |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
180 SLOT (do_sync_octave_directory ())); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
181 connect (m_sync_browser_directory_action, SIGNAL (triggered ()), this, |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
182 SLOT (do_sync_browser_directory ())); |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
183 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
184 QSettings *settings = resource_manager::get_settings (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
185 // FIXME: what should happen if settings is 0? |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
186 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
187 // Create the QFileSystemModel starting in the desired directory |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
188 QDir startup_dir; // take current dir |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
189 |
25851
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
190 if (settings->value (fb_restore_last_dir.key, |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
191 fb_restore_last_dir.def).toBool ()) |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
192 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
193 // restore last dir from previous session |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
194 QStringList last_dirs |
25851
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
195 = settings->value (fb_mru_list.key).toStringList (); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
196 if (last_dirs.length () > 0) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
197 startup_dir = QDir (last_dirs.at (0)); // last dir in previous session |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
198 } |
25851
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
199 else if (! settings->value (fb_startup_dir.key, fb_startup_dir.def) |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
200 .toString ().isEmpty ()) |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
201 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
202 // do not restore but there is a startup dir configured |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
203 startup_dir |
25851
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
204 = QDir (settings->value (fb_startup_dir.key).toString ()); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
205 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
206 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
207 if (! startup_dir.exists ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
208 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
209 // the configured startup dir does not exist, take actual one |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
210 startup_dir = QDir (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
211 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
212 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
213 m_file_system_model = new QFileSystemModel (this); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
214 QModelIndex rootPathIndex = m_file_system_model->setRootPath ( |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
215 startup_dir.absolutePath ()); |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
216 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
217 // Attach the model to the QTreeView and set the root index |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
218 m_file_tree_view = new FileTreeViewer (container); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
219 m_file_tree_view->setSelectionMode (QAbstractItemView::ExtendedSelection); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
220 m_file_tree_view->setModel (m_file_system_model); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
221 m_file_tree_view->setRootIndex (rootPathIndex); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
222 m_file_tree_view->setSortingEnabled (true); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
223 m_file_tree_view->setAlternatingRowColors (true); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
224 m_file_tree_view->setAnimated (true); |
26300
ef7f95f89407
updated language files for translation (bug #55279)
Torsten <mttl@mailbox.org>
parents:
26096
diff
changeset
|
225 m_file_tree_view->setToolTip (tr ("Double-click to open file/folder, right click for alternatives")); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
226 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
227 // get sort column and order as well as cloumn state (order and width) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
228 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
229 m_file_tree_view->sortByColumn ( |
25851
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
230 settings->value (fb_sort_column.key, fb_sort_column.def).toInt (), |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
231 static_cast<Qt::SortOrder> ( |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
232 settings->value (fb_sort_order.key, fb_sort_order.def).toUInt ())); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
233 |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
234 if (settings->contains (fb_column_state.key)) |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
235 m_file_tree_view->header ()->restoreState ( |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
236 settings->value (fb_column_state.key).toByteArray ()); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
237 |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
238 // Set header properties for sorting |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
239 #if defined (HAVE_QHEADERVIEW_SETSECTIONSCLICKABLE) |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
240 m_file_tree_view->header ()->setSectionsClickable (true); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
241 #else |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
242 m_file_tree_view->header ()->setClickable (true); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
243 #endif |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
244 #if defined (HAVE_QHEADERVIEW_SETSECTIONSMOVABLE) |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
245 m_file_tree_view->header ()->setSectionsMovable (true); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
246 #else |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
247 m_file_tree_view->header ()->setMovable (true); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
248 #endif |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
249 m_file_tree_view->header ()->setSortIndicatorShown (true); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
250 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
251 QStringList mru_dirs = |
25851
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
252 settings->value (fb_mru_list.key).toStringList (); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
253 m_current_directory->addItems (mru_dirs); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
254 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
255 m_current_directory->setEditText ( |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
256 m_file_system_model->fileInfo (rootPathIndex). absoluteFilePath ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
257 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
258 connect (m_file_tree_view, SIGNAL (activated (const QModelIndex &)), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
259 this, SLOT (item_double_clicked (const QModelIndex &))); |
16498
605d7f0ee0d8
Added Filesdockwidget recently viewed directory pulldownlist
John Donoghue <john.donoghue@ieee.org>
parents:
16487
diff
changeset
|
260 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
261 // add context menu to tree_view |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
262 m_file_tree_view->setContextMenuPolicy (Qt::CustomContextMenu); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
263 connect (m_file_tree_view, |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
264 SIGNAL (customContextMenuRequested (const QPoint &)), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
265 this, SLOT (contextmenu_requested (const QPoint &))); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
266 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
267 m_file_tree_view->header ()->setContextMenuPolicy (Qt::CustomContextMenu); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
268 connect (m_file_tree_view->header (), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
269 SIGNAL (customContextMenuRequested (const QPoint &)), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
270 this, SLOT (headercontextmenu_requested (const QPoint &))); |
16555
04fb96f4bea1
allow double-click in file browser to load data files
John W. Eaton <jwe@octave.org>
parents:
16542
diff
changeset
|
271 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
272 // Layout the widgets vertically with the toolbar on top |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
273 QVBoxLayout *vbox_layout = new QVBoxLayout (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
274 vbox_layout->setSpacing (0); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
275 vbox_layout->addWidget (m_navigation_tool_bar); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
276 vbox_layout->addWidget (m_file_tree_view); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
277 vbox_layout->setMargin (1); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
278 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
279 container->setLayout (vbox_layout); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
280 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
281 // FIXME: Add right-click contextual menus for copying, pasting, |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
282 // deleting files (and others). |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
283 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
284 connect (m_current_directory->lineEdit (), SIGNAL (returnPressed ()), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
285 this, SLOT (accept_directory_line_edit ())); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
286 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
287 connect (m_current_directory, SIGNAL (activated (const QString &)), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
288 this, SLOT (set_current_directory (const QString &))); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
289 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
290 connect (this, SIGNAL (run_file_signal (const QFileInfo&)), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
291 main_win (), SLOT (run_file_in_terminal (const QFileInfo&))); |
20706
fec7cc73507b
Make the file browser open files more consistently (bug #45844)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
20646
diff
changeset
|
292 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
293 QCompleter *completer = new QCompleter (m_file_system_model, this); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
294 m_current_directory->setCompleter (completer); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
295 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
296 setFocusProxy (m_current_directory); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
297 |
27956
2310164737b3
fix many spelling errors (bug #57613)
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
298 m_sync_octave_dir = true; // default, overwritten with notice_settings () |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
299 m_octave_dir = ""; |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
300 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
301 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
302 void files_dock_widget::save_settings (void) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
303 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
304 QSettings *settings = resource_manager::get_settings (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
305 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
306 if (! settings) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
307 return; |
13536
869c62c15e95
Few minor improvements, added advanced settings for file browser.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13535
diff
changeset
|
308 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
309 int sort_column = m_file_tree_view->header ()->sortIndicatorSection (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
310 Qt::SortOrder sort_order = m_file_tree_view->header ()->sortIndicatorOrder (); |
25851
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
311 settings->setValue (fb_sort_column.key, sort_column); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
312 settings->setValue (fb_sort_order.key, sort_order); |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
313 settings->setValue (fb_column_state.key, m_file_tree_view->header ()->saveState ()); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
314 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
315 QStringList dirs; |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
316 for (int i=0; i< m_current_directory->count (); i++) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
317 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
318 dirs.append (m_current_directory->itemText (i)); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
319 } |
25851
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
320 settings->setValue (fb_mru_list.key, dirs); |
16594
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
321 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
322 settings->sync (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
323 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
324 octave_dock_widget::save_settings (); |
16594
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
325 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
326 if (m_sig_mapper) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
327 delete m_sig_mapper; |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
328 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
329 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
330 void files_dock_widget::item_double_clicked (const QModelIndex& index) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
331 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
332 // Retrieve the file info associated with the model index. |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
333 QFileInfo fileInfo = m_file_system_model->fileInfo (index); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
334 set_current_directory (fileInfo.absoluteFilePath ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
335 } |
16594
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
336 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
337 void files_dock_widget::set_current_directory (const QString& dir) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
338 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
339 display_directory (dir); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
340 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
341 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
342 void files_dock_widget::accept_directory_line_edit (void) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
343 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
344 display_directory (m_current_directory->currentText ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
345 } |
20642
3e449f43e708
revised code for header context menu in file browser
Torsten <ttl@justmail.de>
parents:
20017
diff
changeset
|
346 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
347 void files_dock_widget::change_directory_up (void) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
348 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
349 QDir dir |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
350 = QDir (m_file_system_model->filePath (m_file_tree_view->rootIndex ())); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
351 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
352 dir.cdUp (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
353 display_directory (dir.absolutePath ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
354 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
355 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
356 void files_dock_widget::do_sync_octave_directory (void) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
357 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
358 QDir dir |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
359 = QDir (m_file_system_model->filePath (m_file_tree_view->rootIndex ())); |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
360 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
361 emit displayed_directory_changed (dir.absolutePath ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
362 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
363 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
364 void files_dock_widget::do_sync_browser_directory (void) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
365 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
366 display_directory (m_octave_dir,false); // false: no sync of octave dir |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
367 } |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
368 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
369 void files_dock_widget::update_octave_directory (const QString& dir) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
370 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
371 m_octave_dir = dir; |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
372 if (m_sync_octave_dir) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
373 display_directory (m_octave_dir,false); // false: no sync of octave dir |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
374 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
375 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
376 void files_dock_widget::display_directory (const QString& dir, bool set_octave_dir) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
377 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
378 QFileInfo fileInfo (dir); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
379 if (fileInfo.exists ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
380 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
381 if (fileInfo.isDir ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
382 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
383 m_file_tree_view->setRootIndex (m_file_system_model-> |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
384 index (fileInfo.absoluteFilePath ())); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
385 m_file_system_model->setRootPath (fileInfo.absoluteFilePath ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
386 if (m_sync_octave_dir && set_octave_dir) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
387 process_set_current_dir (fileInfo.absoluteFilePath ()); |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
388 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
389 // see if its in the list, and if it is, |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
390 // remove it and then, put at top of the list |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
391 int index |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
392 = m_current_directory->findText (fileInfo.absoluteFilePath ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
393 if (index != -1) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
394 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
395 m_current_directory->removeItem (index); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
396 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
397 m_current_directory->insertItem (0, fileInfo.absoluteFilePath ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
398 m_current_directory->setCurrentIndex (0); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
399 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
400 else |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
401 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
402 QString abs_fname = fileInfo.absoluteFilePath (); |
20642
3e449f43e708
revised code for header context menu in file browser
Torsten <ttl@justmail.de>
parents:
20017
diff
changeset
|
403 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
404 QString suffix = fileInfo.suffix ().toLower (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
405 QSettings *settings = resource_manager::get_settings (); |
25851
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
406 QString ext = settings->value (fb_txt_file_ext.key, |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
407 fb_txt_file_ext.def).toString (); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
408 QStringList extensions = ext.split (";", QString::SkipEmptyParts); |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
409 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
410 if (QFile::exists (abs_fname)) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
411 { |
25408
ce725103ebf1
Fallback to open.m for opening files in the gui file browser (bug #50543)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25355
diff
changeset
|
412 if (extensions.contains (suffix)) |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
413 emit open_file (fileInfo.absoluteFilePath ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
414 else |
25408
ce725103ebf1
Fallback to open.m for opening files in the gui file browser (bug #50543)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
25355
diff
changeset
|
415 emit open_any_signal (abs_fname); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
416 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
417 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
418 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
419 } |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
420 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
421 void files_dock_widget::open_item_in_app (const QModelIndex& index) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
422 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
423 // Retrieve the file info associated with the model index. |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
424 QFileInfo fileInfo = m_file_system_model->fileInfo (index); |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
425 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
426 QString file = fileInfo.absoluteFilePath (); |
17960
225c7be94c5f
Added a context menu changing the visible columns in the file browser
John Swensen <jpswensen@gmail.com>
parents:
17935
diff
changeset
|
427 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
428 QDesktopServices::openUrl (QUrl::fromLocalFile (file)); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
429 } |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
430 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
431 void files_dock_widget::toggle_header (int col) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
432 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
433 QSettings *settings = resource_manager::get_settings (); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
434 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
435 QString key = m_columns_shown_keys.at (col); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
436 bool shown = settings->value (key,false).toBool (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
437 settings->setValue (key, ! shown); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
438 settings->sync (); |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
439 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
440 switch (col) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
441 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
442 case 0: |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
443 case 1: |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
444 case 2: |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
445 // toggle column visibility |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
446 m_file_tree_view->setColumnHidden (col + 1, shown); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
447 break; |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
448 case 3: |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
449 case 4: |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
450 // other actions depending on new settings |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
451 notice_settings (settings); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
452 break; |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
453 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
454 } |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
455 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
456 void files_dock_widget::headercontextmenu_requested (const QPoint& mpos) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
457 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
458 QMenu menu (this); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
459 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
460 if (m_sig_mapper) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
461 delete m_sig_mapper; |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
462 m_sig_mapper = new QSignalMapper (this); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
463 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
464 QSettings *settings = resource_manager::get_settings (); |
18387
f1312db94896
apply the context menu of the file browser to the correct item (bug #41430)
Torsten <ttl@justmail.de>
parents:
18261
diff
changeset
|
465 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
466 for (int i = 0; i < m_columns_shown.size (); i++) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
467 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
468 QAction *action = menu.addAction (m_columns_shown.at (i), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
469 m_sig_mapper, SLOT (map ())); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
470 m_sig_mapper->setMapping (action, i); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
471 action->setCheckable (true); |
25851
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
472 action->setChecked (settings->value ( |
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
473 m_columns_shown_keys.at (i), m_columns_shown_defs.at (i)).toBool ()); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
474 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
475 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
476 connect (m_sig_mapper, SIGNAL (mapped (int)), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
477 this, SLOT (toggle_header (int))); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
478 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
479 menu.exec (m_file_tree_view->mapToGlobal (mpos)); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
480 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
481 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
482 void files_dock_widget::contextmenu_requested (const QPoint& mpos) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
483 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
484 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
485 QMenu menu (this); |
18387
f1312db94896
apply the context menu of the file browser to the correct item (bug #41430)
Torsten <ttl@justmail.de>
parents:
18261
diff
changeset
|
486 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
487 QModelIndex index = m_file_tree_view->indexAt (mpos); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
488 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
489 if (index.isValid ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
490 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
491 QFileInfo info = m_file_system_model->fileInfo (index); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
492 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
493 QItemSelectionModel *m = m_file_tree_view->selectionModel (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
494 QModelIndexList sel = m->selectedRows (); |
16594
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
495 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
496 // check if item at mouse position is seleccted |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
497 if (! sel.contains (index)) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
498 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
499 // is not selected -> clear actual selection and select this item |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
500 m->setCurrentIndex (index, |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
501 QItemSelectionModel::Clear |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
502 | QItemSelectionModel::Select |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
503 | QItemSelectionModel::Rows); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
504 } |
20706
fec7cc73507b
Make the file browser open files more consistently (bug #45844)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
20646
diff
changeset
|
505 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
506 // construct the context menu depending on item |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
507 menu.addAction (resource_manager::icon ("document-open"), tr ("Open"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
508 this, SLOT (contextmenu_open (bool))); |
20706
fec7cc73507b
Make the file browser open files more consistently (bug #45844)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
20646
diff
changeset
|
509 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
510 if (info.isDir ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
511 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
512 menu.addAction (tr ("Open in System File Explorer"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
513 this, SLOT (contextmenu_open_in_app (bool))); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
514 } |
16622
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
515 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
516 if (info.isFile ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
517 menu.addAction (tr ("Open in Text Editor"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
518 this, SLOT (contextmenu_open_in_editor (bool))); |
16507
8cb12cf9ca32
gui: add icons to the context menu of the the file browser
Torsten <ttl@justmail.de>
parents:
16506
diff
changeset
|
519 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
520 menu.addAction (tr ("Copy Selection to Clipboard"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
521 this, SLOT (contextmenu_copy_selection (bool))); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
522 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
523 if (info.isFile () && info.suffix () == "m") |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
524 menu.addAction (resource_manager::icon ("media-playback-start"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
525 tr ("Run"), this, SLOT (contextmenu_run (bool))); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
526 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
527 if (info.isFile ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
528 menu.addAction (tr ("Load Data"), this, SLOT (contextmenu_load (bool))); |
16509
14045b872a3d
Add set current directory context menu to file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16507
diff
changeset
|
529 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
530 if (info.isDir ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
531 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
532 menu.addSeparator (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
533 menu.addAction (resource_manager::icon ("go-first"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
534 tr ("Set Current Directory"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
535 this, SLOT (contextmenu_setcurrentdir (bool))); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
536 menu.addSeparator (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
537 menu.addAction (resource_manager::icon ("edit-find"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
538 tr ("Find Files..."), this, |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
539 SLOT (contextmenu_findfiles (bool))); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
540 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
541 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
542 menu.addSeparator (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
543 menu.addAction (tr ("Rename..."), this, SLOT (contextmenu_rename (bool))); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
544 menu.addAction (resource_manager::icon ("edit-delete"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
545 tr ("Delete..."), 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
|
546 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
547 if (info.isDir ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
548 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
549 menu.addSeparator (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
550 menu.addAction (resource_manager::icon ("document-new"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
551 tr ("New File..."), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
552 this, SLOT (contextmenu_newfile (bool))); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
553 menu.addAction (resource_manager::icon ("folder-new"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
554 tr ("New Directory..."), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
555 this, SLOT (contextmenu_newdir (bool))); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
556 } |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
557 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
558 // show the menu |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
559 menu.exec (m_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
|
560 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
561 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
562 } |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
563 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
564 void files_dock_widget::contextmenu_open (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
565 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
566 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
567 QItemSelectionModel *m = m_file_tree_view->selectionModel (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
568 QModelIndexList rows = m->selectedRows (); |
20706
fec7cc73507b
Make the file browser open files more consistently (bug #45844)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
20646
diff
changeset
|
569 |
25337
3ff9192b676e
use auto keyword to declare iterator variables where possible
John W. Eaton <jwe@octave.org>
parents:
25336
diff
changeset
|
570 for (auto it = rows.begin (); it != rows.end (); it++) |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
571 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
572 QFileInfo file = m_file_system_model->fileInfo (*it); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
573 if (file.exists ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
574 display_directory (file.absoluteFilePath ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
575 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
576 } |
20706
fec7cc73507b
Make the file browser open files more consistently (bug #45844)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
20646
diff
changeset
|
577 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
578 void files_dock_widget::contextmenu_open_in_editor (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
579 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
580 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
581 QItemSelectionModel *m = m_file_tree_view->selectionModel (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
582 QModelIndexList rows = m->selectedRows (); |
20706
fec7cc73507b
Make the file browser open files more consistently (bug #45844)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
20646
diff
changeset
|
583 |
25337
3ff9192b676e
use auto keyword to declare iterator variables where possible
John W. Eaton <jwe@octave.org>
parents:
25336
diff
changeset
|
584 for (auto it = rows.begin (); it != rows.end (); it++) |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
585 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
586 QFileInfo file = m_file_system_model->fileInfo (*it); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
587 if (file.exists ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
588 emit open_file (file.absoluteFilePath ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
589 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
590 } |
16594
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
591 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
592 void files_dock_widget::contextmenu_open_in_app (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
593 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
594 QItemSelectionModel *m = m_file_tree_view->selectionModel (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
595 QModelIndexList rows = m->selectedRows (); |
16594
3ce0c312a40b
contextmenu for opening files in default applications
John W. Eaton <jwe@octave.org>
parents:
16570
diff
changeset
|
596 |
25337
3ff9192b676e
use auto keyword to declare iterator variables where possible
John W. Eaton <jwe@octave.org>
parents:
25336
diff
changeset
|
597 for (auto it = rows.begin (); it != rows.end (); it++) |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
598 open_item_in_app (*it); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
599 } |
16622
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
600 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
601 void files_dock_widget::contextmenu_copy_selection (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
602 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
603 QItemSelectionModel *m = m_file_tree_view->selectionModel (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
604 QModelIndexList rows = m->selectedRows (); |
16622
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
605 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
606 QStringList selection; |
16622
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
607 |
25337
3ff9192b676e
use auto keyword to declare iterator variables where possible
John W. Eaton <jwe@octave.org>
parents:
25336
diff
changeset
|
608 for (auto it = rows.begin (); it != rows.end (); it++) |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
609 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
610 QFileInfo info = m_file_system_model->fileInfo (*it); |
16622
38fef1e833ea
handle copying names file browser to clipboard; allow multiple selections
John W. Eaton <jwe@octave.org>
parents:
16613
diff
changeset
|
611 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
612 selection << info.fileName (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
613 } |
16504
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
614 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
615 QClipboard *clipboard = QApplication::clipboard (); |
16504
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
616 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
617 clipboard->setText (selection.join ("\n")); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
618 } |
16504
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
619 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
620 void files_dock_widget::contextmenu_load (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
621 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
622 QItemSelectionModel *m = m_file_tree_view->selectionModel (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
623 QModelIndexList rows = m->selectedRows (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
624 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
625 if (rows.size () > 0) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
626 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
627 QModelIndex index = rows[0]; |
16504
49b059bf27c7
allow loading files from file browser
John W. Eaton <jwe@octave.org>
parents:
16503
diff
changeset
|
628 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
629 QFileInfo info = m_file_system_model->fileInfo (index); |
16506
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
630 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
631 emit load_file_signal (info.fileName ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
632 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
633 } |
16506
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
634 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
635 void files_dock_widget::contextmenu_run (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
636 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
637 QItemSelectionModel *m = m_file_tree_view->selectionModel (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
638 QModelIndexList rows = m->selectedRows (); |
16506
8a4960f2c7c3
gui: allow running files from the file browser
Torsten <ttl@justmail.de>
parents:
16504
diff
changeset
|
639 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
640 if (rows.size () > 0) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
641 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
642 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
|
643 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
644 QFileInfo info = m_file_system_model->fileInfo (index); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
645 emit run_file_signal (info); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
646 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
647 } |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
648 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
649 void files_dock_widget::contextmenu_rename (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
650 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
651 QItemSelectionModel *m = m_file_tree_view->selectionModel (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
652 QModelIndexList rows = m->selectedRows (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
653 if (rows.size () > 0) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
654 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
655 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
|
656 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
657 QFileInfo info = m_file_system_model->fileInfo (index); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
658 QDir path = info.absoluteDir (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
659 QString old_name = info.fileName (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
660 bool ok; |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
661 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
662 QString new_name |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
663 = QInputDialog::getText (this, tr ("Rename file/directory"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
664 tr ("Rename file/directory:\n") |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
665 + old_name + tr ("\n to: "), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
666 QLineEdit::Normal, old_name, &ok); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
667 if (ok && new_name.length () > 0) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
668 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
669 new_name = path.absolutePath () + '/' + new_name; |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
670 old_name = path.absolutePath () + '/' + old_name; |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
671 // editor: close old |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
672 emit file_remove_signal (old_name, new_name); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
673 // Do the renaming |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
674 bool st = path.rename (old_name, new_name); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
675 // editor: load new/old file depending on success |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
676 emit file_renamed_signal (st); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
677 // Clear cache of file browser |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
678 m_file_system_model->revert (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
679 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
680 } |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
681 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
682 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
683 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
684 void files_dock_widget::contextmenu_delete (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
685 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
686 QItemSelectionModel *m = m_file_tree_view->selectionModel (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
687 QModelIndexList rows = m->selectedRows (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
688 |
25337
3ff9192b676e
use auto keyword to declare iterator variables where possible
John W. Eaton <jwe@octave.org>
parents:
25336
diff
changeset
|
689 for (auto it = rows.begin (); it != rows.end (); it++) |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
690 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
691 QModelIndex index = *it; |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
692 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
693 QFileInfo info = m_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
|
694 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
695 if (QMessageBox::question (this, tr ("Delete file/directory"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
696 tr ("Are you sure you want to delete\n") |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
697 + info.filePath (), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
698 QMessageBox::Yes | QMessageBox::No) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
699 == QMessageBox::Yes) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
700 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
701 if (info.isDir ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
702 { |
27956
2310164737b3
fix many spelling errors (bug #57613)
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
703 // see if directory is empty |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
704 QDir path (info.absoluteFilePath ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
705 QList<QFileInfo> fileLst = path.entryInfoList (QDir::AllEntries | |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
706 QDir::NoDotAndDotDot); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
707 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
708 if (fileLst.count () != 0) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
709 QMessageBox::warning (this, tr ("Delete file/directory"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
710 tr ("Can not delete a directory that is not empty")); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
711 else |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
712 m_file_system_model->rmdir (index); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
713 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
714 else |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
715 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
716 // Close the file in the editor if open |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
717 emit file_remove_signal (info.filePath (), QString ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
718 // Remove the file. |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
719 bool st = m_file_system_model->remove (index); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
720 // reload the old file if removing was not successful |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
721 if (! st) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
722 emit file_renamed_signal (false); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
723 } |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
724 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
725 m_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
|
726 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
727 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
728 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
729 } |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
730 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
731 void files_dock_widget::contextmenu_newfile (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
732 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
733 QItemSelectionModel *m = m_file_tree_view->selectionModel (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
734 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
|
735 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
736 if (rows.size () > 0) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
737 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
738 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
|
739 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
740 QFileInfo info = m_file_system_model->fileInfo (index); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
741 QString parent_dir = info.filePath (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
742 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
743 process_new_file (parent_dir); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
744 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
745 } |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
746 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
747 void files_dock_widget::contextmenu_newdir (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
748 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
749 QItemSelectionModel *m = m_file_tree_view->selectionModel (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
750 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
|
751 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
752 if (rows.size () > 0) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
753 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
754 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
|
755 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
756 QFileInfo info = m_file_system_model->fileInfo (index); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
757 QString parent_dir = info.filePath (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
758 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
759 process_new_dir (parent_dir); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
760 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
761 } |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
762 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
763 void files_dock_widget::contextmenu_setcurrentdir (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
764 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
765 QItemSelectionModel *m = m_file_tree_view->selectionModel (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
766 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
|
767 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
768 if (rows.size () > 0) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
769 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
770 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
|
771 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
772 QFileInfo info = m_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
|
773 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
774 if (info.isDir ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
775 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
776 process_set_current_dir (info.absoluteFilePath ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
777 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
778 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
779 } |
16503
c1ff738d606d
allow files to be renamed or deleted using the file browser
John Donoghue <john.donoghue@ieee.org>
parents:
16499
diff
changeset
|
780 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
781 void files_dock_widget::contextmenu_findfiles (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
782 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
783 QItemSelectionModel *m = m_file_tree_view->selectionModel (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
784 QModelIndexList rows = m->selectedRows (); |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
785 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
786 if (rows.size () > 0) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
787 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
788 QModelIndex index = rows[0]; |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
789 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
790 QFileInfo info = m_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
|
791 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
792 if (info.isDir ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
793 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
794 process_find_files (info.absoluteFilePath ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
795 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
796 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
797 } |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
798 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
799 void files_dock_widget::notice_settings (const QSettings *settings) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
800 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
801 // 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
|
802 |
26058
ecd86b8b8979
use constants for icon size preferences instead of hard coded numbers
Torsten <mttl@mailbox.org>
parents:
25906
diff
changeset
|
803 int size_idx = settings->value (global_icon_size.key, |
ecd86b8b8979
use constants for icon size preferences instead of hard coded numbers
Torsten <mttl@mailbox.org>
parents:
25906
diff
changeset
|
804 global_icon_size.def).toInt (); |
ecd86b8b8979
use constants for icon size preferences instead of hard coded numbers
Torsten <mttl@mailbox.org>
parents:
25906
diff
changeset
|
805 size_idx = (size_idx > 0) - (size_idx < 0) + 1; // Make valid index from 0 to 2 |
19847
597fc0fd8e54
make size of toolbar icons depending on scaling of display
Torsten <ttl@justmail.de>
parents:
19846
diff
changeset
|
806 |
26058
ecd86b8b8979
use constants for icon size preferences instead of hard coded numbers
Torsten <mttl@mailbox.org>
parents:
25906
diff
changeset
|
807 QStyle *st = style (); |
ecd86b8b8979
use constants for icon size preferences instead of hard coded numbers
Torsten <mttl@mailbox.org>
parents:
25906
diff
changeset
|
808 int icon_size = st->pixelMetric (global_icon_sizes[size_idx]); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
809 m_navigation_tool_bar->setIconSize (QSize (icon_size,icon_size)); |
16525
e192525236ad
configurable size of toolbar icons
Torsten <ttl@justmail.de>
parents:
16515
diff
changeset
|
810 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
811 // filenames are always shown, other columns can be hidden by settings |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
812 for (int i = 0; i < 3; i++) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
813 m_file_tree_view->setColumnHidden (i + 1, |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
814 ! settings->value (m_columns_shown_keys.at (i),false).toBool ()); |
20642
3e449f43e708
revised code for header context menu in file browser
Torsten <ttl@justmail.de>
parents:
20017
diff
changeset
|
815 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
816 if (settings->value (m_columns_shown_keys.at (3),false).toBool ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
817 m_file_system_model->setFilter (QDir::NoDotAndDotDot | QDir::AllEntries |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
818 | QDir::Hidden); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
819 else |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
820 m_file_system_model->setFilter (QDir::NoDotAndDotDot | QDir::AllEntries); |
20642
3e449f43e708
revised code for header context menu in file browser
Torsten <ttl@justmail.de>
parents:
20017
diff
changeset
|
821 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
822 m_file_tree_view->setAlternatingRowColors ( |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
823 settings->value (m_columns_shown_keys.at (4),true).toBool ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
824 m_file_tree_view->setModel (m_file_system_model); |
16499
facf00ce97d3
gui: configurable synchronization between file browser and octave directory
Torsten <ttl@justmail.de>
parents:
16498
diff
changeset
|
825 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
826 // enable the buttons to sync octave/browser dir |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
827 // only if this is not done by default |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
828 m_sync_octave_dir |
25851
507cee1b684e
removed all initial preferences for file browser from pref file (bug #54606)
Torsten <mttl@mailbox.org>
parents:
25508
diff
changeset
|
829 = settings->value (fb_sync_octdir.key, fb_sync_octdir.def).toBool (); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
830 m_sync_octave_directory_action->setEnabled (! m_sync_octave_dir); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
831 m_sync_browser_directory_action->setEnabled (! m_sync_octave_dir); |
25906
e980aef0e1db
do sync file browser when settings change (bug #54718)
John W. Eaton <jwe@octave.org>
parents:
25898
diff
changeset
|
832 |
e980aef0e1db
do sync file browser when settings change (bug #54718)
John W. Eaton <jwe@octave.org>
parents:
25898
diff
changeset
|
833 // If m_sync_octave_dir is enabled, then we want the file browser to |
e980aef0e1db
do sync file browser when settings change (bug #54718)
John W. Eaton <jwe@octave.org>
parents:
25898
diff
changeset
|
834 // update to match the current working directory of the |
e980aef0e1db
do sync file browser when settings change (bug #54718)
John W. Eaton <jwe@octave.org>
parents:
25898
diff
changeset
|
835 // interpreter. We don't want to queue any signal to change the |
e980aef0e1db
do sync file browser when settings change (bug #54718)
John W. Eaton <jwe@octave.org>
parents:
25898
diff
changeset
|
836 // interpreter's current working directory. In this case, we just |
e980aef0e1db
do sync file browser when settings change (bug #54718)
John W. Eaton <jwe@octave.org>
parents:
25898
diff
changeset
|
837 // want the GUI to match the state of the interpreter. |
e980aef0e1db
do sync file browser when settings change (bug #54718)
John W. Eaton <jwe@octave.org>
parents:
25898
diff
changeset
|
838 |
e980aef0e1db
do sync file browser when settings change (bug #54718)
John W. Eaton <jwe@octave.org>
parents:
25898
diff
changeset
|
839 if (m_sync_octave_dir) |
e980aef0e1db
do sync file browser when settings change (bug #54718)
John W. Eaton <jwe@octave.org>
parents:
25898
diff
changeset
|
840 do_sync_browser_directory (); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
841 } |
20017
4b7b7ac7af2c
use get_home_directory instead of getenv ("HOME") (bug #44694)
John W. Eaton <jwe@octave.org>
parents:
20000
diff
changeset
|
842 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
843 void files_dock_widget::popdownmenu_home (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
844 { |
25336
389757b7b6af
eliminate redundant octave:: namespace tags
John W. Eaton <jwe@octave.org>
parents:
25103
diff
changeset
|
845 QString dir = QString::fromStdString (sys::env::get_home_directory ()); |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
846 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
847 if (dir.isEmpty ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
848 dir = QDir::homePath (); |
16762
42555422e326
Add Show home directory to files window popdown.
John Donoghue <john.donoghue@ieee.org>
parents:
16709
diff
changeset
|
849 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
850 set_current_directory (dir); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
851 } |
16613
99a57611d58a
add menu for searching the next directory shown by the file browser
Torsten <ttl@justmail.de>
parents:
16611
diff
changeset
|
852 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
853 void files_dock_widget::popdownmenu_search_dir (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
854 { |
26096
1002b49ce7b3
Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26058
diff
changeset
|
855 // FIXME: Remove, if for all common KDE versions (bug #54607) is resolved. |
1002b49ce7b3
Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26058
diff
changeset
|
856 int opts = QFileDialog::ShowDirsOnly; |
1002b49ce7b3
Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26058
diff
changeset
|
857 if (! resource_manager::get_settings ()->value ("use_native_file_dialogs", |
1002b49ce7b3
Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26058
diff
changeset
|
858 true).toBool ()) |
1002b49ce7b3
Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26058
diff
changeset
|
859 opts |= QFileDialog::DontUseNativeDialog; |
1002b49ce7b3
Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26058
diff
changeset
|
860 |
25103
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
861 QString dir = QFileDialog::getExistingDirectory (this, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
862 tr ("Set directory of file browser"), |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
863 m_file_system_model->rootPath (), |
26096
1002b49ce7b3
Make use of native file dialogs configurable (bug #54607).
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26058
diff
changeset
|
864 QFileDialog::Option (opts)); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
865 set_current_directory (dir); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
866 } |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
867 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
868 void files_dock_widget::popdownmenu_findfiles (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
869 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
870 process_find_files (m_file_system_model->rootPath ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
871 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
872 |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
873 void files_dock_widget::popdownmenu_newdir (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
874 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
875 process_new_dir (m_file_system_model->rootPath ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
876 } |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
877 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
878 void files_dock_widget::popdownmenu_newfile (bool) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
879 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
880 process_new_file (m_file_system_model->rootPath ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
881 } |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
882 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
883 void files_dock_widget::process_new_file (const QString& parent_dir) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
884 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
885 bool ok; |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
886 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
887 QString name = QInputDialog::getText (this, tr ("Create File"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
888 tr ("Create file in\n","String ends with \\n!") + parent_dir, |
25103
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
889 QLineEdit::Normal, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
890 tr ("New File.txt"), &ok); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
891 if (ok && name.length () > 0) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
892 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
893 name = parent_dir + '/' + name; |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
894 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
895 QFile file (name); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
896 file.open (QIODevice::WriteOnly); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
897 m_file_system_model->revert (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
898 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
899 } |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
900 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
901 void files_dock_widget::process_new_dir (const QString& parent_dir) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
902 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
903 bool ok; |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
904 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
905 QString name = QInputDialog::getText (this, tr ("Create Directory"), |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
906 tr ("Create folder in\n","String ends with \\n!") + parent_dir, |
25103
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
907 QLineEdit::Normal, |
078b795c5219
maint: style check C++ ahead of 4.4 release.
Rik <rik@octave.org>
parents:
25054
diff
changeset
|
908 tr ("New Directory"), &ok); |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
909 if (ok && name.length () > 0) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
910 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
911 QDir dir (parent_dir); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
912 dir.mkdir (name); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
913 m_file_system_model->revert (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
914 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
915 } |
16542
016073c0cb94
Add popdown toolbutton to files-dock-window toolbar.
John Donoghue <john.donoghue@ieee.org>
parents:
16525
diff
changeset
|
916 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
917 void files_dock_widget::process_set_current_dir (const QString & dir) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
918 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
919 emit displayed_directory_changed (dir); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
920 } |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
921 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
922 void files_dock_widget::process_find_files (const QString & dir) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
923 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
924 emit find_files_signal (dir); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
925 } |
16699
d4bcb38ad056
Added find files context menu to files-dock-widget
John Donoghue <john.donoghue@ieee.org>
parents:
16635
diff
changeset
|
926 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
927 void files_dock_widget::copyClipboard () |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
928 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
929 if (m_file_tree_view->hasFocus ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
930 contextmenu_copy_selection (true); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
931 if (m_current_directory->hasFocus ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
932 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
933 QClipboard *clipboard = QApplication::clipboard (); |
16881
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
934 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
935 QLineEdit *edit = m_current_directory->lineEdit (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
936 if (edit && edit->hasSelectedText ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
937 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
938 clipboard->setText (edit->selectedText ()); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
939 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
940 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
941 } |
16881
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
942 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
943 void files_dock_widget::pasteClipboard () |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
944 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
945 if (m_current_directory->hasFocus ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
946 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
947 QClipboard *clipboard = QApplication::clipboard (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
948 QString str = clipboard->text (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
949 QLineEdit *edit = m_current_directory->lineEdit (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
950 if (edit && str.length () > 0) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
951 edit->insert (str); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
952 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
953 } |
16881
944ade6e7f66
Make main window copy and paste global for current focused window
John Donoghue <john.donoghue@ieee.org>
parents:
16865
diff
changeset
|
954 |
24733
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
955 void files_dock_widget::selectAll () |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
956 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
957 if (m_file_tree_view->hasFocus ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
958 m_file_tree_view->selectAll (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
959 if (m_current_directory->hasFocus ()) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
960 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
961 QLineEdit *edit = m_current_directory->lineEdit (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
962 if (edit) |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
963 { |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
964 edit->selectAll (); |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
965 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
966 } |
e15d53d2de1e
move more GUI classse inside octave namespace
John W. Eaton <jwe@octave.org>
parents:
24534
diff
changeset
|
967 } |
18555
2d5d0d86432e
gui: Add select all menu (Bug #41797)
John Donoghue <john.donoghue@ieee.org>
parents:
18408
diff
changeset
|
968 } |