]> git.lyx.org Git - features.git/commitdiff
Do not make all menu entries checkable
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Tue, 22 Aug 2006 09:38:03 +0000 (09:38 +0000)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Tue, 22 Aug 2006 09:38:03 +0000 (09:38 +0000)
* src/frontends/qt4/Action.C (Action): do not set entry to
checkable by default; invoke update() to set it up.
(update): only set checkable property if needed.

* src/frontends/qt4/QLPopupMenu.C (populate): in the case of
          a Command menu item, let Action set itself up.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14811 a592a061-630c-0410-9148-cb99ea01b6c8

src/frontends/qt4/Action.C
src/frontends/qt4/QLPopupMenu.C

index 58b58f2987f60bd38c26932679fe89820ca2bc71..adb89916e1026fa283d1585a6cbaad0c6ca99f72 100644 (file)
@@ -48,7 +48,7 @@ Action::Action(LyXView & lyxView, string const & text,
        setToolTip(toqstr(tooltip));
        setStatusTip(toqstr(tooltip));
        connect(this, SIGNAL(triggered()), this, SLOT(action()));
-       this->setCheckable(true);
+       update();
 }
 
 Action::Action(LyXView & lyxView, string const & icon, string const & text,
@@ -60,7 +60,7 @@ Action::Action(LyXView & lyxView, string const & icon, string const & text,
        setToolTip(toqstr(tooltip));
        setStatusTip(toqstr(tooltip));
        connect(this, SIGNAL(triggered()), this, SLOT(action()));
-       this->setCheckable(true);
+       update();
 }
 
 /*
@@ -74,8 +74,17 @@ void Action::update()
 {
        FuncStatus const status = lyxView_.getLyXFunc().getStatus(func_);
 
-       this->setChecked(status.onoff(true));
-       this->setEnabled(status.enabled());
+       if (status.onoff(true)) {
+               setCheckable(true);
+               setChecked(true);
+       } else if (status.onoff(false)) {
+               setCheckable(true);
+               setChecked(false);
+       } else {
+               setCheckable(false);
+       }
+
+       setEnabled(status.enabled());
 }
 
 
index ea90bfbdc7ef0ada90928685a7855ecdc85d7395..9d2992d240429a48cdac26dba59e7e12a7fa4fcb 100644 (file)
@@ -114,16 +114,13 @@ void QLPopupMenu::populate(QMenu* qMenu, Menu * menu)
 
                } else { // we have a MenuItem::Command
 
-                       FuncStatus status = m->status();
                        lyxerr[Debug::GUI] << "creating Menu Item " << m->label() << endl;
 
                        string label = getLabel(*m);
                        addBinding(label, *m);
 
-                       Action * action = new Action(*(owner_->view()), label, m->func());
-                       action->setEnabled(m->status().enabled());
-                       action->setChecked(m->status().onoff(true));
-                       // Actually insert the menu item
+                       Action * action = new Action(*(owner_->view()), 
+                                                    label, m->func());
                        qMenu->addAction(action);
                }
        }