summaryrefslogtreecommitdiffstats
path: root/kdeui/kstdaction.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kdeui/kstdaction.cpp')
-rw-r--r--kdeui/kstdaction.cpp323
1 files changed, 323 insertions, 0 deletions
diff --git a/kdeui/kstdaction.cpp b/kdeui/kstdaction.cpp
new file mode 100644
index 000000000..ae22c01c3
--- /dev/null
+++ b/kdeui/kstdaction.cpp
@@ -0,0 +1,323 @@
+/* This file is part of the KDE libraries
+ Copyright (C) 1999,2000 Kurt Granroth <granroth@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License version 2 as published by the Free Software Foundation.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "kstdaction.h"
+
+#include <qtoolbutton.h>
+#include <qwhatsthis.h>
+
+#include <kaboutdata.h>
+#include <kaction.h>
+#include <kapplication.h>
+#include <kdebug.h>
+#include <kglobal.h>
+#include <kiconloader.h>
+#include <klocale.h>
+#include <kstdaccel.h>
+#include <kmainwindow.h>
+#include "kstdaction_p.h"
+
+namespace KStdAction
+{
+
+QStringList stdNames()
+{
+ return internal_stdNames();
+}
+
+KAction* create( StdAction id, const char *name, const QObject *recvr, const char *slot, KActionCollection* parent )
+{
+ KAction* pAction = 0;
+ const KStdActionInfo* pInfo = infoPtr( id );
+ kdDebug(125) << "KStdAction::create( " << id << "=" << (pInfo ? pInfo->psName : (const char*)0) << ", " << parent << ", " << name << " )" << endl; // ellis
+ if( pInfo ) {
+ QString sLabel, iconName = pInfo->psIconName;
+ switch( id ) {
+ case Back: sLabel = i18n("go back", "&Back");
+ if (QApplication::reverseLayout() )
+ iconName = "forward";
+ break;
+
+ case Forward: sLabel = i18n("go forward", "&Forward");
+ if (QApplication::reverseLayout() )
+ iconName = "back";
+ break;
+
+ case Home: sLabel = i18n("beginning (of line)", "&Home"); break;
+ case Help: sLabel = i18n("show help", "&Help"); break;
+ case AboutApp: iconName = kapp->miniIconName();
+ case Preferences:
+ case HelpContents:
+ {
+ const KAboutData *aboutData = KGlobal::instance()->aboutData();
+ /* TODO KDE4
+ const KAboutData *aboutData;
+ if ( parent )
+ aboutData = parent->instance()->aboutData();
+ else
+ aboutData = KGlobal::instance()->aboutData();
+ */
+ QString appName = (aboutData) ? aboutData->programName() : QString::fromLatin1(qApp->name());
+ sLabel = i18n(pInfo->psLabel).arg(appName);
+ }
+ break;
+ default: sLabel = i18n(pInfo->psLabel);
+ }
+
+ if (QApplication::reverseLayout()){
+ if (id == Prior) iconName = "forward";
+ if (id == Next ) iconName = "back";
+ if (id == FirstPage) iconName = "finish";
+ if (id == LastPage) iconName = "start";
+ }
+
+ KShortcut cut = KStdAccel::shortcut(pInfo->idAccel);
+ switch( id ) {
+ case OpenRecent:
+ pAction = new KRecentFilesAction( sLabel, pInfo->psIconName, cut,
+ recvr, slot,
+ parent, (name) ? name : pInfo->psName );
+ break;
+ case ShowMenubar:
+ case ShowToolbar:
+ case ShowStatusbar:
+ {
+ KToggleAction *ret;
+ ret = new KToggleAction( sLabel, pInfo->psIconName, cut,
+ recvr, slot,
+ parent, (name) ? name : pInfo->psName );
+ ret->setChecked( true );
+ pAction = ret;
+ break;
+ }
+ case FullScreen:
+ {
+ KToggleFullScreenAction *ret;
+ ret = new KToggleFullScreenAction( cut, recvr, slot,
+ parent, NULL, (name) ? name : pInfo->psName );
+ ret->setChecked( false );
+ pAction = ret;
+ break;
+ }
+ case PasteText:
+ {
+ KPasteTextAction *ret;
+ ret = new KPasteTextAction(sLabel, iconName, cut,
+ recvr, slot,
+ parent, (name) ? name : pInfo->psName );
+ pAction = ret;
+ break;
+ }
+ default:
+ pAction = new KAction( sLabel, iconName, cut,
+ recvr, slot,
+ parent, (name) ? name : pInfo->psName );
+ break;
+ }
+ }
+ return pAction;
+}
+
+const char* name( StdAction id )
+{
+ const KStdActionInfo* pInfo = infoPtr( id );
+ return (pInfo) ? pInfo->psName : 0;
+}
+
+KAction *openNew( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( New, name, recvr, slot, parent ); }
+KAction *open( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Open, name, recvr, slot, parent ); }
+KRecentFilesAction *openRecent( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return (KRecentFilesAction*) KStdAction::create( OpenRecent, name, recvr, slot, parent ); }
+KAction *save( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Save, name, recvr, slot, parent ); }
+KAction *saveAs( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( SaveAs, name, recvr, slot, parent ); }
+KAction *revert( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Revert, name, recvr, slot, parent ); }
+KAction *print( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Print, name, recvr, slot, parent ); }
+KAction *printPreview( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( PrintPreview, name, recvr, slot, parent ); }
+KAction *close( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Close, name, recvr, slot, parent ); }
+KAction *mail( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Mail, name, recvr, slot, parent ); }
+KAction *quit( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Quit, name, recvr, slot, parent ); }
+KAction *undo( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Undo, name, recvr, slot, parent ); }
+KAction *redo( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Redo, name, recvr, slot, parent ); }
+KAction *cut( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Cut, name, recvr, slot, parent ); }
+KAction *copy( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Copy, name, recvr, slot, parent ); }
+KAction *paste( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Paste, name, recvr, slot, parent ); }
+KAction *pasteText( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( PasteText, name, recvr, slot, parent ); }
+KAction *clear( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Clear, name, recvr, slot, parent ); }
+KAction *selectAll( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( SelectAll, name, recvr, slot, parent ); }
+KAction *deselect( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Deselect, name, recvr, slot, parent ); }
+KAction *find( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Find, name, recvr, slot, parent ); }
+KAction *findNext( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( FindNext, name, recvr, slot, parent ); }
+KAction *findPrev( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( FindPrev, name, recvr, slot, parent ); }
+KAction *replace( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Replace, name, recvr, slot, parent ); }
+KAction *actualSize( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( ActualSize, name, recvr, slot, parent ); }
+KAction *fitToPage( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( FitToPage, name, recvr, slot, parent ); }
+KAction *fitToWidth( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( FitToWidth, name, recvr, slot, parent ); }
+KAction *fitToHeight( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( FitToHeight, name, recvr, slot, parent ); }
+KAction *zoomIn( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( ZoomIn, name, recvr, slot, parent ); }
+KAction *zoomOut( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( ZoomOut, name, recvr, slot, parent ); }
+KAction *zoom( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Zoom, name, recvr, slot, parent ); }
+KAction *redisplay( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Redisplay, name, recvr, slot, parent ); }
+KAction *up( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Up, name, recvr, slot, parent ); }
+KAction *back( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Back, name, recvr, slot, parent ); }
+KAction *forward( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Forward, name, recvr, slot, parent ); }
+KAction *home( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Home, name, recvr, slot, parent ); }
+KAction *prior( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Prior, name, recvr, slot, parent ); }
+KAction *next( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Next, name, recvr, slot, parent ); }
+KAction *goTo( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Goto, name, recvr, slot, parent ); }
+KAction *gotoPage( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( GotoPage, name, recvr, slot, parent ); }
+KAction *gotoLine( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( GotoLine, name, recvr, slot, parent ); }
+KAction *firstPage( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( FirstPage, name, recvr, slot, parent ); }
+KAction *lastPage( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( LastPage, name, recvr, slot, parent ); }
+KAction *addBookmark( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( AddBookmark, name, recvr, slot, parent ); }
+KAction *editBookmarks( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( EditBookmarks, name, recvr, slot, parent ); }
+KAction *spelling( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Spelling, name, recvr, slot, parent ); }
+
+KToggleAction *showMenubar( const QObject *recvr, const char *slot, KActionCollection* parent, const char *_name )
+{
+ KToggleAction *ret;
+ ret = new KToggleAction(i18n("Show &Menubar"), "showmenu", KStdAccel::shortcut(KStdAccel::ShowMenubar), recvr, slot,
+ parent, _name ? _name : name(ShowMenubar));
+ ret->setWhatsThis( i18n( "Show Menubar<p>"
+ "Shows the menubar again after it has been hidden" ) );
+ KGuiItem guiItem( i18n("Hide &Menubar"), 0 /*same icon*/, QString::null,
+ i18n( "Hide Menubar<p>"
+ "Hide the menubar. You can usually get it back using the right mouse button inside the window itself." ) );
+ ret->setCheckedState( guiItem );
+ ret->setChecked(true);
+ return ret;
+}
+
+// obsolete
+KToggleAction *showToolbar( const QObject *recvr, const char *slot, KActionCollection* parent, const char *_name )
+{
+ KToggleAction *ret;
+ ret = new KToggleAction(i18n("Show &Toolbar"), 0, recvr, slot, parent,
+ _name ? _name : name(ShowToolbar));
+ ret->setChecked(true);
+ return ret;
+
+}
+
+// obsolete
+KToggleToolBarAction *showToolbar( const char* toolBarName, KActionCollection* parent, const char *_name )
+{
+ KToggleToolBarAction *ret;
+ ret = new KToggleToolBarAction(toolBarName, i18n("Show &Toolbar"), parent,
+ _name ? _name : name(ShowToolbar));
+ return ret;
+}
+
+KToggleAction *showStatusbar( const QObject *recvr, const char *slot,
+ KActionCollection* parent, const char *_name )
+{
+ KToggleAction *ret;
+ ret = new KToggleAction(i18n("Show St&atusbar"), 0, recvr, slot, parent,
+ _name ? _name : name(ShowStatusbar));
+ ret->setWhatsThis( i18n( "Show Statusbar<p>"
+ "Shows the statusbar, which is the bar at the bottom of the window used for status information." ) );
+ KGuiItem guiItem( i18n("Hide St&atusbar"), QString::null, QString::null,
+ i18n( "Hide Statusbar<p>"
+ "Hides the statusbar, which is the bar at the bottom of the window used for status information." ) );
+ ret->setCheckedState( guiItem );
+
+ ret->setChecked(true);
+ return ret;
+}
+
+KToggleFullScreenAction *fullScreen( const QObject *recvr, const char *slot, KActionCollection* parent,
+ QWidget* window, const char *name )
+{
+ KToggleFullScreenAction *ret;
+ ret = static_cast< KToggleFullScreenAction* >( KStdAction::create( FullScreen, name, recvr, slot, parent ));
+ ret->setWindow( window );
+ return ret;
+}
+
+KAction *saveOptions( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( SaveOptions, name, recvr, slot, parent ); }
+KAction *keyBindings( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( KeyBindings, name, recvr, slot, parent ); }
+KAction *preferences( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Preferences, name, recvr, slot, parent ); }
+KAction *configureToolbars( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( ConfigureToolbars, name, recvr, slot, parent ); }
+KAction *configureNotifications( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( ConfigureNotifications, name, recvr, slot, parent ); }
+KAction *help( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( Help, name, recvr, slot, parent ); }
+KAction *helpContents( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( HelpContents, name, recvr, slot, parent ); }
+KAction *whatsThis( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( WhatsThis, name, recvr, slot, parent ); }
+KAction *tipOfDay( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( TipofDay, name, recvr, slot, parent ); }
+KAction *reportBug( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( ReportBug, name, recvr, slot, parent ); }
+KAction *switchApplicationLanguage( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( SwitchApplicationLanguage, name, recvr, slot, parent ); }
+KAction *aboutApp( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( AboutApp, name, recvr, slot, parent ); }
+KAction *aboutKDE( const QObject *recvr, const char *slot, KActionCollection* parent, const char *name )
+ { return KStdAction::create( AboutKDE, name, recvr, slot, parent ); }
+
+}