libopie API Documentation

ofontmenu.cc

00001 
00002 
00003 #include <qpe/config.h>
00004 #include "ofontmenu.h"
00005 
00006 
00014 OFontMenu::OFontMenu(QWidget *parent, const char *name, const QList<QWidget> &list )
00015   : QPopupMenu( parent, name )
00016 {
00017   m_list = list;
00018   m_wids.setAutoDelete( TRUE );
00019 
00020   insertItem(tr("Large"), this, SLOT(slotLarge() ),
00021          0, 10);
00022   insertItem(tr("Medium"), this, SLOT(slotMedium() ),
00023          0, 11 );
00024   insertItem(tr("Small"), this, SLOT(slotSmall() ),
00025          0, 12 );
00026   setCheckable( true );
00027   m_size=10;
00028 }
00029 
00036 void OFontMenu::save(Config *cfg )
00037 {
00038   cfg->setGroup("OFontMenu" );
00039   cfg->writeEntry("size", m_size );
00040 }
00041 
00047 void OFontMenu::restore(Config *cfg )
00048 {
00049   cfg->setGroup("OFontMeny" );
00050   m_size = cfg->readNumEntry("size" );
00051   setItemChecked(10, false  );
00052   setItemChecked(11, false  );
00053   setItemChecked(12, false  );
00054   switch( m_size ){
00055   case 8:
00056     setItemChecked(12, true );
00057     break;
00058   case 14:
00059     setItemChecked(10, true );
00060     break;
00061   case 10:// fall through
00062   default:
00063     setItemChecked(11, true );
00064     m_size = 10;
00065     break;
00066   }
00067   setFontSize( m_size );
00068 }
00069 
00074 void OFontMenu::setWidgets(const QList<QWidget> &list )
00075 {
00076   m_list = list;
00077 }
00078 
00083 void OFontMenu::addWidget( QWidget *wid )
00084 {
00085   m_list.append(wid );
00086 }
00087 
00092 void OFontMenu::removeWidget( QWidget *wid )
00093 {
00094   m_list.remove( wid );
00095 }
00096 
00100 const QList<QWidget> &OFontMenu::widgets()const
00101 {
00102   return m_list;
00103 }
00104 
00110 void OFontMenu::forceSize(QWidget *wid, int size )
00111 {
00112   WidSize *widz = new WidSize;
00113   widz->wid = wid;
00114   widz->size = size;
00115   m_wids.append( widz );
00116 }
00117 void OFontMenu::slotSmall()
00118 {
00119   setItemChecked(10, false  );
00120   setItemChecked(11, false  );
00121   setItemChecked(12, true   );
00122   setFontSize( 8 );
00123 }
00124 void OFontMenu::slotMedium()
00125 {
00126   setItemChecked(10, false  );
00127   setItemChecked(11, true   );
00128   setItemChecked(12, false  );
00129   setFontSize(10 );
00130 }
00131 void OFontMenu::slotLarge()
00132 {
00133   setItemChecked(10, true   );
00134   setItemChecked(11, false  );
00135   setItemChecked(12, false  );
00136   setFontSize(14 );
00137 }
00138 void OFontMenu::setFontSize(int size )
00139 {
00140   m_size = size;
00141   QWidget *wid;
00142   for(wid = m_list.first(); wid !=0; wid = m_list.next() ){
00143     QFont font = wid->font();
00144     font.setPointSize( size );
00145     wid->setFont( font );
00146   }
00147   if(!m_wids.isEmpty() ){
00148     WidSize *wids;
00149     for( wids = m_wids.first(); wids != 0; wids = m_wids.next() ){
00150       QFont font = wids->wid->font();
00151       font.setPointSize( wids->size );
00152       wids->wid->setFont( font );
00153     }
00154   }
00155   emit fontChanged(size );
00156 }
KDE Logo
This file is part of the documentation for OPIE Version 1.1.
Documentation copyright © 1997-2003 the KDE developers. 2003 OPIE developers
Generated on Tue Feb 10 20:24:44 2004 by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2001