⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qpe_load_iconset.cpp

📁 Trolltech公司发布的图形界面操作系统。可在qt-embedded-2.3.10平台上编译为嵌入式图形界面操作系统。
💻 CPP
字号:
/************************************************************************ Copyright (C) 2000-2005 Trolltech AS.  All rights reserved.**** This file is part of the Qtopia Environment.** ** This program is free software; you can redistribute it and/or modify it** under the terms of the GNU General Public License as published by the** Free Software Foundation; either version 2 of the License, or (at your** option) any later version.** ** A copy of the GNU GPL license version 2 is included in this package as ** LICENSE.GPL.**** This program is distributed in the hope that it will be useful, but** WITHOUT ANY WARRANTY; without even the implied warranty of** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ** See the GNU General Public License for more details.**** In addition, as a special exception Trolltech gives permission to link** the code of this program with Qtopia applications copyrighted, developed** and distributed by Trolltech under the terms of the Qtopia Personal Use** License Agreement. You must comply with the GNU General Public License** in all respects for all of the code used other than the applications** licensed under the Qtopia Personal Use License Agreement. If you modify** this file, you may extend this exception to your version of the file,** but you are not obligated to do so. If you do not wish to do so, delete** this exception statement from your version.** ** See http://www.trolltech.com/gpl/ for GPL licensing information.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/// This is #included by qtopia/resource.cpp and//                      qtopia1/resource1.cppextern bool qpe_fast_findPixmap;/*  Returns a QIconSet for the pixmap named \a pix.  You should avoid including any filename type extension (eg. .png, .xpm).  The icon size is determined by the Qtopia font setting.  First availability: Qtopia 1.6*/static QIconSet qpe_loadIconSet( const QString &pix ) {    static QString iconSmallSize;    static QString iconLargeSize;    if ( iconSmallSize.isEmpty() ) {	Config config( "qpe" );	config.setGroup( "Appearance" );	int size = config.readNumEntry("IconSize",0);	config = Config( "IconSizes" );	config.setGroup( "IconSizes" );	QStringList sl = config.readListEntry( "Available", ' ' );	QStringList::Iterator it;	QValueList<QSize> available;	for (it = sl.begin(); it != sl.end(); ++it) {	    int isRect = (*it).find("x");	    QSize s;	    if (isRect > -1) {		s = QSize((*it).toInt(), (*it).mid(isRect+1).toInt());	    } else {		s = QSize((*it).toInt(), (*it).toInt());	    }	    if (s.width() > 0 && s.height() > 0)		available.append(s);	}	// probably not that good an idea.	if (available.isEmpty()) {	    available.append(QSize(14,14));	    available.append(QSize(16,16));	    available.append(QSize(22,22));	}	// small is size just smaller than 'size', and large is the one just larger than it.	// pick largest or smallest if need be.	QValueList<QSize>::Iterator sit = available.begin();	QSize large = *sit;	QSize small = *sit;	++sit;	while (sit != available.end()) {	    QSize candidate = (*sit);	    if (large.height() < size) {		if (candidate.height() > large.height())		    large = candidate;	    } else {		if (candidate.height() < large.height() && candidate.height() > size)		    large = candidate;	    }	    if (small.height() > size) {		if (candidate.height() < small.height())		    small = candidate;	    } else {		if (candidate.height() > small.height() && candidate.height() <= size)		    small = candidate;	    }	    ++sit;	}	iconSmallSize.sprintf("%dx%d", small.width(), small.height()); // no tr	iconLargeSize.sprintf("%dx%d", large.width(), large.height()); // no tr	qDebug("Choose icon sizes %s and %s", (const char *)iconSmallSize.local8Bit(), (const char *)iconLargeSize.local8Bit());    }    //qDebug("Asked to load iconset: %s", pix.latin1());    QString iname(pix);    QString bname;    int sep = pix.findRev('/');    if (sep != -1) {	iname = pix.mid(sep+1);	bname = pix.left(sep+1);    }    QString sname = bname + "icons/" + iconSmallSize + "/" + iname;    QString lname = bname + "icons/" + iconLargeSize + "/" + iname;    bool oldFast = qpe_fast_findPixmap;    qpe_fast_findPixmap = TRUE;    QPixmap spm = Resource::loadPixmap(sname);    if (spm.isNull())	qWarning("Cannot load small icon: %s", sname.latin1());    QPixmap lpm = Resource::loadPixmap(lname);    if (lpm.isNull())	qDebug("Cannot load large icon: %s", lname.latin1());    qpe_fast_findPixmap = oldFast;    QIconSet is(spm, lpm);    return is;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -