author | mickeyl <mickeyl> | 2005-04-01 23:30:07 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2005-04-01 23:30:07 (UTC) |
commit | 8a1c307f9dfc26a31d42f29f29a5b1c048b99102 (patch) (side-by-side diff) | |
tree | 8e8925baf6a77e01379264afb540f33a3c07bec7 | |
parent | 88cc0cc17864de6e36bdeedaae6df0a5cc738c5a (diff) | |
download | opie-8a1c307f9dfc26a31d42f29f29a5b1c048b99102.zip opie-8a1c307f9dfc26a31d42f29f29a5b1c048b99102.tar.gz opie-8a1c307f9dfc26a31d42f29f29a5b1c048b99102.tar.bz2 |
scale O-Menu-Applet pixmaps according to AppLnk::smallIconSize
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | core/applets/aboutapplet/about.cpp | 3 | ||||
-rw-r--r-- | core/applets/homeapplet/home.cpp | 8 | ||||
-rw-r--r-- | core/applets/homeapplet/home.h | 1 | ||||
-rw-r--r-- | core/applets/logoutapplet/logout.cpp | 8 | ||||
-rw-r--r-- | core/applets/logoutapplet/logout.h | 1 | ||||
-rw-r--r-- | core/applets/restartapplet2/restart.cpp | 11 | ||||
-rw-r--r-- | core/applets/rotateapplet/rotate.cpp | 6 | ||||
-rw-r--r-- | core/applets/suspendapplet/suspend.cpp | 8 | ||||
-rw-r--r-- | core/applets/suspendapplet/suspend.h | 1 | ||||
-rw-r--r-- | core/applets/vtapplet/vt.cpp | 3 |
11 files changed, 28 insertions, 25 deletions
@@ -1,38 +1,39 @@ 2005-??-?? Opie 1.2.1 Fixed Bugs ---------- + * n.a. - scale O-Menu-Applets appropriately (mickeyl) 2005-03-25 Opie 1.2.0 Fixed Bugs ---------- * #1613 - AdvancedFM - scale toolbar icons appropriately (drw) * #1620 - OFileSelector - show the button on press and not on press on hold (alwin) * #1473 - Opie-Eye - Same as #1620 but we lack a common FileSystem Button class (zecke) * n.a. - PackageManager - fix bug where messages show up multiple times in install dialog (drw) - * n.a - make qpeglobal.h include qglobal.h (zecke) + * n.a. - make qpeglobal.h include qglobal.h (zecke) 2005-03-20 Opie 1.2.0-rc1 New Features ------------ * Launcher: Support a static background pixmap (mickeyl) * LauncherSettings: Choose whether to have a static background pixmap (mickeyl) * PackageManager supports the 'lists_dir' ipkg configuration option (drw) * Added hi-res inline images for large resolution devices (drw) * Improved launcher icons for consistency (ar) * Datebook: Added plugin system to datebook so holidays and birthdays from contacts may displayed in datebook (alwin) Fixed Bugs ---------- * #1236 - VCards contained empty home and work address entries causing Palms to crash (eilers) * #1412 - Launcher Settings - fixed default settings for background in Edit tab dialog (drw) * #1472 - Opie textedit now check for unsaved changes on ESC key (ljp) * #1474 - Implement GUI for Scrollbars on the Left in Appearance (zecke) * #1482 - Fix double '/' in paths (zecke) * #1536 - Autosave of custom locations in opie backup (ar) * #1539 - Fixed displaying too long path in the delete dialog in opie-eye (zecke) * #1540 - Implemented deletion of DocLnks in opie-eye (zecke) * #1542 - Fixed Todo crash when priority < 1 or > 5 (drw) diff --git a/core/applets/aboutapplet/about.cpp b/core/applets/aboutapplet/about.cpp index 1dbd4c4..ec214f3 100644 --- a/core/applets/aboutapplet/about.cpp +++ b/core/applets/aboutapplet/about.cpp @@ -1,74 +1,75 @@ #include "about.h" #include "widget.h" +#include <qpe/applnk.h> #include <qpe/qpeapplication.h> #include <qpe/resource.h> #include <qpe/qcopenvelope_qws.h> #include <qlabel.h> AboutApplet::AboutApplet ( ) : QObject ( 0, "AboutApplet" ), m_ad( 0l ) {} AboutApplet::~AboutApplet ( ) { delete m_ad; } int AboutApplet::position ( ) const { return 1; } QString AboutApplet::name ( ) const { return tr( "About shortcut" ); } QString AboutApplet::text ( ) const { return tr( "About" ); } QString AboutApplet::tr( const char* s ) const { return qApp->translate( "AboutApplet", s, 0 ); } QString AboutApplet::tr( const char* s, const char* p ) const { return qApp->translate( "AboutApplet", s, p ); } QIconSet AboutApplet::icon ( ) const { QPixmap pix; QImage img = Resource::loadImage ( "logo/opielogo" ); if ( !img. isNull ( ) ) - pix. convertFromImage ( img. smoothScale ( 14, 14 ) ); + pix.convertFromImage( img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) ); return pix; } QPopupMenu *AboutApplet::popup ( QWidget * ) const { return 0; } void AboutApplet::activated() { if ( !m_ad ) m_ad = new AboutWidget( 0, "aboutDialog" ); QPEApplication::showWidget( m_ad ); } QRESULT AboutApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) { *iface = 0; if ( uuid == IID_QUnknown ) * iface = this; else if ( uuid == IID_MenuApplet ) * iface = this; else diff --git a/core/applets/homeapplet/home.cpp b/core/applets/homeapplet/home.cpp index 8a930be..02d1265 100644 --- a/core/applets/homeapplet/home.cpp +++ b/core/applets/homeapplet/home.cpp @@ -1,73 +1,73 @@ +#include "home.h" + +#include <qpe/applnk.h> #include <qpe/resource.h> #include <qpe/qcopenvelope_qws.h> #include <qapplication.h> -#include "home.h" - - HomeApplet::HomeApplet ( ) : QObject ( 0, "HomeApplet" ) { } 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 )); + pix.convertFromImage( img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) ); 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; else return QS_FALSE; diff --git a/core/applets/homeapplet/home.h b/core/applets/homeapplet/home.h index 22ecd47..7f1f006 100644 --- a/core/applets/homeapplet/home.h +++ b/core/applets/homeapplet/home.h @@ -1,47 +1,48 @@ /********************************************************************** ** 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> +#include <qobject.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 ( ); }; #endif diff --git a/core/applets/logoutapplet/logout.cpp b/core/applets/logoutapplet/logout.cpp index 0ac0067..0f36f16 100644 --- a/core/applets/logoutapplet/logout.cpp +++ b/core/applets/logoutapplet/logout.cpp @@ -1,76 +1,76 @@ +#include "logout.h" + +#include <qpe/applnk.h> #include <qpe/resource.h> #include <qpe/qcopenvelope_qws.h> #include <qapplication.h> #include <qmessagebox.h> #include <unistd.h> -#include "logout.h" - - LogoutApplet::LogoutApplet ( ) : QObject ( 0, "LogoutApplet" ) { } 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 )); + pix.convertFromImage( img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) ); 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; diff --git a/core/applets/logoutapplet/logout.h b/core/applets/logoutapplet/logout.h index a991f65..3c17278 100644 --- a/core/applets/logoutapplet/logout.h +++ b/core/applets/logoutapplet/logout.h @@ -1,47 +1,48 @@ /********************************************************************** ** 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> +#include <qobject.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 ( ); }; #endif diff --git a/core/applets/restartapplet2/restart.cpp b/core/applets/restartapplet2/restart.cpp index a169505..eda0005 100644 --- a/core/applets/restartapplet2/restart.cpp +++ b/core/applets/restartapplet2/restart.cpp @@ -1,36 +1,33 @@ // coptright Mon 10-21-2002 01:14:03 by L. Potter <ljp@llornkcor.com> +#include "restart.h" + +#include <qpe/applnk.h> #include <qpe/qpeapplication.h> #include <qpe/resource.h> #include <qpe/qcopenvelope_qws.h> -#include "restart.h" - -// #include <stdlib.h> -// #include <unistd.h> -// #include <sys/stat.h> -//#include <dirent.h> /* XPM */ static char *restart_xpm[] = { "16 16 11 1", " c None", ". c #000000", "+ c #DCDCDC", "@ c #A0A0A0", "# c #C3C3C3", "$ c #808080", "% c #FFA858", "& c #FFDCA8", "* c #FFFFC0", "= c #FFFFFF", "- c #585858", " .. ", " .. .++. .. ", " .+@.@##@.@+. ", " .@+$@%%@$+@. ", " .$%%&%&%$. ", " ..+@%&$$%&@+.. ", ".+#@%&%@@&*%@#+.", ".$@+$&*&&=*$+@$.", " .--+$&*=&$+--. ", " .$#++$$++#$. ", @@ -50,49 +47,49 @@ RestartApplet::~RestartApplet ( ) { } int RestartApplet::position ( ) const { return 4; } QString RestartApplet::name ( ) const { return tr( "Restart" ); } QString RestartApplet::text ( ) const { return tr( "Restart Opie" ); } QIconSet RestartApplet::icon ( ) const { QPixmap pix; QImage img = ( const char** ) restart_xpm ;//Resource::loadImage ( "Run" ); if ( !img. isNull ( )) - pix. convertFromImage ( img. smoothScale ( 14, 14 )); + pix.convertFromImage( img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) ); return pix; } QPopupMenu *RestartApplet::popup ( QWidget * ) const { return 0; } void RestartApplet::activated ( ) { QCopEnvelope e("QPE/System", "restart()"); } QRESULT RestartApplet::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) { *iface = 0; if ( uuid == IID_QUnknown ) *iface = this; else if ( uuid == IID_MenuApplet ) *iface = this; else return QS_FALSE; diff --git a/core/applets/rotateapplet/rotate.cpp b/core/applets/rotateapplet/rotate.cpp index f23423d..d13c2c0 100644 --- a/core/applets/rotateapplet/rotate.cpp +++ b/core/applets/rotateapplet/rotate.cpp @@ -12,56 +12,56 @@ - . .-<_> .<> Foundation; either version 2 of the License, ._= =} : or (at your option) any later version. .%+i> _;_. .i_,=:_. -<s. 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "rotate.h" /* OPIE */ #include <opie2/odebug.h> #include <opie2/odevice.h> +#include <qpe/applnk.h> #include <qpe/config.h> #include <qpe/power.h> #include <qpe/qcopenvelope_qws.h> #include <qpe/resource.h> using namespace Opie::Core; -/* QT */ - +/* STD */ #include <time.h> RotateApplet::RotateApplet() :QObject( 0, "RotateApplet" ), m_flipped( false ) { #if !defined(QT_NO_COP) QCopChannel *rotateChannel = new QCopChannel( "QPE/Rotation" , this ); connect ( rotateChannel, SIGNAL( received(const QCString&,const QByteArray&) ), this, SLOT ( channelReceived(const QCString&,const QByteArray&) ) ); #endif } RotateApplet::~RotateApplet ( ) {} /** * Qcop receive method. */ void RotateApplet::channelReceived( const QCString &msg, const QByteArray & data ) { odebug << "RotateApplet::channelReceived( '" << msg << "' )" << oendl; @@ -121,49 +121,49 @@ QString RotateApplet::name() const return tr( "Rotate shortcut" ); } QString RotateApplet::text() const { return tr( "Rotate" ); } /*QString RotateApplet::tr( const char* s ) const { return qApp->translate( "RotateApplet", s, 0 ); } QString RotateApplet::tr( const char* s, const char* p ) const { return qApp->translate( "RotateApplet", s, p ); } */ QIconSet RotateApplet::icon() const { QPixmap pix; QImage img = Resource::loadImage( "Rotation" ); if ( !img.isNull() ) - pix.convertFromImage( img.smoothScale( 14, 14 ) ); + pix.convertFromImage( img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) ); return pix; } QPopupMenu* RotateApplet::popup(QWidget*) const { return 0; } void RotateApplet::rotateDefault() { int rot = ODevice::inst()->rotation(); switch (rot) { case Rot0: rot=0; break; case Rot90: rot=90; break; case Rot180: rot=180; break; case Rot270: rot=270; break; default: rot=0; break; } Config cfg( "qpe" ); cfg.setGroup( "Appearance" ); diff --git a/core/applets/suspendapplet/suspend.cpp b/core/applets/suspendapplet/suspend.cpp index 0eb94cb..4fbd704 100644 --- a/core/applets/suspendapplet/suspend.cpp +++ b/core/applets/suspendapplet/suspend.cpp @@ -1,73 +1,73 @@ +#include "suspend.h" + +#include <qpe/applnk.h> #include <qpe/resource.h> #include <qpe/qcopenvelope_qws.h> #include <qapplication.h> -#include "suspend.h" - - SuspendApplet::SuspendApplet ( ) : QObject ( 0, "SuspendApplet" ) { } 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 )); + pix.convertFromImage( img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) ); 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; else return QS_FALSE; diff --git a/core/applets/suspendapplet/suspend.h b/core/applets/suspendapplet/suspend.h index 8c54cde..c037adc 100644 --- a/core/applets/suspendapplet/suspend.h +++ b/core/applets/suspendapplet/suspend.h @@ -1,47 +1,48 @@ /********************************************************************** ** 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> +#include <qobject.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 ( ); }; #endif diff --git a/core/applets/vtapplet/vt.cpp b/core/applets/vtapplet/vt.cpp index 7832ee0..ae89635 100644 --- a/core/applets/vtapplet/vt.cpp +++ b/core/applets/vtapplet/vt.cpp @@ -1,41 +1,42 @@ /********************************************************************** ** Copyright (C) 2003-2004 Michael 'Mickey' Lauer <mickey@Vanille.de> ** ** 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. ** **********************************************************************/ #include "vt.h" /* OPIE */ #include <opie2/odebug.h> +#include <qpe/applnk.h> #include <qpe/resource.h> using namespace Opie::Core; /* QT */ #include <qpopupmenu.h> /* STD */ #include <fcntl.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/ioctl.h> #include <linux/vt.h> VTApplet::VTApplet ( ) : QObject ( 0, "VTApplet" ) { } VTApplet::~VTApplet ( ) { } int VTApplet::position ( ) const @@ -50,49 +51,49 @@ QString VTApplet::name ( ) const QString VTApplet::text ( ) const { return tr( "Terminal" ); } /* QString VTApplet::tr( const char* s ) const { return qApp->translate( "VTApplet", s, 0 ); } QString VTApplet::tr( const char* s, const char* p ) const { return qApp->translate( "VTApplet", s, p ); } */ QIconSet VTApplet::icon ( ) const { QPixmap pix; QImage img = Resource::loadImage ( "terminal" ); if ( !img. isNull ( )) - pix. convertFromImage ( img. smoothScale ( 14, 14 )); + pix.convertFromImage( img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) ); return pix; } QPopupMenu *VTApplet::popup ( QWidget* parent ) const { odebug << "VTApplet::popup" << oendl; struct vt_stat vtstat; #ifdef QT_QWS_DEVFS int fd = ::open( "/dev/vc/0", O_RDWR ); #else int fd = ::open( "/dev/tty0", O_RDWR ); #endif if ( fd == -1 ) return 0; if ( ioctl( fd, VT_GETSTATE, &vtstat ) == -1 ) return 0; m_subMenu = new QPopupMenu( parent ); m_subMenu->setCheckable( true ); for ( int i = 1; i < 10; ++i ) { int id = m_subMenu->insertItem( QString::number( i ), 500+i ); m_subMenu->setItemChecked( id, id-500 == vtstat.v_active ); } ::close( fd ); |