changeset 20081:8bfadb26afcd

Allow case-insensitive SelectionMode value in listdlg (bug #44822). * dialog.cc (ListDialog): Check for lower case selection mode "single" and "multiple". * listdlg.m: Use tolower() to guarantee SelectionMode is lower case.
author Rik <rik@octave.org>
date Thu, 16 Apr 2015 09:35:01 -0700
parents 908b68a98ba6
children d6e523825abc
files libgui/src/dialog.cc scripts/gui/listdlg.m
diffstat 2 files changed, 6 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/dialog.cc	Thu Apr 16 08:47:20 2015 -0400
+++ b/libgui/src/dialog.cc	Thu Apr 16 09:35:01 2015 -0700
@@ -193,14 +193,10 @@
   QListView *view = new QListView;
   view->setModel (model);
 
-  if (mode == "Single")
+  if (mode == "single")
     view->setSelectionMode (QAbstractItemView::SingleSelection);
-  else if (mode == "Multiple")
+  else if (mode == "multiple")
     view->setSelectionMode (QAbstractItemView::ExtendedSelection);
-//  else if ()
-//    view->setSelectionMode (QAbstractItemView::ContiguousSelection);
-//  else if ()
-//    view->setSelectionMode (QAbstractItemView::MultiSelection);
   else
     view->setSelectionMode (QAbstractItemView::NoSelection);
 
@@ -249,7 +245,7 @@
     }
   listLayout->addWidget (view);
   QPushButton *select_all = new QPushButton (tr ("Select All"));
-  select_all->setEnabled (mode == "Multiple");
+  select_all->setEnabled (mode == "multiple");
   listLayout->addWidget (select_all);
 
   QPushButton *buttonOk = new QPushButton (ok_string);
--- a/scripts/gui/listdlg.m	Thu Apr 16 08:47:20 2015 -0400
+++ b/scripts/gui/listdlg.m	Thu Apr 16 09:35:01 2015 -0700
@@ -97,7 +97,7 @@
     if (strcmpi (varargin{i}, "ListString"))
       listcell = varargin{i+1};
     elseif (strcmpi (varargin{i}, "SelectionMode"))
-      selmode = varargin{i+1};
+      selmode = tolower (varargin{i+1});
     elseif (strcmpi (varargin{i}, "ListSize"))
       listsize = varargin{i+1};
     elseif (strcmpi (varargin{i}, "InitialValue"))
@@ -126,8 +126,8 @@
   endif
 
   ## make sure valid selection mode
-  if (! strcmp (selmode, "Multiple") && ! strcmp (selmode, "Single"))
-    error ("invalid SelectionMode");
+  if (! strcmpi (selmode, "multiple") && ! strcmpi (selmode, "single"))
+    error ("listdlg: invalid SelectionMode");
   endif
 
   if (__octave_link_enabled__ ())