diff options
author | Maia Kozheva <sikon@ubuntu.com> | 2009-11-20 18:22:19 +0600 |
---|---|---|
committer | Maia Kozheva <sikon@ubuntu.com> | 2009-11-20 18:22:19 +0600 |
commit | 263b32f108c15cd1c55a8f4eb4704fac6553f1ac (patch) | |
tree | 1c49e7848aa2d3d64a9d9b96b8852cb1884da2f7 /src/myaction.cpp |
Imported Upstream version 0.6.8
Diffstat (limited to 'src/myaction.cpp')
-rw-r--r-- | src/myaction.cpp | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/src/myaction.cpp b/src/myaction.cpp new file mode 100644 index 0000000..a992189 --- /dev/null +++ b/src/myaction.cpp @@ -0,0 +1,101 @@ +/* smplayer, GUI front-end for mplayer. + Copyright (C) 2006-2009 Ricardo Villalba <rvm@escomposlinux.org> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#include "myaction.h" +#include <QWidget> + +MyAction::MyAction ( QObject * parent, const char * name, bool autoadd ) + : QAction(parent) +{ + //qDebug("MyAction::MyAction: name: '%s'", name); + setObjectName(name); + if (autoadd) addActionToParent(); +} + + +MyAction::MyAction( QObject * parent, bool autoadd ) + : QAction(parent) +{ + //qDebug("MyAction::MyAction: QObject, bool"); + if (autoadd) addActionToParent(); +} + +MyAction::MyAction(const QString & text, QKeySequence accel, + QObject * parent, const char * name, bool autoadd ) + : QAction(parent) +{ + setObjectName(name); + setText(text); + setShortcut(accel); + if (autoadd) addActionToParent(); +} + +MyAction::MyAction(QKeySequence accel, QObject * parent, const char * name, + bool autoadd ) + : QAction(parent) +{ + setObjectName(name); + setShortcut(accel); + if (autoadd) addActionToParent(); +} + +MyAction::~MyAction() { +} + +void MyAction::addActionToParent() { + if (parent()) { + if (parent()->inherits("QWidget")) { + QWidget *w = static_cast<QWidget*> (parent()); + w->addAction(this); + } + } +} + +void MyAction::change(const QIcon & icon, const QString & text) { + setIcon( icon ); + change(text); +} + +void MyAction::change(const QString & text ) { + setText( text ); + + QString accel_text = shortcut().toString(); + + QString s = text; + s.replace("&",""); + if (!accel_text.isEmpty()) { + setToolTip( s + " ("+ accel_text +")"); + setIconText( s ); + } + + /* + if (text.isEmpty()) { + QString s = menuText; + s = s.replace("&",""); + setText( s ); + + if (!accel_text.isEmpty()) + setToolTip( s + " ("+ accel_text +")"); + } else { + setText( text ); + if (!accel_text.isEmpty()) + setToolTip( text + " ("+ accel_text +")"); + } + */ +} + |