# HG changeset patch # User John W. Eaton # Date 1424417763 18000 # Node ID 2dd6d5bdf11d0deaf9759594f1dd393df1845ed7 # Parent 98cc7c741c5a9a8f53abd9191ca28a0cdf295e48 avoid warnings about arrays in structure from GCC * shortcut-manager.h (slots::shortcut_t): Provide constructors, destructor, and operator =. diff -r 98cc7c741c5a -r 2dd6d5bdf11d libgui/src/shortcut-manager.h --- a/libgui/src/shortcut-manager.h Fri Feb 20 02:06:08 2015 -0500 +++ b/libgui/src/shortcut-manager.h Fri Feb 20 02:36:03 2015 -0500 @@ -120,13 +120,65 @@ void shortcut_dialog (int); void import_shortcuts (int set, QSettings *settings); - struct shortcut_t + class shortcut_t { + public: + + shortcut_t (void) + : tree_item (0), description (), settings_key (), + actual_sc (new QKeySequence[2]), default_sc (new QKeySequence[2]) + { + actual_sc[0] = QKeySequence (); + actual_sc[1] = QKeySequence (); + + default_sc[0] = QKeySequence (); + default_sc[1] = QKeySequence (); + } + + shortcut_t (const shortcut_t& x) + : tree_item (x.tree_item), description (x.description), + settings_key (x.settings_key), + actual_sc (new QKeySequence[2]), default_sc (new QKeySequence[2]) + { + actual_sc[0] = x.actual_sc[0]; + actual_sc[1] = x.actual_sc[1]; + + default_sc[0] = x.default_sc[0]; + default_sc[1] = x.default_sc[1]; + } + + shortcut_t& operator = (const shortcut_t& x) + { + if (&x != this) + { + tree_item = x.tree_item; + description = x.description; + settings_key = x.settings_key; + + actual_sc = new QKeySequence[2]; + default_sc = new QKeySequence[2]; + + actual_sc[0] = x.actual_sc[0]; + actual_sc[1] = x.actual_sc[1]; + + default_sc[0] = x.default_sc[0]; + default_sc[1] = x.default_sc[1]; + } + + return *this; + } + + ~shortcut_t (void) + { + delete [] actual_sc; + delete [] default_sc; + } + + QTreeWidgetItem *tree_item; QString description; QString settings_key; - QKeySequence actual_sc[2]; - QKeySequence default_sc[2]; - QTreeWidgetItem *tree_item; + QKeySequence *actual_sc; + QKeySequence *default_sc; }; QList _sc;