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:
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 }
This file is part of the documentation for OPIE Version 1.1.