📄 qcleanlooksstyle.cpp
字号:
/******************************************************************************** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.**** This file is part of the QtGui module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file. Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include "qcleanlooksstyle.h"#if !defined(QT_NO_STYLE_CLEANLOOKS) || defined(QT_PLUGIN)#include "qwindowsstyle_p.h"#include <qcombobox.h>#include <qpushbutton.h>#include <qpainter.h>#include <qdir.h>#include <qhash.h>#include <qstyleoption.h>#include <qapplication.h>#include <qmainwindow.h>#include <qfont.h>#include <qgroupbox.h>#include <qprocess.h>#include <qpixmapcache.h>#include <qdialogbuttonbox.h>#include <qscrollbar.h>#include <qspinbox.h>#include <qslider.h>#include <qsplitter.h>#include <qprogressbar.h>#include <qtoolbar.h>#include <qwizard.h>#define CL_MAX(a,b) (a)>(b) ? (a):(b) // ### qMin/qMax does not work for vc6#define CL_MIN(a,b) (a)<(b) ? (a):(b) // remove this when it is workingstatic const bool UsePixmapCache = true;enum Direction { TopDown, FromLeft, BottomUp, FromRight};// from windows stylestatic const int windowsItemFrame = 2; // menu item frame widthstatic const int windowsSepHeight = 6; // separator item heightstatic const int windowsItemHMargin = 3; // menu item hor text marginstatic const int windowsItemVMargin = 8; // menu item ver text marginstatic const int windowsArrowHMargin = 6; // arrow horizontal marginstatic const int windowsTabSpacing = 12; // space between text and tabstatic const int windowsCheckMarkHMargin = 2; // horiz. margins of check markstatic const int windowsRightBorder = 15; // right border on windowsstatic const int windowsCheckMarkWidth = 12; // checkmarks width on windows/* XPM */static const char * const dock_widget_close_xpm[] = { "11 13 7 1", " c None", ". c #D5CFCB", "+ c #8F8B88", "@ c #6C6A67", "# c #ABA6A3", "$ c #B5B0AC", "% c #A4A09D", " ", " +@@@@@@@+ ", "+# #+", "@ $@ @$ @", "@ @@@ @@@ @", "@ @@@@@ @", "@ @@@ @", "@ @@@@@ @", "@ @@@ @@@ @", "@ $@ @$ @", "+% #+", " +@@@@@@@+ ", " "};static const char * const qt_cleanlooks_arrow_down_xpm[] = { "11 7 2 1", " c None", "x c #000000", " ", " x x ", " xxx xxx ", " xxxxxxx ", " xxxxx ", " xxx ", " x "};static const char * const qt_cleanlooks_arrow_up_xpm[] = { "11 7 2 1", " c None", "x c #000000", " x ", " xxx ", " xxxxx ", " xxxxxxx ", " xxx xxx ", " x x ", " "};static const char * const dock_widget_restore_xpm[] = { "11 13 7 1", " c None", ". c #D5CFCB", "+ c #8F8B88", "@ c #6C6A67", "# c #ABA6A3", "$ c #B5B0AC", "% c #A4A09D", " ", " +@@@@@@@+ ", "+# #+", "@ #@@@# @", "@ @ @ @", "@ #@@@# @ @", "@ @ @ @ @", "@ @ @@@ @", "@ @ @ @", "@ #@@@# @", "+% #+", " +@@@@@@@+ ", " "};static const char * const workspace_minimize[] = { "11 13 7 1", " c None", ". c #D5CFCB", "+ c #8F8B88", "@ c #6C6A67", "# c #ABA6A3", "$ c #B5B0AC", "% c #A4A09D", " ", " +@@@@@@@+ ", "+# #+", "@ @", "@ @", "@ @", "@ @@@@@@@ @", "@ @@@@@@@ @", "@ @", "@ @", "+% #+", " +@@@@@@@+ ", " "};static const char * const qt_titlebar_context_help[] = { "10 10 3 1", " c None", "# c #000000", "+ c #444444", " +####+ ", " ### ### ", " ## ## ", " +##+ ", " +## ", " ## ", " ## ", " ", " ## ", " ## "};static const char * const qt_cleanlooks_radiobutton[] = { "13 13 9 1", " c None", ". c #ABA094", "+ c #B7ADA0", "@ c #C4BBB2", "# c #DDD4CD", "$ c #E7E1E0", "% c #F4EFED", "& c #FFFAF9", "* c #FCFEFB", " #@...@# ", " @+@#$$#+@ ", " @+$%%***&@@ ", "#+$%**&&**&+#", "@@$&&******#@", ".#**********.", ".$&******&*&.", ".$*&******&*.", "+#********&#@", "#+*********+#", " @@*******@@ ", " @+#%*%#+@ ", " #@...+# "};static const char * const qt_cleanlooks_radiobutton_checked[] = { "13 13 20 1", " c None", ". c #A8ABAE", "+ c #596066", "@ c #283138", "# c #A9ACAF", "$ c #A6A9AB", "% c #6B7378", "& c #8C9296", "* c #A2A6AA", "= c #61696F", "- c #596065", "; c #93989C", "> c #777E83", ", c #60686E", "' c #252D33", ") c #535B62", "! c #21292E", "~ c #242B31", "{ c #1F262B", "] c #41484E", " ", " ", " ", " .+@+# ", " $%&*&=# ", " -&;>,'+ ", " @*>,)!@ ", " +&,)~{+ ", " #='!{]# ", " #+@+# ", " ", " ", " "};static const char * const qt_scrollbar_button_arrow_left[] = { "4 7 2 1", " c None", "* c #BFBFBF", " *", " **", " ***", "****", " ***", " **", " *"};static const char * const qt_scrollbar_button_arrow_right[] = { "4 7 2 1", " c None", "* c #BFBFBF", "* ", "** ", "*** ", "****", "*** ", "** ", "* "};static const char * const qt_scrollbar_button_arrow_up[] = { "7 4 2 1", " c None", "* c #BFBFBF", " * ", " *** ", " ***** ", "*******"};static const char * const qt_scrollbar_button_arrow_down[] = { "7 4 2 1", " c None", "* c #BFBFBF", "*******", " ***** ", " *** ", " * "};static const char * const qt_spinbox_button_arrow_down[] = { "7 4 2 1", " c None", "* c #BFBFBF", "*******", " ***** ", " *** ", " * "};static const char * const qt_spinbox_button_arrow_up[] = { "7 4 2 1", " c None", "* c #BFBFBF", " * ", " *** ", " ***** ", "*******"};static const char * const qt_scrollbar_button_left[] = { "16 16 6 1", " c None", ". c #BFBFBF", "+ c #979797", "# c #FAFAFA", "< c #FAFAFA", "* c #FAFAFA", " .++++++++++++++", ".+#############+", "+# <+", "+# <+", "+# <+", "+# <+", "+# <+", "+# <+", "+# <+", "+# <+", "+# <+",
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -