kpanelapplet.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "kpanelapplet.h"
00025 #include "kpanelapplet.moc"
00026 #include <kapplication.h>
00027 #include <kconfig.h>
00028
00029 class KPanelApplet::KPanelAppletPrivate
00030 {
00031 public:
00032 KPanelAppletPrivate() : customMenu(0) {}
00033
00034 const QPopupMenu* customMenu;
00035 KSharedConfig::Ptr sharedConfig;
00036 };
00037
00038 KPanelApplet::KPanelApplet(const QString& configFile, Type type,
00039 int actions, QWidget *parent, const char *name, WFlags f)
00040 : QFrame(parent, name, f)
00041 , _type(type)
00042 , _position( pBottom )
00043 , _alignment( LeftTop )
00044 , _config(0)
00045 , _actions(actions)
00046 , d(new KPanelApplet::KPanelAppletPrivate())
00047 {
00048 setFrameStyle(NoFrame);
00049 QPalette pal(palette());
00050 if(pal.active().mid() != pal.inactive().mid()){
00051 pal.setInactive(pal.active());
00052 setPalette(pal);
00053 }
00054 setBackgroundOrigin( AncestorOrigin );
00055
00056 d->sharedConfig = KSharedConfig::openConfig(configFile, kapp && kapp->config()->isImmutable());
00057 _config = d->sharedConfig;
00058 }
00059
00060 KPanelApplet::~KPanelApplet()
00061 {
00062 delete d;
00063 }
00064
00065 void KPanelApplet::setPosition( Position p )
00066 {
00067 if( _position == p ) return;
00068 _position = p;
00069 positionChange( p );
00070 }
00071
00072 void KPanelApplet::setAlignment( Alignment a )
00073 {
00074 if( _alignment == a ) return;
00075 _alignment = a;
00076 alignmentChange( a );
00077 }
00078
00079
00080 void KPanelApplet::positionChange( Position )
00081 {
00082 orientationChange( orientation() );
00083 QResizeEvent e( size(), size() );
00084 resizeEvent( &e );
00085 popupDirectionChange( popupDirection() );
00086 }
00087
00088 Qt::Orientation KPanelApplet::orientation() const
00089 {
00090 if( _position == pTop || _position == pBottom ) {
00091 return Horizontal;
00092 } else {
00093 return Vertical;
00094 }
00095 }
00096
00097
00098 KPanelApplet::Direction KPanelApplet::popupDirection()
00099 {
00100 switch( _position ) {
00101 case pTop: return Down;
00102 case pRight: return Left;
00103 case pLeft: return Right;
00104 default:
00105 case pBottom: return Up;
00106 }
00107 }
00108
00109 void KPanelApplet::action( Action a )
00110 {
00111 if ( (a & About) != 0 )
00112 about();
00113 if ( (a & Help) != 0 )
00114 help();
00115 if ( (a & Preferences) != 0 )
00116 preferences();
00117 if ( (a & ReportBug) != 0 )
00118 reportBug();
00119 }
00120
00121 const QPopupMenu* KPanelApplet::customMenu() const
00122 {
00123 return d->customMenu;
00124 }
00125
00126 void KPanelApplet::setCustomMenu(const QPopupMenu* menu)
00127 {
00128 d->customMenu = menu;
00129 }
00130
00131 KSharedConfig::Ptr KPanelApplet::sharedConfig() const
00132 {
00133 return d->sharedConfig;
00134 }
00135
00136 void KPanelApplet::virtual_hook( int, void* )
00137 { }
00138
This file is part of the documentation for kdeui Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Apr 21 18:43:17 2004 by
doxygen 1.3.6-20040222 written by
Dimitri van Heesch, © 1997-2003