-rw-r--r-- | noncore/settings/appearance2/appearance.cpp | 2 | ||||
-rw-r--r-- | noncore/settings/appearance2/stylelistitem.h | 9 |
2 files changed, 5 insertions, 6 deletions
diff --git a/noncore/settings/appearance2/appearance.cpp b/noncore/settings/appearance2/appearance.cpp index 8cd54a2..4132b30 100644 --- a/noncore/settings/appearance2/appearance.cpp +++ b/noncore/settings/appearance2/appearance.cpp @@ -108,65 +108,65 @@ private: }; void Appearance::loadStyles ( QListBox *list ) { #if QT_VERSION >= 300 list->insertStringList(QStyleFactory::styles()); #else list->insertItem( new StyleListItem ( "Windows", new QWindowsStyle ( ))); list->insertItem( new StyleListItem ( "Light", new LightStyle ( ))); #ifndef QT_NO_STYLE_MOTIF list->insertItem( new StyleListItem ( "Motif", new QMotifStyle ( ))); #endif #ifndef QT_NO_STYLE_MOTIFPLUS list->insertItem( new StyleListItem ( "MotifPlus", new QMotifPlusStyle ( ))); #endif #ifndef QT_NO_STYLE_PLATINUM list->insertItem( new StyleListItem ( "Platinum", new QPlatinumStyle ( ))); #endif #endif list->insertItem( new StyleListItem ( "QPE", new QPEStyle ( ))); #if QT_VERSION < 300 { QString path = QPEApplication::qpeDir() + "/plugins/styles/"; QStringList sl = QDir ( path, "lib*.so" ). entryList ( ); for ( QStringList::Iterator it = sl. begin ( ); it != sl. end ( ); ++it ) { QLibrary *lib = new QLibrary ( path + "/" + *it ); StyleInterface *iface; - if ( lib-> queryInterface ( IID_Style, (QUnknownInterface **) &iface ) == QS_OK ) + if (( lib-> queryInterface ( IID_Style, (QUnknownInterface **) &iface ) == QS_OK ) && iface ) list-> insertItem ( new StyleListItem ( lib, iface )); else delete lib; } } #endif } void Appearance::loadDecos ( QListBox *list ) { list-> insertItem ( new DecoListItem ( "QPE" )); { QString path = QPEApplication::qpeDir() + "/plugins/decorations/"; QStringList sl = QDir ( path, "lib*.so" ). entryList ( ); for ( QStringList::Iterator it = sl. begin ( ); it != sl. end ( ); ++it ) { QLibrary *lib = new QLibrary ( path + "/" + *it ); WindowDecorationInterface *iface; if ( lib-> queryInterface ( IID_WindowDecoration, (QUnknownInterface **) &iface ) == QS_OK ) list-> insertItem ( new DecoListItem ( lib, iface )); else delete lib; } } } void Appearance::loadColors ( QListBox *list ) { list-> clear ( ); diff --git a/noncore/settings/appearance2/stylelistitem.h b/noncore/settings/appearance2/stylelistitem.h index e261511..caefad8 100644 --- a/noncore/settings/appearance2/stylelistitem.h +++ b/noncore/settings/appearance2/stylelistitem.h @@ -19,95 +19,94 @@ : = ...= . :.=- You should have received a copy of the GNU -. .:....=;==+<; General Public License along with this file; -_. . . )=. = see the file COPYING. If not, write to the -- :-=` Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef STYLELISTITEM_H #define STYLELISTITEM_H #include <qlistbox.h> #include <qpe/styleinterface.h> #include <stdio.h> class StyleListItem : public QListBoxText { public: StyleListItem ( const QString &t, QStyle *sty ) : QListBoxText ( t ) { m_lib = 0; m_style_if = 0; m_settings_if = 0; m_style = sty; } StyleListItem ( QLibrary *lib, StyleInterface *iface ) : QListBoxText ( iface-> name ( )) { m_lib = lib; m_style_if = iface; m_settings_if = 0; - m_style = iface-> create ( ); + m_style = iface-> style ( ); - iface-> queryInterface ( IID_StyleSettings, (QUnknownInterface **) &m_settings_if ); + iface-> queryInterface ( IID_StyleExtended, (QUnknownInterface **) &m_settings_if ); } virtual ~StyleListItem ( ) { delete m_style; if ( m_settings_if ) m_settings_if-> release ( ); if ( m_style_if ) m_style_if-> release ( ); delete m_lib; } bool hasSettings ( ) const { - return ( m_settings_if ); + return m_settings_if ? m_settings_if-> hasSettings ( ) : false; } QWidget *settings ( QWidget *parent ) { return m_settings_if ? m_settings_if-> create ( parent ) : 0; } bool setSettings ( bool accepted ) { if ( !m_settings_if ) return false; if ( accepted ) return m_settings_if-> accept ( ); else { m_settings_if-> reject ( ); return false; } } QString key ( ) { if ( m_lib ) return QFileInfo ( m_lib-> library ( )). fileName ( ); - //return QString ( m_style_if-> key ( )); else return text ( ); } QStyle *style ( ) { return m_style; } private: QLibrary *m_lib; QStyle *m_style; StyleInterface *m_style_if; - StyleSettingsInterface *m_settings_if; + StyleExtendedInterface *m_settings_if; }; #endif |