@@ -742,7 +742,10 @@ void ConfigList::keyPressEvent(QKeyEvent* ev)
742
742
type = menu->prompt ? menu->prompt ->type : P_UNKNOWN;
743
743
if (type == P_MENU && rootEntry != menu &&
744
744
mode != fullMode && mode != menuMode) {
745
- emit menuSelected (menu);
745
+ if (mode == menuMode)
746
+ emit menuSelected (menu);
747
+ else
748
+ emit itemSelected (menu);
746
749
break ;
747
750
}
748
751
case Qt::Key_Space:
@@ -849,9 +852,12 @@ void ConfigList::mouseDoubleClickEvent(QMouseEvent* e)
849
852
if (!menu)
850
853
goto skip;
851
854
ptype = menu->prompt ? menu->prompt ->type : P_UNKNOWN;
852
- if (ptype == P_MENU && (mode == singleMode || mode == symbolMode))
853
- emit menuSelected (menu);
854
- else if (menu->sym )
855
+ if (ptype == P_MENU) {
856
+ if (mode == singleMode)
857
+ emit itemSelected (menu);
858
+ else if (mode == symbolMode)
859
+ emit menuSelected (menu);
860
+ } else if (menu->sym )
855
861
changeValue (item);
856
862
857
863
skip:
@@ -1503,6 +1509,8 @@ ConfigMainWindow::ConfigMainWindow(void)
1503
1509
helpText, SLOT (setInfo (struct menu *)));
1504
1510
connect (configList, SIGNAL (menuSelected (struct menu *)),
1505
1511
SLOT (changeMenu (struct menu *)));
1512
+ connect (configList, SIGNAL (itemSelected (struct menu *)),
1513
+ SLOT (changeItens (struct menu *)));
1506
1514
connect (configList, SIGNAL (parentSelected ()),
1507
1515
SLOT (goBack ()));
1508
1516
connect (menuList, SIGNAL (menuChanged (struct menu *)),
@@ -1599,15 +1607,26 @@ void ConfigMainWindow::searchConfig(void)
1599
1607
searchWindow->show ();
1600
1608
}
1601
1609
1602
- void ConfigMainWindow::changeMenu (struct menu *menu)
1610
+ void ConfigMainWindow::changeItens (struct menu *menu)
1603
1611
{
1604
1612
configList->setRootMenu (menu);
1613
+
1605
1614
if (configList->rootEntry ->parent == &rootmenu)
1606
1615
backAction->setEnabled (false );
1607
1616
else
1608
1617
backAction->setEnabled (true );
1609
1618
}
1610
1619
1620
+ void ConfigMainWindow::changeMenu (struct menu *menu)
1621
+ {
1622
+ menuList->setRootMenu (menu);
1623
+
1624
+ if (menuList->rootEntry ->parent == &rootmenu)
1625
+ backAction->setEnabled (false );
1626
+ else
1627
+ backAction->setEnabled (true );
1628
+ }
1629
+
1611
1630
void ConfigMainWindow::setMenuLink (struct menu *menu)
1612
1631
{
1613
1632
struct menu *parent;
@@ -1717,14 +1736,14 @@ void ConfigMainWindow::showSplitView(void)
1717
1736
fullViewAction->setEnabled (true );
1718
1737
fullViewAction->setChecked (false );
1719
1738
1720
- configList->mode = symbolMode ;
1739
+ configList->mode = menuMode ;
1721
1740
if (configList->rootEntry == &rootmenu)
1722
1741
configList->updateListAll ();
1723
1742
else
1724
1743
configList->setRootMenu (&rootmenu);
1725
1744
configList->setAllOpen (true );
1726
1745
configApp->processEvents ();
1727
- menuList->mode = menuMode ;
1746
+ menuList->mode = symbolMode ;
1728
1747
menuList->setRootMenu (&rootmenu);
1729
1748
menuList->setAllOpen (true );
1730
1749
menuView->show ();
0 commit comments