diff libgui/src/files-dock-widget.h @ 20642:3e449f43e708

revised code for header context menu in file browser * files-dock-widget.cc (files_dock_widget): initialize signal mapper as well as string lists with menu entries and related keys in the settings file, removed code that is executed in notice_settings; (~files_dock_widget): delete signal mapper; (toggle_header): new slot for all header context menu entries instead of single slots toggle_headercontextitem_filesize, toggle_headercontextitem_filetype, toggle_headercontextitem_datemodified, toggle_headercontextitem_showhidden; (headercontextmenu_requested): menu entries by loop over string lists and trigger signal mapped according to loop count; (notice_settings): set column visibility by loop over string list * files-dock-widget.h: only one slot for header context menu actions, new string lists for menu entries and related setting keys, signal mapper
author Torsten <ttl@justmail.de>
date Wed, 21 Oct 2015 20:36:17 +0200
parents 4197fc428c7d
children fec7cc73507b
line wrap: on
line diff
--- a/libgui/src/files-dock-widget.h	Wed Oct 21 19:45:02 2015 +0200
+++ b/libgui/src/files-dock-widget.h	Wed Oct 21 20:36:17 2015 +0200
@@ -35,6 +35,7 @@
 #include <QAction>
 #include <QTreeView>
 #include <QMouseEvent>
+#include <QSignalMapper>
 
 #include <QComboBox>
 #include "octave-dock-widget.h"
@@ -80,16 +81,12 @@
   void notice_settings (const QSettings *settings);
 
 private slots:
+
+  void headercontextmenu_requested (const QPoint& pos);
+  void toggle_header (int col);
+
   /** context menu wanted */
   void contextmenu_requested (const QPoint& pos);
-
-  void toggle_headercontextitem_filesize ();
-  void toggle_headercontextitem_filetype ();
-  void toggle_headercontextitem_datemodified ();
-  void toggle_headercontextitem_showhidden ();
-
-  void headercontextmenu_requested (const QPoint& pos);
-
   /* context menu actions */
   void contextmenu_open (bool);
   void contextmenu_open_in_app (bool);
@@ -160,6 +157,10 @@
   QString           _octave_dir;         // the actual octave dir
 
   enum { MaxMRUDirs = 10 };
+
+  QStringList _columns_shown;
+  QStringList _columns_shown_keys;
+  QSignalMapper *_sig_mapper;
 };
 
 #endif // FILESDOCKWIDGET_H