author | mickeyl <mickeyl> | 2003-03-16 19:07:50 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-03-16 19:07:50 (UTC) |
commit | ae6b3de789726af3928664ef03eac81950e716e4 (patch) (side-by-side diff) | |
tree | 687455725b5dafcfc7851563bf8203c25060e102 | |
parent | 917fb7d2dca76f5c2c5c86553be0fcc2832c3435 (diff) | |
download | opie-ae6b3de789726af3928664ef03eac81950e716e4.zip opie-ae6b3de789726af3928664ef03eac81950e716e4.tar.gz opie-ae6b3de789726af3928664ef03eac81950e716e4.tar.bz2 |
Enable translations of startmenu-applets. Problem is, in Qt2, moc generates
the necessary tr() functions which adds the context (aka class name) and
then calls translate(). The startmenu applets don't use moc and therefore
don't get the appropriate tr() functions.
-rw-r--r-- | core/applets/homeapplet/home.cpp | 11 | ||||
-rw-r--r-- | core/applets/homeapplet/home.h | 2 | ||||
-rw-r--r-- | core/applets/logoutapplet/logout.cpp | 11 | ||||
-rw-r--r-- | core/applets/logoutapplet/logout.h | 2 | ||||
-rw-r--r-- | core/applets/suspendapplet/suspend.cpp | 11 | ||||
-rw-r--r-- | core/applets/suspendapplet/suspend.h | 2 |
6 files changed, 38 insertions, 1 deletions
diff --git a/core/applets/homeapplet/home.cpp b/core/applets/homeapplet/home.cpp index f94bc14..017de27 100644 --- a/core/applets/homeapplet/home.cpp +++ b/core/applets/homeapplet/home.cpp @@ -1,74 +1,85 @@ #include <qpe/resource.h> #include <qpe/qcopenvelope_qws.h> +#include <qapplication.h> #include <qiconset.h> #include <qpopupmenu.h> #include "home.h" HomeApplet::HomeApplet ( ) : QObject ( 0, "HomeApplet" ), ref ( 0 ) { } HomeApplet::~HomeApplet ( ) { } int HomeApplet::position ( ) const { return 4; } QString HomeApplet::name ( ) const { return tr( "Home shortcut" ); } QString HomeApplet::text ( ) const { return tr( "Desktop" ); } +QString HomeApplet::tr( const char* s ) const +{ + return qApp->translate( "HomeApplet", s, 0 ); +} + +QString HomeApplet::tr( const char* s, const char* p ) const +{ + return qApp->translate( "HomeApplet", s, p ); +} + QIconSet HomeApplet::icon ( ) const { QPixmap pix; QImage img = Resource::loadImage ( "home" ); if ( !img. isNull ( )) pix. convertFromImage ( img. smoothScale ( 14, 14 )); return pix; } QPopupMenu *HomeApplet::popup ( QWidget * ) const { return 0; } void HomeApplet::activated ( ) { // to desktop (home) QCopEnvelope ( "QPE/Application/qpe", "raise()" ); } QRESULT HomeApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) { *iface = 0; if ( uuid == IID_QUnknown ) *iface = this; else if ( uuid == IID_MenuApplet ) *iface = this; if ( *iface ) (*iface)-> addRef ( ); return QS_OK; } Q_EXPORT_INTERFACE( ) { Q_CREATE_INSTANCE( HomeApplet ) } diff --git a/core/applets/homeapplet/home.h b/core/applets/homeapplet/home.h index 7f4b630..64af97d 100644 --- a/core/applets/homeapplet/home.h +++ b/core/applets/homeapplet/home.h @@ -1,47 +1,49 @@ /********************************************************************** ** Copyright (C) 2000 Trolltech AS. All rights reserved. ** ** This file is part of Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #ifndef __OPIE_HOME_APPLET_H__ #define __OPIE_HOME_APPLET_H__ #include <qpe/menuappletinterface.h> class HomeApplet : public QObject, public MenuAppletInterface { public: HomeApplet ( ); virtual ~HomeApplet ( ); QRESULT queryInterface( const QUuid&, QUnknownInterface** ); Q_REFCOUNT virtual int position() const; virtual QString name ( ) const; virtual QIconSet icon ( ) const; virtual QString text ( ) const; + virtual QString tr( const char* ) const; + virtual QString tr( const char*, const char* ) const; virtual QPopupMenu *popup ( QWidget *parent ) const; virtual void activated ( ); private: ulong ref; }; #endif diff --git a/core/applets/logoutapplet/logout.cpp b/core/applets/logoutapplet/logout.cpp index 9470401..1769ae6 100644 --- a/core/applets/logoutapplet/logout.cpp +++ b/core/applets/logoutapplet/logout.cpp @@ -1,115 +1,124 @@ #include <qpe/resource.h> #include <qpe/qcopenvelope_qws.h> #include <qapplication.h> #include <qiconset.h> #include <qpopupmenu.h> #include <qmessagebox.h> #include <unistd.h> #include "logout.h" LogoutApplet::LogoutApplet ( ) : QObject ( 0, "LogoutApplet" ), ref ( 0 ) { } LogoutApplet::~LogoutApplet ( ) { } int LogoutApplet::position ( ) const { return 0; } QString LogoutApplet::name ( ) const { return tr( "Logout shortcut" ); } QString LogoutApplet::text ( ) const { return tr( "Logout" ); } +QString LogoutApplet::tr( const char* s ) const +{ + return qApp->translate( "LogoutApplet", s, 0 ); +} + +QString LogoutApplet::tr( const char* s, const char* p ) const +{ + return qApp->translate( "LogoutApplet", s, p ); +} + QIconSet LogoutApplet::icon ( ) const { QPixmap pix; QImage img = Resource::loadImage ( "logout" ); if ( !img. isNull ( )) pix. convertFromImage ( img. smoothScale ( 14, 14 )); return pix; } QPopupMenu *LogoutApplet::popup ( QWidget * ) const { return 0; } // This is a workaround for a Qt bug // clipboard applet has to stop its poll timer, or Qt/E // will hang on quit() right before it emits aboutToQuit() class HackApplication : public QApplication { public: HackApplication ( ) : QApplication ( dummy, 0 ) { } void emit_about_to_quit ( ) { emit aboutToQuit ( ); } int dummy; }; void LogoutApplet::activated ( ) { QMessageBox mb ( tr( "Logout" ), tr( "Do you really want to\nend this session ?" ), QMessageBox::NoIcon, QMessageBox::Yes | QMessageBox::Default, QMessageBox::No | QMessageBox::Escape, QMessageBox::NoButton ); mb. setButtonText ( QMessageBox::Yes, "Yes" ); mb. setButtonText ( QMessageBox::No, "No" ); mb. setIconPixmap ( icon ( ). pixmap ( )); if ( mb. exec ( ) == QMessageBox::Yes ) { { QCopEnvelope envelope( "QPE/System", "forceQuit()" ); } qApp-> processEvents ( ); // ensure the message goes out. sleep ( 1 ); // You have 1 second to comply. ((HackApplication *) qApp )-> emit_about_to_quit ( ); qApp-> quit(); } } QRESULT LogoutApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) { *iface = 0; if ( uuid == IID_QUnknown ) *iface = this; else if ( uuid == IID_MenuApplet ) *iface = this; if ( *iface ) (*iface)-> addRef ( ); return QS_OK; } Q_EXPORT_INTERFACE( ) { Q_CREATE_INSTANCE( LogoutApplet ) } - diff --git a/core/applets/logoutapplet/logout.h b/core/applets/logoutapplet/logout.h index e45f3ba..3fcb295 100644 --- a/core/applets/logoutapplet/logout.h +++ b/core/applets/logoutapplet/logout.h @@ -1,47 +1,49 @@ /********************************************************************** ** Copyright (C) 2000 Trolltech AS. All rights reserved. ** ** This file is part of Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #ifndef __OPIE_LOGOUT_APPLET_H__ #define __OPIE_LOGOUT_APPLET_H__ #include <qpe/menuappletinterface.h> class LogoutApplet : public QObject, public MenuAppletInterface { public: LogoutApplet ( ); virtual ~LogoutApplet ( ); QRESULT queryInterface( const QUuid&, QUnknownInterface** ); Q_REFCOUNT virtual int position() const; virtual QString name ( ) const; virtual QIconSet icon ( ) const; virtual QString text ( ) const; + virtual QString tr( const char* ) const; + virtual QString tr( const char*, const char* ) const; virtual QPopupMenu *popup ( QWidget *parent ) const; virtual void activated ( ); private: ulong ref; }; #endif diff --git a/core/applets/suspendapplet/suspend.cpp b/core/applets/suspendapplet/suspend.cpp index b502e87..4bdc8fb 100644 --- a/core/applets/suspendapplet/suspend.cpp +++ b/core/applets/suspendapplet/suspend.cpp @@ -1,74 +1,85 @@ #include <qpe/resource.h> #include <qpe/qcopenvelope_qws.h> +#include <qapplication.h> #include <qiconset.h> #include <qpopupmenu.h> #include "suspend.h" SuspendApplet::SuspendApplet ( ) : QObject ( 0, "SuspendApplet" ), ref ( 0 ) { } SuspendApplet::~SuspendApplet ( ) { } int SuspendApplet::position ( ) const { return 2; } QString SuspendApplet::name ( ) const { return tr( "Suspend shortcut" ); } QString SuspendApplet::text ( ) const { return tr( "Suspend" ); } +QString SuspendApplet::tr( const char* s ) const +{ + return qApp->translate( "SuspendApplet", s, 0 ); +} + +QString SuspendApplet::tr( const char* s, const char* p ) const +{ + return qApp->translate( "SuspendApplet", s, p ); +} + QIconSet SuspendApplet::icon ( ) const { QPixmap pix; QImage img = Resource::loadImage ( "suspend" ); if ( !img. isNull ( )) pix. convertFromImage ( img. smoothScale ( 14, 14 )); return pix; } QPopupMenu *SuspendApplet::popup ( QWidget * ) const { return 0; } void SuspendApplet::activated ( ) { // suspend QCopEnvelope ( "QPE/System", "suspend()" ); } QRESULT SuspendApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) { *iface = 0; if ( uuid == IID_QUnknown ) *iface = this; else if ( uuid == IID_MenuApplet ) *iface = this; if ( *iface ) (*iface)-> addRef ( ); return QS_OK; } Q_EXPORT_INTERFACE( ) { Q_CREATE_INSTANCE( SuspendApplet ) } diff --git a/core/applets/suspendapplet/suspend.h b/core/applets/suspendapplet/suspend.h index 629430d..0c92bcb 100644 --- a/core/applets/suspendapplet/suspend.h +++ b/core/applets/suspendapplet/suspend.h @@ -1,47 +1,49 @@ /********************************************************************** ** Copyright (C) 2000 Trolltech AS. All rights reserved. ** ** This file is part of Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ #ifndef __OPIE_SUSPEND_APPLET_H__ #define __OPIE_SUSPEND_APPLET_H__ #include <qpe/menuappletinterface.h> class SuspendApplet : public QObject, public MenuAppletInterface { public: SuspendApplet ( ); virtual ~SuspendApplet ( ); QRESULT queryInterface( const QUuid&, QUnknownInterface** ); Q_REFCOUNT virtual int position() const; virtual QString name ( ) const; virtual QIconSet icon ( ) const; virtual QString text ( ) const; + virtual QString tr( const char* ) const; + virtual QString tr( const char*, const char* ) const; virtual QPopupMenu *popup ( QWidget *parent ) const; virtual void activated ( ); private: ulong ref; }; #endif |