From 460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- certmanager/customactions.cpp | 136 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 certmanager/customactions.cpp (limited to 'certmanager/customactions.cpp') diff --git a/certmanager/customactions.cpp b/certmanager/customactions.cpp new file mode 100644 index 00000000..53e5dd2d --- /dev/null +++ b/certmanager/customactions.cpp @@ -0,0 +1,136 @@ +/* + customactions.cpp + + This file is part of Kleopatra, the KDE keymanager + Copyright (c) 2001,2002,2004 Klarälvdalens Datakonsult AB + + Kleopatra 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. + + Kleopatra 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + In addition, as a special exception, the copyright holders give + permission to link the code of this program with any edition of + the Qt library by Trolltech AS, Norway (or with modified versions + of Qt that use the same license as Qt), and distribute linked + combinations including the two. You must obey the GNU General + Public License in all respects for all of the code used other than + Qt. If you modify this file, you may extend this exception to + your version of the file, but you are not obligated to do so. If + you do not wish to do so, delete this exception statement from + your version. +*/ + +#include "customactions.h" + +#include +#include + +#include +#include + + +LabelAction::LabelAction( const QString & text, KActionCollection * parent, + const char* name ) + : KAction( text, QIconSet(), KShortcut(), 0, 0, parent, name ) +{ + +} + +int LabelAction::plug( QWidget * widget, int index ) { + if ( kapp && !kapp->authorizeKAction( name() ) ) + return -1; + if ( widget->inherits( "KToolBar" ) ) { + KToolBar * bar = (KToolBar *)widget; + int id_ = getToolButtonID(); + QLabel* label = new QLabel( text(), bar, "kde toolbar widget" ); + bar->insertWidget( id_, label->width(), label, index ); + addContainer( bar, id_ ); + connect( bar, SIGNAL( destroyed() ), this, SLOT( slotDestroyed() ) ); + return containerCount() - 1; + } + + return KAction::plug( widget, index ); +} + +LineEditAction::LineEditAction( const QString & text, KActionCollection * parent, + QObject * receiver, const char * member, const char * name ) + : KAction( text, QIconSet(), KShortcut(), 0, 0, parent, name ), + _le(0), _receiver(receiver), _member(member) +{ + +} + +int LineEditAction::plug( QWidget * widget, int index ) { + if ( kapp && !kapp->authorizeKAction( name() ) ) + return -1; + if ( widget->inherits( "KToolBar" ) ) { + KToolBar *bar = (KToolBar *)widget; + int id_ = getToolButtonID(); + // The toolbar trick doesn't seem to work for lineedits + //_le = new QLineEdit( bar, "kde toolbar widget" ); + _le = new QLineEdit( bar ); + bar->insertWidget( id_, _le->width(), _le, index ); + bar->setStretchableWidget( _le ); + addContainer( bar, id_ ); + connect( bar, SIGNAL( destroyed() ), this, SLOT( slotDestroyed() ) ); + connect( _le, SIGNAL( returnPressed() ), _receiver, _member ); + return containerCount() - 1; + } + + return KAction::plug( widget, index ); +} + +void LineEditAction::clear() { + _le->clear(); +} + +void LineEditAction::focusAll() { + _le->selectAll(); + _le->setFocus(); +} + +QString LineEditAction::text() const { + return _le->text(); +} + +void LineEditAction::setText( const QString & txt ) { + _le->setText(txt); +} + + +ComboAction::ComboAction( const QStringList & lst, KActionCollection * parent, + QObject * receiver, const char * member, const char * name, + int selectedID ) + : KAction( QString::null, QIconSet(), KShortcut(), 0, 0, parent, name ), + _lst(lst), _receiver(receiver), _member(member), _selectedId( selectedID ) +{ + +} + +int ComboAction::plug( QWidget * widget, int index ) { + if ( kapp && !kapp->authorizeKAction( name() ) ) + return -1; + if ( widget->inherits( "KToolBar" ) ) { + KToolBar *bar = (KToolBar *)widget; + int id_ = getToolButtonID(); + bar->insertCombo( _lst, id_, false, SIGNAL( highlighted(int) ), _receiver, _member ); + bar->setCurrentComboItem( id_,_selectedId ); + addContainer( bar, id_ ); + connect( bar, SIGNAL( destroyed() ), this, SLOT( slotDestroyed() ) ); + return containerCount() - 1; + } + + return KAction::plug( widget, index ); +} + +#include "customactions.moc" -- cgit v1.2.3