1 // File: QtxListResourceEdit.cxx
2 // Author: Sergey TELKOV
4 #include "QtxListResourceEdit.h"
11 #include <qcombobox.h>
12 #include <qlineedit.h>
13 #include <qcheckbox.h>
14 #include <qtabwidget.h>
15 #include <qvalidator.h>
16 #include <qobjectlist.h>
17 #include <qcolordialog.h>
18 #include <qwidgetstack.h>
19 #include <qtoolbutton.h>
20 #include <qfontdialog.h>
22 #include "QtxIntSpinBox.h"
23 #include "QtxDblSpinBox.h"
25 #include "QtxDirListEditor.h"
28 Class: QtxListResourceEdit
29 Descr: GUI implementation of QtxResourceEdit - manager of resources
32 QtxListResourceEdit::QtxListResourceEdit( QtxResourceMgr* mgr, QWidget* parent )
34 QtxResourceEdit( mgr )
36 QVBoxLayout* main = new QVBoxLayout( this, 0, 5 );
37 QGroupBox* base = new QGroupBox( 1, Qt::Vertical, "", this );
38 base->setFrameStyle( QFrame::NoFrame );
39 base->setInsideMargin( 0 );
40 main->addWidget( base );
42 myList = new QListBox( base );
43 myStack = new QWidgetStack( base );
45 myList->setSizePolicy( QSizePolicy( QSizePolicy::Minimum, QSizePolicy::Expanding ) );
46 myStack->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) );
48 myList->setSelectionMode( QListBox::Single );
50 connect( myList, SIGNAL( selectionChanged() ), this, SLOT( onSelectionChanged() ) );
52 setFocusProxy( myList );
57 QtxListResourceEdit::~QtxListResourceEdit()
61 void QtxListResourceEdit::setItemProperty( const int id, const QString& prop, const QVariant& val )
67 bool prev = i->isEmpty();
69 QtxResourceEdit::setItemProperty( id, prop, val );
71 bool next = i->isEmpty();
77 void QtxListResourceEdit::onSelectionChanged()
79 QString title = myList->text( myList->index( myList->selectedItem() ) );
80 if ( title.isEmpty() )
86 for ( QPtrListIterator<Item> it( lst ); it.current() && !i; ++it )
88 if ( it.current()->title() == title )
93 myStack->raiseWidget( i->id() );
96 void QtxListResourceEdit::itemAdded( QtxResourceEdit::Item* i )
101 QPtrList<Item> items;
104 if ( items.contains( i ) || items.contains( i->parentItem() ) )
108 QtxResourceEdit::Item* QtxListResourceEdit::createItem( const QString& title, const int )
110 Item* i = item( title, -1 );
114 Category* category = new Category( this, myStack );
115 myStack->addWidget( category, category->id() );
119 if ( !myList->selectedItem() )
120 myList->setSelected( 0, true );
127 void QtxListResourceEdit::changedResources( const QMap<Item*, QString>& map )
129 QMap<int, QString> idMap;
130 for ( QMap<Item*, QString>::ConstIterator it = map.begin(); it != map.end(); ++it )
132 idMap.insert( it.key()->id(), it.data() );
134 emit resourceChanged( it.key()->id() );
137 it.key()->resource( sec, param );
138 emit resourceChanged( sec, param );
141 emit resourcesChanged( idMap );
144 void QtxListResourceEdit::updateState()
146 if ( myList->selectedItem() && myStack->visibleWidget() )
152 void QtxListResourceEdit::updateVisible()
154 QPtrList<Item> items;
157 QString name = myList->text( myList->index( myList->selectedItem() ) );
160 for ( QPtrListIterator<Item> it( items ); it.current(); ++it )
162 if ( it.current()->isEmpty() )
165 myList->insertItem( it.current()->title() );
169 for ( int i = 0; i < (int)myList->count() && idx == -1; i++ )
171 if ( myList->text( i ) == name )
175 myList->setSelected( QMAX( idx, 0 ), true );
181 Class: QtxListResourceEdit::Category
182 Descr: GUI implementation of preferences category.
185 QtxListResourceEdit::Category::Category( QtxListResourceEdit* edit, QWidget* parent )
189 QVBoxLayout* main = new QVBoxLayout( this );
190 QGroupBox* base = new QGroupBox( 1, Qt::Horizontal, "", this );
191 base->setFrameStyle( QFrame::NoFrame );
192 base->setInsideMargin( 0 );
193 main->addWidget( base, 1 );
195 myTabs = new QTabWidget( base );
196 myInfo = new QLabel( base );
198 myInfo->setAlignment( Qt::AlignCenter );
199 myInfo->setFrameStyle( QFrame::WinPanel | QFrame::Raised );
200 myInfo->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ) );
205 QtxListResourceEdit::Category::~Category()
209 bool QtxListResourceEdit::Category::isEmpty() const
211 return Item::isEmpty() && myInfo->text().isEmpty();
214 int QtxListResourceEdit::Category::type() const
219 void QtxListResourceEdit::Category::store()
223 void QtxListResourceEdit::Category::retrieve()
227 QVariant QtxListResourceEdit::Category::property( const QString& prop ) const
230 if ( prop == QString( "information" ) || prop == QString( "info" ) )
231 var = myInfo->text();
235 void QtxListResourceEdit::Category::setProperty( const QString& name, const QVariant& var )
238 if ( !prop.cast( QVariant::String ) )
241 if ( name == QString( "information" ) || name == QString( "info" ) )
242 myInfo->setText( prop.toString() );
247 QtxResourceEdit::Item* QtxListResourceEdit::Category::createItem( const QString& title, const int )
249 Item* i = item( title, id() );
253 Tab* tab = new Tab( resourceEdit(), this, this );
254 myTabs->addTab( tab, title );
261 void QtxListResourceEdit::Category::updateState()
263 if ( myTabs->count() )
268 if ( !myTabs->count() && !myInfo->text().isEmpty() )
275 Class: QtxListResourceEdit::Tab
276 Descr: GUI implementation of resources tab.
279 QtxListResourceEdit::Tab::Tab( QtxResourceEdit* edit, Item* pItem, QWidget* parent )
283 QVBoxLayout* main = new QVBoxLayout( this );
284 QVBox* vbox = new QVBox( this );
285 vbox->setMargin( 5 );
287 main->addWidget( myMainFrame );
288 main->addStretch( 1 );
291 QtxListResourceEdit::Tab::~Tab()
295 int QtxListResourceEdit::Tab::type() const
300 void QtxListResourceEdit::Tab::store()
304 void QtxListResourceEdit::Tab::retrieve()
308 void QtxListResourceEdit::Tab::polish()
315 QtxResourceEdit::Item* QtxListResourceEdit::Tab::createItem( const QString& title, const int )
317 Item* i = item( title, id() );
321 Group* group = new Group( title, resourceEdit(), this, myMainFrame );
326 void QtxListResourceEdit::Tab::adjustLabels()
328 QObjectList* labels = queryList( "QLabel" );
332 for ( QObjectListIt it1( *labels ); it1.current(); ++it1 )
334 if ( it1.current()->isWidgetType() )
336 QWidget* wid = (QWidget*)it1.current();
337 w = QMAX( w, wid->sizeHint().width() );
340 for ( QObjectListIt it2( *labels ); it2.current(); ++it2 )
342 if ( it2.current()->isWidgetType() )
344 QWidget* wid = (QWidget*)it2.current();
345 wid->setMinimumWidth( w );
353 Class: QtxListResourceEdit::Group
354 Descr: GUI implementation of resources group.
357 QtxListResourceEdit::Group::Group( const QString& title, QtxResourceEdit* edit, Item* pItem, QWidget* parent )
358 : QGroupBox( 2, Qt::Horizontal, title, parent ),
363 QtxListResourceEdit::Group::~Group()
367 int QtxListResourceEdit::Group::type() const
372 void QtxListResourceEdit::Group::store()
376 void QtxListResourceEdit::Group::retrieve()
380 QVariant QtxListResourceEdit::Group::property( const QString& prop ) const
383 if ( prop == "columns" )
384 var = QVariant( columns() );
385 else if ( prop == "orientation" )
386 var = QVariant( orientation() );
387 else if ( prop == "frame" )
388 var = QVariant( frameStyle() != QFrame::NoFrame );
392 void QtxListResourceEdit::Group::setProperty( const QString& name, const QVariant& var )
395 if ( !prop.cast( QVariant::Int ) )
398 if ( name == QString( "columns" ) && prop.cast( QVariant::Int ) && prop.toInt() > 0 )
399 setColumns( prop.toInt() );
400 else if ( name == QString( "orientation" ) && prop.cast( QVariant::Int ) )
402 int o = prop.toInt();
403 if ( o == Qt::Horizontal || o == Qt::Vertical )
404 setOrientation( (Orientation)o );
406 else if ( name == "frame" && prop.cast( QVariant::Bool ) )
408 setInsideMargin( prop.toBool() ? 5 : 0 );
409 QGroupBox::setTitle( prop.toBool() ? Item::title() : QString::null );
410 setFrameStyle( prop.toBool() ? QFrame::Box | QFrame::Sunken : QFrame::NoFrame );
414 void QtxListResourceEdit::Group::setTitle( const QString& title )
416 Item::setTitle( title );
417 QGroupBox::setTitle( title );
420 QtxResourceEdit::Item* QtxListResourceEdit::Group::createItem( const QString& title, const int type )
427 item = new ColorItem( title, resourceEdit(), this, this );
430 item = new StateItem( title, resourceEdit(), this, this );
433 item = new StringItem( title, resourceEdit(), this, this );
436 item = new SelectItem( title, resourceEdit(), this, this );
439 item = new DoubleSpinItem( title, resourceEdit(), this, this );
442 item = new IntegerSpinItem( title, resourceEdit(), this, this );
445 item = new DoubleEditItem( title, resourceEdit(), this, this );
448 item = new IntegerEditItem( title, resourceEdit(), this, this );
451 item = new Spacer( resourceEdit(), this, this );
454 item = new Group( title, resourceEdit(), this, this );
457 item = new FontItem( title, resourceEdit(), this, this );
460 item = new DirListItem( title, resourceEdit(), this, this );
468 Class: QtxListResourceEdit::PrefItem
469 Descr: Base class for preferences items.
472 QtxListResourceEdit::PrefItem::PrefItem( const int type, QtxResourceEdit* edit, Item* pi, QWidget* parent )
480 QtxListResourceEdit::PrefItem::~PrefItem()
484 int QtxListResourceEdit::PrefItem::type() const
489 QtxResourceEdit::Item* QtxListResourceEdit::PrefItem::createItem( const QString&, const int )
495 Class: QtxListResourceEdit::Spacer
496 Descr: GUI implementation of resources spacer.
499 QtxListResourceEdit::Spacer::Spacer( QtxResourceEdit* edit, Item* pItem, QWidget* parent )
500 : PrefItem( Space, edit, pItem, parent )
502 setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
505 QtxListResourceEdit::Spacer::~Spacer()
509 void QtxListResourceEdit::Spacer::store()
513 void QtxListResourceEdit::Spacer::retrieve()
518 Class: QtxListResourceEdit::SelectItem
519 Descr: GUI implementation of resources list item.
522 QtxListResourceEdit::SelectItem::SelectItem( const QString& title, QtxResourceEdit* edit,
523 Item* pItem, QWidget* parent )
524 : PrefItem( Selector, edit, pItem, parent )
526 new QLabel( title, this );
527 myList = new QComboBox( false, this );
528 myList->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
531 QtxListResourceEdit::SelectItem::~SelectItem()
535 void QtxListResourceEdit::SelectItem::store()
537 int idx = myList->currentItem();
538 if ( myIndex.contains( idx ) )
539 setInteger( myIndex[idx] );
542 void QtxListResourceEdit::SelectItem::retrieve()
544 int id = getInteger( -1 );
547 for ( QMap<int, int>::ConstIterator it = myIndex.begin(); it != myIndex.end() && idx == -1; ++it )
549 if ( it.data() == id )
553 myList->setCurrentItem( idx );
556 QVariant QtxListResourceEdit::SelectItem::property( const QString& name ) const
559 if ( name == QString( "strings" ) )
562 for ( int i = 0; i < (int)myList->count(); i++ )
563 lst.append( myList->text( i ) );
564 val = QVariant( lst );
566 else if ( name == QString( "indexes" ) )
568 QValueList<QVariant> lst;
569 for ( int i = 0; i < (int)myList->count(); i++ )
570 lst.append( myIndex.contains( i ) ? myIndex[i] : 0 );
571 val = QVariant( lst );
576 void QtxListResourceEdit::SelectItem::setProperty( const QString& name, const QVariant& val )
578 if ( name == QString( "strings" ) )
580 else if ( name == QString( "indexes" ) )
584 void QtxListResourceEdit::SelectItem::setStrings( const QVariant& var )
586 if ( var.type() != QVariant::StringList )
589 setStrings( var.toStringList() );
592 void QtxListResourceEdit::SelectItem::setIndexes( const QVariant& var )
594 if ( var.type() != QVariant::List )
597 QValueList<QVariant> varList = var.toList();
599 for ( QValueList<QVariant>::const_iterator it = varList.begin(); it != varList.end(); ++it )
601 if ( (*it).canCast( QVariant::Int ) )
602 lst.append( (*it).toInt() );
607 void QtxListResourceEdit::SelectItem::setStrings( const QStringList& lst )
610 myList->insertStringList( lst );
613 void QtxListResourceEdit::SelectItem::setIndexes( const QValueList<int>& lst )
618 for ( QValueList<int>::const_iterator it = lst.begin(); it != lst.end(); ++it, idx++ )
619 myIndex.insert( idx, *it );
623 Class: QtxListResourceEdit::StateItem
624 Descr: GUI implementation of resources bool item.
627 QtxListResourceEdit::StateItem::StateItem( const QString& title, QtxResourceEdit* edit,
628 Item* pItem, QWidget* parent )
629 : PrefItem( Bool, edit, pItem, parent )
631 myState = new QCheckBox( title, this );
632 myState->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
635 QtxListResourceEdit::StateItem::~StateItem()
639 void QtxListResourceEdit::StateItem::store()
641 setBoolean( myState->isChecked() );
644 void QtxListResourceEdit::StateItem::retrieve()
646 myState->setChecked( getBoolean() );
650 Class: QtxListResourceEdit::StringItem
651 Descr: GUI implementation of resources string item.
654 QtxListResourceEdit::StringItem::StringItem( const QString& title, QtxResourceEdit* edit,
655 Item* pItem, QWidget* parent )
656 : PrefItem( String, edit, pItem, parent )
658 new QLabel( title, this );
659 myString = new QLineEdit( this );
660 myString->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
663 QtxListResourceEdit::StringItem::~StringItem()
667 void QtxListResourceEdit::StringItem::store()
669 setString( myString->text() );
672 void QtxListResourceEdit::StringItem::retrieve()
674 myString->setText( getString() );
678 Class: QtxListResourceEdit::IntegerEditItem
679 Descr: GUI implementation of resources integer item.
682 QtxListResourceEdit::IntegerEditItem::IntegerEditItem( const QString& title, QtxResourceEdit* edit, Item* pItem, QWidget* parent )
683 : PrefItem( Integer, edit, pItem, parent )
685 new QLabel( title, this );
686 myInteger = new QLineEdit( this );
687 myInteger->setValidator( new QIntValidator( myInteger ) );
688 myInteger->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
691 QtxListResourceEdit::IntegerEditItem::~IntegerEditItem()
695 void QtxListResourceEdit::IntegerEditItem::store()
697 setString( myInteger->text() );
700 void QtxListResourceEdit::IntegerEditItem::retrieve()
702 myInteger->setText( getString() );
706 Class: QtxListResourceEdit::IntegerSpinItem
707 Descr: GUI implementation of resources integer item.
710 QtxListResourceEdit::IntegerSpinItem::IntegerSpinItem( const QString& title, QtxResourceEdit* edit, Item* pItem, QWidget* parent )
711 : PrefItem( IntSpin, edit, pItem, parent )
713 new QLabel( title, this );
714 myInteger = new QtxIntSpinBox( this );
715 myInteger->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
718 QtxListResourceEdit::IntegerSpinItem::~IntegerSpinItem()
722 void QtxListResourceEdit::IntegerSpinItem::store()
724 setInteger( myInteger->value() );
727 void QtxListResourceEdit::IntegerSpinItem::retrieve()
729 myInteger->setValue( getInteger() );
732 QVariant QtxListResourceEdit::IntegerSpinItem::property( const QString& name ) const
735 if ( name == QString( "minimum" ) || name == QString( "min" ) )
736 var = QVariant( myInteger->minValue() );
737 else if ( name == QString( "maximum" ) || name == QString( "max" ) )
738 var = QVariant( myInteger->maxValue() );
739 else if ( name == QString( "step" ) )
740 var = QVariant( myInteger->lineStep() );
741 else if ( name == QString( "special" ) )
742 var = QVariant( myInteger->specialValueText() );
743 else if ( name == QString( "prefix" ) )
744 var = QVariant( myInteger->prefix() );
745 else if ( name == QString( "suffix" ) )
746 var = QVariant( myInteger->suffix() );
750 void QtxListResourceEdit::IntegerSpinItem::setProperty( const QString& name, const QVariant& var )
754 if ( ( name == QString( "minimum" ) || name == QString( "min" ) ) && prop.cast( QVariant::Int ) )
755 myInteger->setMinValue( prop.toInt() );
756 else if ( ( name == QString( "maximum" ) || name == QString( "max" ) ) && prop.cast( QVariant::Int ) )
757 myInteger->setMaxValue( prop.toInt() );
758 else if ( name == QString( "step" ) && prop.cast( QVariant::Int ) && prop.toInt() > 0 )
759 myInteger->setLineStep( prop.toInt() );
760 else if ( name == QString( "special" ) && prop.cast( QVariant::String ) )
761 myInteger->setSpecialValueText( prop.toString() );
762 else if ( name == QString( "prefix" ) && prop.cast( QVariant::String ) )
763 myInteger->setPrefix( prop.toString() );
764 else if ( name == QString( "suffix" ) && prop.cast( QVariant::String ) )
765 myInteger->setSuffix( prop.toString() );
769 Class: QtxListResourceEdit::DoubleEditItem
770 Descr: GUI implementation of resources string item.
773 QtxListResourceEdit::DoubleEditItem::DoubleEditItem( const QString& title, QtxResourceEdit* edit,
774 Item* pItem, QWidget* parent )
775 : PrefItem( Double, edit, pItem, parent )
777 new QLabel( title, this );
778 myDouble = new QLineEdit( this );
779 myDouble->setValidator( new QDoubleValidator( myDouble ) );
780 myDouble->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
783 QtxListResourceEdit::DoubleEditItem::~DoubleEditItem()
787 void QtxListResourceEdit::DoubleEditItem::store()
789 setString( myDouble->text() );
792 void QtxListResourceEdit::DoubleEditItem::retrieve()
794 myDouble->setText( getString() );
798 Class: QtxListResourceEdit::DoubleSpinItem
799 Descr: GUI implementation of resources double item.
802 QtxListResourceEdit::DoubleSpinItem::DoubleSpinItem( const QString& title, QtxResourceEdit* edit,
803 Item* pItem, QWidget* parent )
804 : PrefItem( DblSpin, edit, pItem, parent )
806 new QLabel( title, this );
807 myDouble = new QtxDblSpinBox( this );
808 myDouble->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
811 QtxListResourceEdit::DoubleSpinItem::~DoubleSpinItem()
815 void QtxListResourceEdit::DoubleSpinItem::store()
817 setDouble( myDouble->value() );
820 void QtxListResourceEdit::DoubleSpinItem::retrieve()
822 myDouble->setValue( getDouble() );
825 QVariant QtxListResourceEdit::DoubleSpinItem::property( const QString& name ) const
828 if ( name == QString( "minimum" ) || name == QString( "min" ) )
829 var = QVariant( myDouble->minValue() );
830 else if ( name == QString( "maximum" ) || name == QString( "max" ) )
831 var = QVariant( myDouble->maxValue() );
832 else if ( name == QString( "precision" ) )
833 var = QVariant( myDouble->precision() );
834 else if ( name == QString( "step" ) )
835 var = QVariant( myDouble->lineStep() );
836 else if ( name == QString( "special" ) )
837 var = QVariant( myDouble->specialValueText() );
838 else if ( name == QString( "prefix" ) )
839 var = QVariant( myDouble->prefix() );
840 else if ( name == QString( "suffix" ) )
841 var = QVariant( myDouble->suffix() );
845 void QtxListResourceEdit::DoubleSpinItem::setProperty( const QString& name, const QVariant& var )
849 if ( ( name == QString( "minimum" ) || name == QString( "min" ) ) && prop.cast( QVariant::Double ) )
850 myDouble->setMinValue( prop.toDouble() );
851 else if ( ( name == QString( "maximum" ) || name == QString( "max" ) ) && prop.cast( QVariant::Double ) )
852 myDouble->setMaxValue( prop.toDouble() );
853 else if ( name == QString( "step" ) && prop.cast( QVariant::Double ) && prop.toDouble() > 0 )
854 myDouble->setLineStep( prop.toDouble() );
855 else if ( name == QString( "precision" ) && prop.cast( QVariant::Int ) && prop.toInt() > 0 )
856 myDouble->setPrecision( prop.toInt() );
857 else if ( name == QString( "special" ) && prop.cast( QVariant::String ) )
858 myDouble->setSpecialValueText( prop.toString() );
859 else if ( name == QString( "prefix" ) && prop.cast( QVariant::String ) )
860 myDouble->setPrefix( prop.toString() );
861 else if ( name == QString( "suffix" ) && prop.cast( QVariant::String ) )
862 myDouble->setSuffix( prop.toString() );
866 Class: QtxListResourceEdit::ColorItem
867 Descr: GUI implementation of resources color item.
870 QtxListResourceEdit::ColorItem::ColorItem( const QString& title, QtxResourceEdit* edit,
871 Item* pItem, QWidget* parent )
872 : PrefItem( Color, edit, pItem, parent )
874 class ColorSelector : public QLabel
877 ColorSelector( QWidget* parent = 0 ) : QLabel( parent )
879 setFrameStyle( WinPanel | Raised );
881 virtual ~ColorSelector() {}
882 virtual QSize minimumSizeHint() const
884 return QLabel::minimumSizeHint() + QSize( 0, 2 );
888 virtual void mousePressEvent( QMouseEvent* e )
890 if ( e->button() == LeftButton )
892 setFrameStyle( WinPanel | Sunken );
893 QColor c = QColorDialog::getColor( paletteBackgroundColor(), this );
895 setPaletteBackgroundColor( c );
897 setFrameStyle( WinPanel | Raised );
902 new QLabel( title, this );
903 myColor = new ColorSelector( this );
904 myColor->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
907 QtxListResourceEdit::ColorItem::~ColorItem()
911 void QtxListResourceEdit::ColorItem::store()
913 setColor( myColor->paletteBackgroundColor() );
916 void QtxListResourceEdit::ColorItem::retrieve()
918 myColor->setPaletteBackgroundColor( getColor() );
923 Class: QtxListResourceEdit::FontItem
924 Descr: GUI implementation of resources font item.
926 QtxListResourceEdit::FontItem::FontItem( const QString& title, QtxResourceEdit* edit, Item* pItem, QWidget* parent )
927 : PrefItem( Font, edit, pItem, parent )
929 new QLabel( title, this );
930 myFontPrs = new QLabel( "", this );
931 myFontPrs->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ) );
932 myFontPrs->setAutoResize( true );
933 myFontPrs->setAlignment( Qt::AlignLeft );
935 QToolButton* selFont = new QToolButton( this );
936 selFont->setSizePolicy( QSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed ) );
937 selFont->setText( "..." );
938 connect( selFont, SIGNAL( clicked() ), this, SLOT( onSelectFont() ) );
941 QtxListResourceEdit::FontItem::~FontItem()
945 void QtxListResourceEdit::FontItem::store()
947 Item::setFont( myFont );
950 void QtxListResourceEdit::FontItem::retrieve()
956 void QtxListResourceEdit::FontItem::buildFontPrs()
959 fval.append( myFont.family() );
961 fval.append( "Bold" );
962 if( myFont.italic() )
963 fval.append( "Italic" );
964 fval.append( QString( "%1" ).arg( myFont.pointSize() ) );
966 myFontPrs->setText( fval.join( ", " ) );
969 void QtxListResourceEdit::FontItem::onSelectFont()
972 QFont newFont = QFontDialog::getFont( &ok, myFont, this );
980 QtxListResourceEdit::DirListItem::DirListItem( const QString& title, QtxResourceEdit* edit, Item* pItem, QWidget* parent )
981 : PrefItem( Font, edit, pItem, parent )
983 myDirListEditor = new QtxDirListEditor( this );
986 QtxListResourceEdit::DirListItem::~DirListItem()
990 void QtxListResourceEdit::DirListItem::store()
993 myDirListEditor->getPathList(list);
994 setString( QString(list.join(";")) );
997 void QtxListResourceEdit::DirListItem::retrieve()
999 myDirListEditor->setPathList(QStringList::split(";", getString()));