Added qtcuve theme engine

git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kde-style-qtcurve@1090657 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
v3.5.13-sru
tpearson 14 years ago
commit f5a83a9959

@ -0,0 +1,57 @@
project(QtCurve-KDE3)
cmake_minimum_required(VERSION 2.4.0)
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
set(CPACK_GENERATOR "DEB;RPM;TGZ")
set(DEBIAN_PACKAGE_DESCRIPTION "QtCurve for Qt3/KDE3")
set(DEBIAN_PACKAGE_SECTION "kde")
set(CPACK_SOURCE_GENERATOR "TBZ2")
set(CPACK_PACKAGE_VERSION_MAJOR "0")
set(CPACK_PACKAGE_VERSION_MINOR "55")
set(CPACK_PACKAGE_VERSION_PATCH "2")
set(CPACK_PACKAGE_CONTACT "Craig Drummond <Craig.Drummond@lycos.co.uk>")
set(QTCURVE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}")
set(QTCURVE_VERSION_FULL "${QTCURVE_VERSION}.${CPACK_PACKAGE_VERSION_PATCH}")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${QTCURVE_VERSION_FULL}")
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${QTCURVE_VERSION_FULL}")
include(CPack)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules )
find_package(KDE3 REQUIRED)
include(KDE3Macros)
exec_program(kde-config
ARGS --prefix
OUTPUT_VARIABLE CMAKE_INSTALL_PREFIX)
file(TO_CMAKE_PATH "$ENV{KDEDIRS}" _KDEDIRS)
# For KDE4 kde-config has been renamed to kde4-config
find_program(KDE4_KDECONFIG_EXECUTABLE
NAMES kde4-config
PATHS ${CMAKE_INSTALL_PREFIX}/bin ${_KDEDIRS} /usr/local/bin /usr/bin /opt/kde4/bin NO_DEFAULT_PATH)
if (NOT KDE4_KDECONFIG_EXECUTABLE)
find_program(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config )
endif (NOT KDE4_KDECONFIG_EXECUTABLE)
if(KDE4_KDECONFIG_EXECUTABLE)
exec_program(${KDE4_KDECONFIG_EXECUTABLE}
ARGS --prefix
OUTPUT_VARIABLE KDE4PREFIX)
endif(KDE4_KDECONFIG_EXECUTABLE)
if(NOT KDE4PREFIX)
set(KDE4PREFIX ${KDE3PREFIX})
endif(NOT KDE4PREFIX)
configure_file (config.h.cmake ${CMAKE_BINARY_DIR}/config.h)
add_definitions(${QT_DEFINITIONS} ${KDE3_DEFINITIONS})
include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE3_INCLUDES})
set(DATA_INSTALL_DIR ${KDE3PREFIX}/share/apps)
add_subdirectory(style)
add_subdirectory(config)
add_subdirectory(themes)

@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
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.
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.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

File diff suppressed because it is too large Load Diff

@ -0,0 +1,58 @@
Installation
------------
To build and install:
1. mkdir build
2. cd build
3. cmake ..
4. make
5. make install
Themes
------
As of v0.55, you can create QtCurve based themes. These will appear with KDE's style
control panel's combobox of styles. To create a new theme, select 'QtCurve' from
within KDE's style panel, then configure QtCurve as required. After this, in QtCurve's
config dialog, select 'Export theme' from the options menu button. You will then be
prompted to give your new 'theme' a name, and a comment. QtCurve will then create a file
named 'qtc_<name>.themerc (e.g. qtc_klearlooks.themerc) - this will have the following
format:
[Misc]
Name=KlearLooks
Comment=Clearlooks inspired style
[KDE]
WidgetStyle=qtc_klearlooks
[Settings]
animatedProgress=false
appearance=gradient
....rest of qtcurve settings...
To use this theme, either copy qtc_<name>.themerc to
$KDEHOME/share/apps/kstyle/themes/ (usually ~/.kde/share/apps/kstyle/themes/)
or copy to <kde install prefix>/share/apps/kstyle/themes/ (usually
/usr/share/apps/kstyle/themes/)
When KDE's style panel is restarted, your new theme should appear in the list.
Creating Distribution Packages
------------------------------
CMake (as of v2.4.x) does not support building rpm or deb packages, and a simple
checkinstall will not work. CMake 2.6 should support rpm and deb packages, but until
then I have supplied a simple shell script to build a package with checkinstall.
To use this:
1. Install QtCurve as described above
2. From within the 'build' folder from step 2 above, call ../common/mkpkg
3. Answer the checkinstall questions.
pixmaps.h
---------
To regenerate this, run the following:
qembed radio_frame.png radio_light.png radio_on.png check_on.png slider.png slider_light.png slider_v.png slider_light_v.png check_x_on.png > pixmaps.h

18
TODO

@ -0,0 +1,18 @@
--new--
KDE: Better konqueror active (?) icon border.
KDE: Combobox popup should be drawn as a popup menu - ala Gtk.
ALL: Highlight tab bar? Not sure Gtk can do this :-( (qt gtk theme engine doesn't!)
--app specific--
OO.o:
KDE: 2.x no highlight on combofocus.
KDE: Combo box has a lighter grey when disabled
KDE: Slight re-draw error on tabs if width of all tabs= width of tab bar -- but
all KDE themes seem to suffer from this.
KDE: Mising white pixel when last tab is selected, if its added then the above
suffers even more!
KDE: V3 Combobox list needs to be rounded in rounded mode - missing pixels, etc.
Also take into account scrollbar pos? i.e. draw line 1 pixel less on right?
ALL: GTK/KDE have different disabled text behaviour when contrast setting changed!

Binary file not shown.

Binary file not shown.

@ -0,0 +1,955 @@
#ifndef __COMMON_H__
#define __COMMON_H__
/*
QtCurve (C) Craig Drummond, 2003 - 2007 Craig.Drummond@lycos.co.uk
----
This program is free software; you can redistr ibute it and/or
modify it under the terms of the GNU General Public
License version 2 as published by the Free Software Foundation.
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.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
/* This file is quite 'hacky' as it contains lots of static function definitions - but I want to share the code
between Qt and Gtk, but not polute the namespace with exported functions... */
#include <string.h>
#include <math.h>
#include "config.h"
/*
The following #define disables the rounding when scrollbar type==none.
#define QTC_SIMPLE_SCROLLBARS
*/
/*
The following #define disables the custom focus rectangle
#define QTC_PLAIN_FOCUS_ONLY
*/
/*
The following #define controls whether a scrollbar's slider should overlap
the scrollbar buttons when at min/max. This removes the thick looking line
between the slider and the buttons.
*/
#define QTC_INCREASE_SB_SLIDER
/*
Enable this to do focus highlighting for scrollviews... NOTE: Gtk2 currently does not do this.
#define QTC_HIGHLIGHT_SCROLVIEWS
*/
/*
Control shading used for glass variants.
0 => As used in 0.51.1 +
1 => As used in 0.51
2 => As used in <0.51
*/
#define QTC_GLASS_SHADING 0
typedef enum
{
SHADING_SIMPLE=0,
SHADING_HSL=1,
SHADING_HSV=2
} EShading;
#if (!defined QTC_CONFIG_DIALOG) && (!defined QTC_KWIN)
static EShading shading=SHADING_HSL;
#endif
#ifdef __cplusplus
#include <qconfig.h>
#ifdef QTC_CONFIG_DIALOG
#include <qapplication.h>
#endif
#else
#include <glib.h>
#endif
#ifdef __cplusplus
typedef QColor color;
#else
typedef gboolean bool;
typedef GdkColor color;
#define true TRUE
#define false FALSE
#endif
#define QTC_GROUP "Settings"
/*#define QTC_DESCR_GROUP "Description"*/
/* qtc_<theme name>.themerc support */
#define KDE_PREFIX(V) ((4==(V)) ? KDE4PREFIX : KDE3PREFIX)
#define QTC_THEME_DIR "/share/apps/kstyle/themes/"
#define QTC_THEME_PREFIX "qtc_"
#define QTC_THEME_SUFFIX ".themerc"
#define QTC_CHECK_SIZE 13
#define QTC_RADIO_SIZE 13
#define QTC_MIN_BTN_SIZE 8
#define QTC_LV_SIZE 7
#define LARGE_ARR_WIDTH 7
#define LARGE_ARR_HEIGHT 4
#define SMALL_ARR_WIDTH 5
#define SMALL_ARR_HEIGHT 3
#define NUM_STD_SHADES 6
#define NUM_EXTRA_SHADES 3
#define TOTAL_SHADES NUM_STD_SHADES+NUM_EXTRA_SHADES
#define ORIGINAL_SHADE TOTAL_SHADES
#define SHADE_ORIG_HIGHLIGHT NUM_STD_SHADES
#define SHADE_4_HIGHLIGHT NUM_STD_SHADES+1
#define SHADE_2_HIGHLIGHT NUM_STD_SHADES+2
/* 3d effect - i.e. buttons, etc */
#define QTC_SHADES \
static const double shades[2][11][NUM_STD_SHADES]=\
{ \
{ /* HSV & HSL */ \
{ 1.05, 1.04, 0.90, 0.800, 0.830, 0.82 }, \
{ 1.06, 1.04, 0.90, 0.790, 0.831, 0.78 }, \
{ 1.07, 1.04, 0.90, 0.785, 0.832, 0.75 }, \
{ 1.08, 1.05, 0.90, 0.782, 0.833, 0.72 }, \
{ 1.09, 1.05, 0.90, 0.782, 0.834, 0.70 }, \
{ 1.10, 1.06, 0.90, 0.782, 0.836, 0.68 }, \
{ 1.12, 1.06, 0.90, 0.782, 0.838, 0.63 }, \
{ 1.16, 1.07, 0.90, 0.782, 0.840, 0.62 }, /* default */ \
{ 1.18, 1.07, 0.90, 0.783, 0.842, 0.60 }, \
{ 1.20, 1.08, 0.90, 0.784, 0.844, 0.58 }, \
{ 1.22, 1.08, 0.90, 0.786, 0.848, 0.55 } \
}, \
{ /* SIMPLE */ \
{ 1.07, 1.03, 0.91, 0.780, 0.834, 0.75 }, \
{ 1.08, 1.03, 0.91, 0.781, 0.835, 0.74 }, \
{ 1.09, 1.03, 0.91, 0.782, 0.836, 0.73 }, \
{ 1.10, 1.04, 0.91, 0.783, 0.837, 0.72 }, \
{ 1.11, 1.04, 0.91, 0.784, 0.838, 0.71 }, \
{ 1.12, 1.05, 0.91, 0.785, 0.840, 0.70 }, \
{ 1.13, 1.05, 0.91, 0.786, 0.842, 0.69 }, \
{ 1.14, 1.06, 0.91, 0.787, 0.844, 0.68 }, /* default */ \
{ 1.16, 1.06, 0.91, 0.788, 0.846, 0.66 }, \
{ 1.18, 1.07, 0.91, 0.789, 0.848, 0.64 }, \
{ 1.20, 1.07, 0.91, 0.790, 0.850, 0.62 } \
} \
} ;
#define QTC_SIMPLE_SHADING (!shading)
#define QT_STD_BORDER 5
#define QT_DISABLED_BORDER QT_STD_BORDER /*3*/
#define QT_BORDER(E) (/*(E) ?*/ QT_STD_BORDER/* : QT_DISABLED_BORDER*/)
#define QT_FRAME_DARK_SHADOW 2
#define QT_FOCUS 3
#define QTC_SHADE(c, s) \
(c>10 || c<0 || s>=NUM_STD_SHADES || s<0 \
? 1.0 \
: opts.darkerBorders && (QT_STD_BORDER==i || QT_DISABLED_BORDER==i) \
? shades[SHADING_SIMPLE==shading ? 1 : 0][c][s] - 0.1 \
: shades[SHADING_SIMPLE==shading ? 1 : 0][c][s] )
#define TAB_APPEARANCE(A) (A) /* (APPEARANCE_GLASS==(A) ? APPEARANCE_GRADIENT : (A)) */
#define QTC_COLOR_SEL_TAB_FACTOR 1.2
#define QTC_ROUNDED (ROUND_NONE!=opts.round)
#define QTC_ETCHED_DARK 0.95
#define SHADE_BEVEL_GRAD_LIGHT (QTC_SIMPLE_SHADING ? 1.05 : 1.07)
#define SHADE_BEVEL_GRAD_DARK (QTC_SIMPLE_SHADING ? 0.93 : 0.91)
#define SHADE_BEVEL_GRAD_SEL_LIGHT (QTC_SIMPLE_SHADING ? 1.05 : 1.07)
#define SHADE_BEVEL_GRAD_SEL_DARK (QTC_SIMPLE_SHADING ? 0.95 : 0.93)
#define SHADE_BEVEL_MENU_ITEM_LIGHT (QTC_SIMPLE_SHADING ? 1.07 : 1.09)
#define SHADE_BEVEL_MENU_ITEM_DARK (QTC_SIMPLE_SHADING ? 0.85 : 0.83)
#define SHADE_SLIDER_LIGHT 1.1
#define SHADE_SLIDER_DARK 0.8
#define SHADE_SBAR_LIGHT 1.02
#define SHADE_SBAR_DARK 0.95
#define SHADE_MENU_LIGHT 1.02
#define SHADE_MENU_DARK 0.96
#define SHADE_TAB_SEL_LIGHT 1.1
#define SHADE_TAB_SEL_DARK 1.0
#define SHADE_BOTTOM_TAB_SEL_LIGHT 1.0
#define SHADE_BOTTOM_TAB_SEL_DARK 0.96
#define SPLIT_GRADIENT_FACTOR 0.415
#if !defined QTC_GLASS_SHADING || QTC_GLASS_SHADING==0
#define SHADE_GLASS_TOP_A(A, W) (APPEARANCE_DULL_GLASS==A \
? (WIDGET_DEF_BUTTON==W ? 0.99 : 0.98) \
: (WIDGET_DEF_BUTTON==W ? 1.08 : 1.55))
#define SHADE_GLASS_TOP_B(A, W) (APPEARANCE_DULL_GLASS==A \
? (WIDGET_DEF_BUTTON==W ? 0.94 : 0.92) \
: 0.92)
#define SHADE_GLASS_BOT_A(A) (APPEARANCE_DULL_GLASS==A ? 1.02 : 0.99)
#define SHADE_GLASS_BOT_B(A) (APPEARANCE_DULL_GLASS==A ? 1.10 : 1.16)
#elif QTC_GLASS_SHADING==1
#define SHADE_GLASS_TOP_A(A, W) (APPEARANCE_DULL_GLASS==A \
? (WIDGET_DEF_BUTTON==W ? 1.0 : 1.0) \
: (WIDGET_DEF_BUTTON==W ? 1.08 : 1.7))
#define SHADE_GLASS_TOP_B(A, W) (APPEARANCE_DULL_GLASS==A ? 0.96 : 0.96)
#define SHADE_GLASS_BOT_A(A) 0.99
#define SHADE_GLASS_BOT_B(A) (APPEARANCE_DULL_GLASS==A ? 1.08 : 1.16)
#else
#define SHADE_GLASS_TOP_A(A, W) (APPEARANCE_DULL_GLASS==A \
? (WIDGET_DEF_BUTTON==W ? 1.05 : 1.05) \
: (WIDGET_DEF_BUTTON==W ? 1.08 : 1.7))
#define SHADE_GLASS_TOP_B(A, W) 0.96
#define SHADE_GLASS_BOT_A(A) 0.99
#define SHADE_GLASS_BOT_B(A) (APPEARANCE_DULL_GLASS==A ? 1.08 : 1.16)
#endif
#define IS_GLASS(A) (APPEARANCE_DULL_GLASS==A || APPEARANCE_SHINY_GLASS==A)
#define IS_FLAT(A) (APPEARANCE_FLAT==A || APPEARANCE_RAISED==A)
#define SHADE_SELECTION_TOP 1.15
#define SHADE_SELECTION_BOT 0.9
#ifdef __cplusplus
#define MENUBAR_DARK_LIMIT 160
#define TOO_DARK(A) ((A).red()<MENUBAR_DARK_LIMIT || (A).green()<MENUBAR_DARK_LIMIT || (A).blue()<MENUBAR_DARK_LIMIT)
#else
#define MENUBAR_DARK_LIMIT (160<<8)
#define TOO_DARK(A) ((A).red<MENUBAR_DARK_LIMIT || (A).green<MENUBAR_DARK_LIMIT || (A).blue<MENUBAR_DARK_LIMIT)
#endif
#define DEFAULT_HIGHLIGHT_FACTOR 1.05
#define MAX_HIGHLIGHT_FACTOR 50
#define MIN_HIGHLIGHT_FACTOR -50
#define MENUBAR_DARK_FACTOR 0.97
#define POPUPMENU_LIGHT_FACTOR 1.15
#define INACTIVE_HIGHLIGHT_FACTOR 1.20
#define USE_SHADED_MENU_BAR_COLORS (SHADE_CUSTOM==opts.shadeMenubars || SHADE_BLEND_SELECTED==opts.shadeMenubars)
#define MENUBAR_GLASS_SELECTED_DARK_FACTOR 0.9
#define GLASS_BORDER 0.4
#define BEVEL_BORDER(w) (WIDGET_LISTVIEW_HEADER==w ? 6 : 4)
#define SHADE_BEVEL_TOP 1.07
#define SHADE_BEVEL_MID_TOP 1.03
#define SHADE_BEVEL_MID_BOT 0.975
#define SHADE_BEVEL_BOT(w) (WIDGET_LISTVIEW_HEADER==(w) ? 0.88 : 0.90)
#define NUM_SPLITTER_DASHES 21
#define WIDGET_BUTTON(w) (WIDGET_STD_BUTTON==w || WIDGET_DEF_BUTTON==w || WIDGET_TOGGLE_BUTTON==w || WIDGET_CHECKBOX==w)
#ifdef __cplusplus
#define ETCH_WIDGET(w) (WIDGET_STD_BUTTON==w || WIDGET_DEF_BUTTON==w || WIDGET_TOGGLE_BUTTON==w)
#else
#define ETCH_WIDGET(w) (WIDGET_STD_BUTTON==w || WIDGET_DEF_BUTTON==w || WIDGET_TOGGLE_BUTTON==w || \
WIDGET_SPIN_UP==w || WIDGET_SPIN_DOWN==w)
#endif
#define COLORED_BORDER_SIZE 3
#define PROGRESS_CHUNK_WIDTH 10
#define QTC_DRAW_LIGHT_BORDER(SUKEN, WIDGET, APP) \
((!SUKEN && IS_GLASS(APP) && WIDGET_MENU_ITEM!=WIDGET && WIDGET_DEF_BUTTON!=WIDGET) || \
(WIDGET_PROGRESSBAR==WIDGET && APPEARANCE_FLAT!=APP && \
APPEARANCE_RAISED!=APP && APPEARANCE_INVERTED!=APP))
#define PROGRESS_ANIMATION 100
#define MIN_SLIDER_SIZE(A) (LINE_DOTS==A ? 24 : 20)
#define QTC_NORM_TAB_APP (APPEARANCE_BEVELLED==opts.tabAppearance || APPEARANCE_SPLIT_GRADIENT==opts.appearance \
? APPEARANCE_GRADIENT : opts.tabAppearance)
#define QTC_SEL_TAB_APP (APPEARANCE_INVERTED==opts.tabAppearance ? APPEARANCE_FLAT : (QTC_NORM_TAB_APP))
#define QTC_SLIDER_MO_SHADE (SHADE_SELECTED==opts.shadeSliders ? 1 : (SHADE_BLEND_SELECTED==opts.shadeSliders ? 0 : ORIGINAL_SHADE))
#define QTC_SLIDER_MO_BORDER (SHADE_SELECTED==opts.shadeSliders || SHADE_BLEND_SELECTED==opts.shadeSliders ? 2 : 1)
#define QTC_SLIDER_MO_LEN (SLIDER_TRIANGULAR==opts.sliderStyle ? 2 : (SHADE_SELECTED==opts.shadeSliders || SHADE_BLEND_SELECTED==opts.shadeSliders ? 4 : 3))
#define QTC_SB_SLIDER_MO_LEN(A) ((A)<22 && ROUND_FULL!=opts.round \
? 2 \
: ((A)<32 || (SHADE_SELECTED!=opts.shadeSliders && SHADE_BLEND_SELECTED!=opts.shadeSliders) \
? 4 \
: 6))
#define QTC_CR_MO_FILL (SHADE_BLEND_SELECTED==opts.shadeCheckRadio || SHADE_SELECTED==opts.shadeCheckRadio ? 1 : 2)
#define QTC_MO_DEF_BTN 2
#define QTC_MO_PLASTIK_DARK(W) (WIDGET_DEF_BUTTON==W && IND_COLORED==opts.defBtnIndicator ? 3 : 2) /*? 2 : 1) */
#define QTC_MO_PLASTIK_LIGHT(W) (WIDGET_DEF_BUTTON==W && IND_COLORED==opts.defBtnIndicator ? 4 : 1) /*? 2 : 0) */
#define QTC_MO_STD_DARK(W) QTC_MO_PLASTIK_DARK(W) /*(WIDGET_DEF_BUTTON==W && IND_COLORED==opts.defBtnIndicator ? 4 : 1) */
#define QTC_MO_STD_LIGHT(W, S) QTC_MO_PLASTIK_LIGHT(W) /*(WIDGET_DEF_BUTTON==W && IND_COLORED==opts.defBtnIndicator ? 2 : (S ? 1 : 0))*/
#define QTC_DO_EFFECT (ROUND_FULL==opts.round && EFFECT_NONE!=opts.buttonEffect)
#ifdef __cplusplus
#include <qstyle.h>
typedef enum
{
QtC_Round = QStyle::PM_CustomBase
} QtCMetrics;
#endif
typedef enum
{
EFFECT_NONE,
EFFECT_ETCH,
EFFECT_SHADOW
} EEffect;
typedef enum
{
PIX_RADIO_BORDER,
PIX_RADIO_LIGHT,
PIX_RADIO_ON,
PIX_CHECK,
PIX_SLIDER,
PIX_SLIDER_LIGHT,
PIX_SLIDER_V,
PIX_SLIDER_LIGHT_V
} EPixmap;
typedef enum
{
WIDGET_TAB_TOP,
WIDGET_TAB_BOT,
WIDGET_STD_BUTTON,
WIDGET_DEF_BUTTON,
WIDGET_LISTVIEW_HEADER,
WIDGET_SLIDER,
WIDGET_SLIDER_TROUGH,
WIDGET_SB_SLIDER,
WIDGET_SB_BUTTON,
WIDGET_TROUGH,
WIDGET_CHECKBOX,
WIDGET_TOGGLE_BUTTON,
WIDGET_MENU_ITEM,
WIDGET_PROGRESSBAR,
#ifndef __cplusplus
WIDGET_SPIN_UP,
WIDGET_SPIN_DOWN,
#endif
WIDGET_SPIN,
#ifdef __cplusplus
WIDGET_CHECKBUTTON, // Qt4 only
WIDGET_MDI_WINDOW, // Qt4 only
WIDGET_MDI_WINDOW_TITLE, // Qt4 only
WIDGET_ENTRY,
WIDGET_FRAME,
WIDGET_NO_ETCH_BTN,
#endif
WIDGET_OTHER
} EWidget;
typedef enum
{
APPEARANCE_FLAT,
APPEARANCE_RAISED,
APPEARANCE_DULL_GLASS,
APPEARANCE_SHINY_GLASS,
APPEARANCE_GRADIENT,
APPEARANCE_INVERTED,
APPEARANCE_SPLIT_GRADIENT,
APPEARANCE_BEVELLED
} EAppearance;
#define IS_SLIDER(W) (WIDGET_SLIDER==W || WIDGET_SB_SLIDER==W)
#define IS_TOGGLE_BUTTON(W) (WIDGET_TOGGLE_BUTTON==W || WIDGET_CHECKBOX==W)
typedef enum
{
CORNER_TL = 0x1,
CORNER_TR = 0x2,
CORNER_BR = 0x4,
CORNER_BL = 0x8
} ECornerBits;
#define ROUNDED_NONE 0x0
#define ROUNDED_TOP (CORNER_TL|CORNER_TR)
#define ROUNDED_BOTTOM (CORNER_BL|CORNER_BR)
#define ROUNDED_LEFT (CORNER_TL|CORNER_BL)
#define ROUNDED_RIGHT (CORNER_TR|CORNER_BR)
#define ROUNDED_TOPRIGHT CORNER_TR
#define ROUNDED_BOTTOMRIGHT CORNER_BR
#define ROUNDED_TOPLEFT CORNER_TL
#define ROUNDED_BOTTOMLEFT CORNER_BL
#define ROUNDED_ALL (CORNER_TL|CORNER_TR|CORNER_BR|CORNER_BL)
typedef enum
{
IND_CORNER,
IND_FONT_COLOR,
IND_COLORED,
IND_NONE
} EDefBtnIndicator;
typedef enum
{
LINE_SUNKEN,
LINE_FLAT,
LINE_DOTS,
LINE_DASHES
} ELine;
#define LINE_NONE LINE_DASHES
typedef enum
{
TB_NONE,
TB_LIGHT,
TB_DARK,
TB_LIGHT_ALL,
TB_DARK_ALL,
} ETBarBorder;
typedef enum
{
BORDER_FLAT,
BORDER_RAISED,
BORDER_SUNKEN
} EBorder;
/*
This whole EShade enum is a complete mess!
For menubars, we dont blend - so blend is selected, and selected is darken
For check/radios - we dont blend, so blend is selected, and we dont allow darken
*/
typedef enum
{
SHADE_NONE,
SHADE_CUSTOM,
SHADE_BLEND_SELECTED, /* In the case of check/radios this is SHADE_SELECTED */
SHADE_SELECTED,
SHADE_DARKEN = SHADE_SELECTED , /* For menubar only! */
} EShade;
typedef enum
{
ROUND_NONE,
ROUND_SLIGHT,
ROUND_FULL
} ERound;
typedef enum
{
SCROLLBAR_KDE,
SCROLLBAR_WINDOWS,
SCROLLBAR_PLATINUM,
SCROLLBAR_NEXT,
SCROLLBAR_NONE
} EScrollbar;
typedef enum
{
MO_NONE,
MO_COLORED,
MO_PLASTIK
} EMouseOver;
typedef enum
{
STRIPE_NONE,
STRIPE_PLAIN,
STRIPE_DIAGONAL
} EStripe;
typedef enum
{
SLIDER_PLAIN,
SLIDER_ROUND,
SLIDER_TRIANGULAR,
} ESliderStyle;
#define DEF_IND_STR "fontcolor"
#define DEF_LINE_STR "dots"
#define DEF_TB_BORDER "none"
#define DEF_APPEARANCE_STR "bevelled"
#define DEF_MENU_APPEARANCE_STR "gradient"
#define DEF_TOOLBAR_APPEARANCE_STR "gradient"
#define DEF_SLIDER_SHADE_STR "selected"
#define DEF_TBS_STR "dots"
#define DEF_COLOR_STR "background"
#define DEF_TOOLBAR_SHADE_STR "none"
#ifdef QTC_COMMON_FUNCTIONS
static double getWidgetShade(EWidget w, bool light, bool sunken, EAppearance app)
{
switch(w)
{
case WIDGET_TROUGH:
return light ? SHADE_SBAR_LIGHT : SHADE_SBAR_DARK;
case WIDGET_SLIDER_TROUGH:
return light ? SHADE_SLIDER_LIGHT : SHADE_SLIDER_DARK;
case WIDGET_MENU_ITEM:
if(APPEARANCE_DULL_GLASS!=app && APPEARANCE_SHINY_GLASS!=app)
return light ? SHADE_BEVEL_MENU_ITEM_LIGHT : SHADE_BEVEL_MENU_ITEM_DARK;
default:
return light
? sunken
? SHADE_BEVEL_GRAD_SEL_LIGHT
: SHADE_BEVEL_GRAD_LIGHT
: sunken
? SHADE_BEVEL_GRAD_SEL_DARK
: SHADE_BEVEL_GRAD_DARK;
}
}
#define QTC_MIN(a, b) ((a) < (b) ? (a) : (b))
#define QTC_MAX(a, b) ((b) < (a) ? (a) : (b))
static bool equal(double d1, double d2)
{
return (fabs(d1 - d2) < 0.0001);
}
/* Taken from rgb->hsl routines taken from KColor
Copyright 2007 Matthew Woehlke <mw_triad@users.sourceforge.net>
*/
static inline double normalize(double a)
{
return (a < 0.0 ? 0.0 : a > 1.0 ? 1.0 : a);
}
static inline double mix(double a, double b, double k)
{
return a + ( ( b - a ) * k );
}
static inline double wrap(double a, double d)
{
register double r = fmod( a, d );
return ( r < 0.0 ? d + r : ( r > 0.0 ? r : 0.0 ) );
}
static inline double h2c(double h, double m1, double m2)
{
h = wrap( h, 6.0 );
if ( h < 1.0 )
return mix( m1, m2, h );
if ( h < 3.0 )
return m2;
if ( h < 4.0 )
return mix( m1, m2, 4.0 - h );
return m1;
}
static inline void rgbToHsl(double r, double g, double b, double *h, double *s, double *l)
{
double min=QTC_MIN(QTC_MIN(r, g), b),
max=QTC_MAX(QTC_MAX(r, g), b);
*l = 0.5 * (max + min);
*s = 0.0;
*h = 0.0;
if (max != min)
{
double delta = max - min;
if ( *l <= 0.5 )
*s = delta / ( max + min );
else
*s = delta / ( 2.0 - max - min );
if ( r == max )
*h = ( g - b ) / delta;
else if ( g == max )
*h = 2.0 + ( b - r ) / delta;
else if ( b == max )
*h = 4.0 + ( r - g ) / delta;
*h /= 6.0;
if ( *h < 0.0 )
(*h) += 1.0;
}
}
static inline void hslToRgb(double h, double s, double l, double *r, double *g, double *b)
{
double m1, m2;
// TODO h2rgb( h, r, g, b );
h *= 6.0;
if ( l <= 0.5 )
m2 = l * ( 1.0 + s );
else
m2 = l + s * ( 1.0 - l );
m1 = 2.0 * l - m2;
*r = h2c( h + 2.0, m1, m2 );
*g = h2c( h, m1, m2 );
*b = h2c( h - 2.0, m1, m2 );
}
static void rgbToHsv(double r, double g, double b, double *h, double *s, double *v)
{
double min=QTC_MIN(QTC_MIN(r, g), b),
max=QTC_MAX(QTC_MAX(r, g), b),
delta=max - min;
*v=max;
if(max != 0)
*s=delta / max;
else
{
/* r=g=b=0 s=0, v is undefined */
*s=0;
*h=-1;
return;
}
if(r == max)
*h=(g - b) / delta; /* between yellow & magenta */
else if(g == max)
*h=2 + (b - r) / delta; /* between cyan & yellow */
else
*h=4 + (r - g) / delta; /* between magenta & cyan */
*h *= 60; /* degrees */
if(*h < 0)
*h += 360;
}
static void hsvToRgb(double *r, double *g, double *b, double h, double s, double v)
{
if(0==s)
*r=*g=*b=v;
else
{
int i;
double f,
p;
h /= 60; /* sector 0 to 5 */
i=(int)floor(h);
f=h - i; /* factorial part of h */
p=v * (1 - s);
switch(i)
{
case 0:
*r=v;
*g=v * (1 - s * (1 - f));
*b=p;
break;
case 1:
*r=v * (1 - s * f);
*g=v;
*b=p;
break;
case 2:
*r=p;
*g=v;
*b=v * (1 - s * (1 - f));
break;
case 3:
*r=p;
*g=v * (1 - s * f);
*b=v;
break;
case 4:
*r=v * (1 - s * (1 - f));
*g=p;
*b=v;
break;
/* case 5: */
default:
*r=v;
*g=p;
*b=v * (1 - s * f);
break;
}
}
}
#ifdef __cplusplus
inline int limit(double c)
{
return c < 0.0 ? 0 : (c > 255.0 ? 255 : (int)c);
}
#else
inline int limit(double c)
{
return c < 0.0
? 0
: c > 65535.0
? 65535
: (int)c;
}
#endif
#ifdef __cplusplus
static void shade(const color &ca, color *cb, double k)
#else
static void shade(const color *ca, color *cb, double k)
#endif
{
if(equal(k, 1.0))
{
#ifdef __cplusplus
*cb=ca;
#else
cb->red = ca->red;
cb->green = ca->green;
cb->blue = ca->blue;
#endif
}
else
switch(shading)
{
case SHADING_SIMPLE:
{
#ifdef __cplusplus
int v=(int)(255.0*(k-1.0));
cb->setRgb(limit(ca.red()+v), limit(ca.green()+v), limit(ca.blue()+v));
#else
double v=65535.0*(k-1.0);
cb->red = limit(ca->red+v);
cb->green = limit(ca->green+v);
cb->blue = limit(ca->blue+v);
#endif
break;
}
case SHADING_HSL:
{
#ifdef __cplusplus
double r(ca.red()/255.0),
g(ca.green()/255.0),
b(ca.blue()/255.0);
#else
double r=ca->red/65535.0,
g=ca->green/65535.0,
b=ca->blue/65535.0;
#endif
double h, s, l;
rgbToHsl(r, g, b, &h, &s, &l);
l=normalize(l*k);
s=normalize(s*k);
hslToRgb(h, s, l, &r, &g, &b);
#ifdef __cplusplus
cb->setRgb(limit(r*255.0), limit(g*255.0), limit(b*255.0));
#else
cb->red=limit(r*65535.0);
cb->green=limit(g*65535.0);
cb->blue=limit(b*65535.0);
#endif
break;
}
case SHADING_HSV:
{
#ifdef __cplusplus
double r(ca.red()/255.0),
g(ca.green()/255.0),
b(ca.blue()/255.0);
#else
double r=ca->red/65535.0,
g=ca->green/65535.0,
b=ca->blue/65535.0;
#endif
double h, s, v;
rgbToHsv(r, g, b, &h, &s, &v);
v*=k;
if (v > 1.0)
{
s -= v - 1.0;
if (s < 0)
s = 0;
v = 1.0;
}
hsvToRgb(&r, &g, &b, h, s, v);
#ifdef __cplusplus
cb->setRgb(limit(r*255.0), limit(g*255.0), limit(b*255.0));
#else
cb->red=limit(r*65535.0);
cb->green=limit(g*65535.0);
cb->blue=limit(b*65535.0);
#endif
}
}
}
static unsigned char checkBounds(int num)
{
return num < 0 ? 0 :
num > 255 ? 255 :
num;
}
static void adjustPix(unsigned char *data, int numChannels, int w, int h, int stride,
int ro, int go, int bo, double shade)
{
int width=w*numChannels,
offset=0,
row,
r=(int)((ro*shade)+0.5),
g=(int)((go*shade)+0.5),
b=(int)((bo*shade)+0.5);
for(row=0; row<h; ++row)
{
int column;
for(column=0; column<width; column+=numChannels)
{
unsigned char source=data[offset+column+1];
#if defined __cplusplus
#if Q_BYTE_ORDER == Q_BIG_ENDIAN
/* ARGB */
data[offset+column+1] = checkBounds(r-source);
data[offset+column+2] = checkBounds(g-source);
data[offset+column+3] = checkBounds(b-source);
#else
/* BGRA */
data[offset+column] = checkBounds(b-source);
data[offset+column+1] = checkBounds(g-source);
data[offset+column+2] = checkBounds(r-source);
#endif
#else
/* GdkPixbuf is RGBA */
data[offset+column] = checkBounds(r-source);
data[offset+column+1] = checkBounds(g-source);
data[offset+column+2] = checkBounds(b-source);
#endif
}
offset+=stride;
}
}
#endif /* QTC_COMMON_NO_FUNCTIONS */
#ifdef __cplusplus
struct Options
#else
typedef struct
#endif
{
int contrast,
passwordChar;
double highlightFactor;
ERound round;
bool embolden,
lighterPopupMenuBgnd,
highlightTab,
colorSelTab,
animatedProgress,
fixParentlessDialogs,
customMenuTextColor,
menubarMouseOver,
shadeMenubarOnlyWhenActive,
thinnerMenuItems,
#ifndef QTC_PLAIN_FOCUS_ONLY
stdFocus,
#endif
lvLines,
drawStatusBarFrames,
fillSlider,
roundMbTopOnly,
gradientPbGroove,
#ifdef __cplusplus
stdSidebarButtons,
gtkScrollViews,
gtkComboMenus,
/*
#else
setDialogButtonOrder,
*/
#endif
#if !defined __cplusplus || defined QTC_CONFIG_DIALOG
mapKdeIcons,
#endif
#if defined QTC_CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000)) || !defined __cplusplus
gtkButtonOrder,
#endif
borderMenuitems,
colorMenubarMouseOver,
darkerBorders,
vArrows,
xCheck,
framelessGroupBoxes,
inactiveHighlight;
EStripe stripedProgress;
ESliderStyle sliderStyle;
EMouseOver coloredMouseOver;
ETBarBorder toolbarBorders;
EDefBtnIndicator defBtnIndicator;
ELine sliderThumbs,
handles,
toolbarSeparators,
splitters;
EAppearance appearance,
menubarAppearance,
menuitemAppearance,
toolbarAppearance,
lvAppearance,
tabAppearance,
sliderAppearance,
progressAppearance;
EShade shadeSliders,
shadeMenubars,
shadeCheckRadio;
EEffect buttonEffect;
EScrollbar scrollbarType;
color customMenubarsColor,
customSlidersColor,
customMenuNormTextColor,
customMenuSelTextColor,
customCheckRadioColor;
#ifdef QTC_CONFIG_DIALOG
EShading shading;
#endif
#ifndef __cplusplus
} Options;
#else
};
#endif
#if defined QTC_COMMON_FUNCTIONS && !defined QTC_CONFIG_DIALOG
static EAppearance widgetApp(EWidget w, const Options *opts)
{
switch(w)
{
case WIDGET_LISTVIEW_HEADER:
return opts->lvAppearance;
case WIDGET_SB_BUTTON:
case WIDGET_SLIDER:
case WIDGET_SB_SLIDER:
return opts->sliderAppearance;
case WIDGET_TAB_TOP:
case WIDGET_TAB_BOT:
return opts->tabAppearance;
case WIDGET_MENU_ITEM:
return opts->menuitemAppearance;
case WIDGET_PROGRESSBAR:
return opts->progressAppearance;
case WIDGET_SLIDER_TROUGH:
return APPEARANCE_FLAT==opts->appearance || APPEARANCE_RAISED==opts->appearance
? APPEARANCE_FLAT : APPEARANCE_GRADIENT;
default:
break;
}
return opts->appearance;
};
#endif
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,7 @@
version=`grep "#define VERSION" config.h | awk -F\" '{print $2}'`
packageName=`grep CPACK_PACKAGE_NAME CPackSourceConfig.cmake | grep -v "Package project name" | awk -F\" '{print $2}' | sed y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/`
maintainer=`grep $USER /etc/passwd | awk -F: '{print $5}'`
checkinstall --nodoc --pkgname="$packageName" --pkgversion="$version" \
--pkgrelease="0" --exclude="/" --include=install_manifest.txt \
--pakdir="/tmp/checkinstall-$packageName" sleep 1

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

1561
config.guess vendored

File diff suppressed because it is too large Load Diff

@ -0,0 +1,7 @@
#ifndef __CONFIG_H__
#define __CONFIG_H__
#define VERSION "@QTCURVE_VERSION_FULL@"
#define KDE3PREFIX "@KDE3PREFIX@"
#define KDE4PREFIX "@KDE4PREFIX@"
#endif

1686
config.sub vendored

File diff suppressed because it is too large Load Diff

@ -0,0 +1,7 @@
set(kstyle_qtcurve_config_PART_SRCS qtcurveconfig.cpp exportthemedialog.cpp)
include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/common ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR} ${KDE3_INCLUDE_DIR} ${QT_INCLUDE_DIR})
kde3_add_ui_files(kstyle_qtcurve_config_PART_SRCS qtcurveconfigbase.ui)
kde3_add_kpart(kstyle_qtcurve_config ${kstyle_qtcurve_config_PART_SRCS})
kde3_automoc(${kstyle_qtcurve_config_PART_SRCS})
target_link_libraries(kstyle_qtcurve_config ${KDE3_KDEUI_LIBS} ${KDE3_KIO_LIBS} ${KDE3_KDECORE_LIBS} ${QT_QTGUI_LIBRARY})
install(TARGETS kstyle_qtcurve_config DESTINATION ${KDE3_LIB_DIR}/kde3)

@ -0,0 +1,94 @@
/*
QtCurve (C) Craig Drummond, 2003 - 2007 Craig.Drummond@lycos.co.uk
----
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License version 2 as published by the Free Software Foundation.
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.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include "exportthemedialog.h"
#include <klocale.h>
#include <kurlrequester.h>
#include <klineedit.h>
#include <kmessagebox.h>
#include <kconfig.h>
#include <qdir.h>
#include <qlabel.h>
#include <qlayout.h>
#define CONFIG_WRITE
#include "config_file.c"
CExportThemeDialog::CExportThemeDialog(QWidget *parent)
: KDialogBase(parent, "ExportDialog", true, i18n("Export Theme"),
Ok|Cancel)
{
QWidget *page = new QWidget(this);
QGridLayout *layout = new QGridLayout(page, 3, 2, 0, spacingHint());
layout->addWidget(new QLabel(i18n("Name:"), page), 0, 0);
layout->addWidget(new QLabel(i18n("Comment:"), page), 1, 0);
layout->addWidget(new QLabel(i18n("Destination folder:"), page), 2, 0);
layout->addWidget(themeName=new QLineEdit(page), 0, 1);
layout->addWidget(themeComment=new QLineEdit(i18n("QtCurve based theme"), page), 1, 1);
layout->addWidget(themeUrl=new KURLRequester(page), 2, 1);
themeUrl->setMode(KFile::Directory|KFile::ExistingOnly|KFile::LocalOnly);
themeUrl->lineEdit()->setReadOnly(true);
themeUrl->setURL(QDir::homeDirPath());
setMainWidget(page);
}
void CExportThemeDialog::run(const Options &o)
{
opts=o;
exec();
}
void CExportThemeDialog::slotOk()
{
QString name(themeName->text().stripWhiteSpace().lower());
if(name.isEmpty())
KMessageBox::error(this, i18n("Name is empty!"));
else
{
QString fileName(themeUrl->url()+"/"QTC_THEME_PREFIX+name+".themerc");
KConfig cfg(fileName, false, false);
bool rv(!cfg.isReadOnly());
if(rv)
{
cfg.setGroup("Misc");
cfg.writeEntry("Name", themeName->text().stripWhiteSpace());
cfg.writeEntry("Comment", themeComment->text());
cfg.setGroup("KDE");
cfg.writeEntry("WidgetStyle", QTC_THEME_PREFIX+name);
rv=writeConfig(&cfg, opts, opts, true);
}
if(rv)
{
QDialog::accept();
KMessageBox::information(this, i18n("Succesfully created:\n%1").arg(fileName));
}
else
KMessageBox::error(this, i18n("Failed to create file: %1").arg(fileName));
}
}
#include "exportthemedialog.moc"

@ -0,0 +1,53 @@
#ifndef __EXPORT_THEME_DIALOG_H__
#define __EXPORT_THEME_DIALOG_H__
/*
QtCurve (C) Craig Drummond, 2007 Craig.Drummond@lycos.co.uk
----
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License version 2 as published by the Free Software Foundation.
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.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include <kdialogbase.h>
#define QTC_CONFIG_DIALOG
#include "common.h"
class KURLRequester;
class QLineEdit;
class CExportThemeDialog : public KDialogBase
{
Q_OBJECT
public:
CExportThemeDialog(QWidget *parent);
void run(const Options &o);
private slots:
void slotOk();
private:
QLineEdit *themeName,
*themeComment;
KURLRequester *themeUrl;
Options opts;
};
#endif

@ -0,0 +1,720 @@
/*
QtCurve (C) Craig Drummond, 2003 - 2007 Craig.Drummond@lycos.co.uk
----
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License version 2 as published by the Free Software Foundation.
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.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include "qtcurveconfig.h"
#include "exportthemedialog.h"
#include <qcheckbox.h>
#include <qcombobox.h>
#include <qgroupbox.h>
#include <qradiobutton.h>
#include <qlabel.h>
#include <qlayout.h>
#include <qframe.h>
#include <qtabwidget.h>
#include <qpopupmenu.h>
#include <qfileinfo.h>
#include <klocale.h>
#include <kcolorbutton.h>
#include <kconfig.h>
#include <kfiledialog.h>
#include <kmessagebox.h>
#include <kpushbutton.h>
#include <kcharselect.h>
#include <kdialogbase.h>
#include <knuminput.h>
#include <unistd.h>
#include "config.h"
#define CONFIG_READ
#define CONFIG_WRITE
#include "config_file.c"
#define QTC_EXTENSION ".qtcurve"
extern "C"
{
QWidget * allocate_kstyle_config(QWidget *parent)
{
KGlobal::locale()->insertCatalogue("kstyle_qtcurve_config");
return new QtCurveConfig(parent);
}
}
class CharSelectDialog : public KDialogBase
{
public:
CharSelectDialog(QWidget *parent, int v)
: KDialogBase(Plain, i18n("Select Password Character"), Ok|Cancel, Cancel, parent)
{
QFrame *page=plainPage();
QVBoxLayout *layout=new QVBoxLayout(page, 0, KDialog::spacingHint());
itsSelector=new KCharSelect(page, 0L);
itsSelector->setChar(QChar(v));
layout->addWidget(itsSelector);
}
int currentChar() const { return itsSelector->chr().unicode(); }
private:
KCharSelect *itsSelector;
};
static int toInt(const QString &str)
{
return str.length()>1 ? str[0].unicode() : 0;
}
static void insertShadeEntries(QComboBox *combo, bool withDarken, bool checkRadio=false)
{
combo->insertItem(checkRadio ? i18n("Text")
: withDarken ? i18n("Background")
: i18n("Button"));
combo->insertItem(i18n("Custom:"));
if(checkRadio) // For check/radio, we dont blend, and dont allow darken
combo->insertItem(i18n("Selected background"));
else if(withDarken)
{
// For menubars we dont actually blend...
combo->insertItem(i18n("Selected background"));
combo->insertItem(i18n("Darken"));
}
else
{
combo->insertItem(i18n("Blended selected background"));
combo->insertItem(i18n("Selected background"));
}
}
static void insertAppearanceEntries(QComboBox *combo, bool all=true)
{
combo->insertItem(i18n("Flat"));
combo->insertItem(i18n("Raised"));
combo->insertItem(i18n("Dull glass"));
combo->insertItem(i18n("Shiny glass"));
combo->insertItem(i18n("Gradient"));
combo->insertItem(i18n("Inverted gradient"));
if(all)
{
combo->insertItem(i18n("Split gradient"));
combo->insertItem(i18n("Bevelled"));
}
}
static void insertLineEntries(QComboBox *combo, bool none)
{
combo->insertItem(i18n("Sunken lines"));
combo->insertItem(i18n("Flat lines"));
combo->insertItem(i18n("Dots"));
combo->insertItem(none ? i18n("None") : i18n("Dashes"));
}
static void insertDefBtnEntries(QComboBox *combo)
{
combo->insertItem(i18n("Corner indicator"));
combo->insertItem(i18n("Font color thin border"));
combo->insertItem(i18n("Selected background thick border"));
combo->insertItem(i18n("None"));
}
static void insertScrollbarEntries(QComboBox *combo)
{
combo->insertItem(i18n("KDE"));
combo->insertItem(i18n("Windows"));
combo->insertItem(i18n("Platinum"));
combo->insertItem(i18n("Next"));
combo->insertItem(i18n("No buttons"));
}
static void insertRoundEntries(QComboBox *combo)
{
combo->insertItem(i18n("Square"));
combo->insertItem(i18n("Slightly rounded"));
combo->insertItem(i18n("Fully rounded"));
}
static void insertMouseOverEntries(QComboBox *combo)
{
combo->insertItem(i18n("No coloration"));
combo->insertItem(i18n("Color border"));
combo->insertItem(i18n("Plastik style"));
}
static void insertToolbarBorderEntries(QComboBox *combo)
{
combo->insertItem(i18n("None"));
combo->insertItem(i18n("Light"));
combo->insertItem(i18n("Dark"));
combo->insertItem(i18n("Light (all sides)"));
combo->insertItem(i18n("Dark (all sides)"));
}
static void insertEffectEntries(QComboBox *combo)
{
combo->insertItem(i18n("Plain"));
combo->insertItem(i18n("Etched"));
combo->insertItem(i18n("Shadowed"));
}
static void insertShadingEntries(QComboBox *combo)
{
combo->insertItem(i18n("Simple"));
combo->insertItem(i18n("Use HSL color space"));
combo->insertItem(i18n("Use HSV color space"));
}
static void insertStripeEntries(QComboBox *combo)
{
combo->insertItem(i18n("Plain"));
combo->insertItem(i18n("Striped"));
combo->insertItem(i18n("Diagonal stripes"));
}
static void insertSliderStyleEntries(QComboBox *combo)
{
combo->insertItem(i18n("Plain"));
combo->insertItem(i18n("Round"));
combo->insertItem(i18n("Triangular"));
}
QtCurveConfig::QtCurveConfig(QWidget *parent)
: QtCurveConfigBase(parent),
exportDialog(NULL)
{
titleLabel->setText("QtCurve " VERSION " - (C) Craig Drummond, 2003-2007");
insertShadeEntries(shadeSliders, false);
insertShadeEntries(shadeMenubars, true);
insertShadeEntries(shadeCheckRadio, false, true);
insertAppearanceEntries(appearance);
insertAppearanceEntries(menubarAppearance);
insertAppearanceEntries(toolbarAppearance);
insertAppearanceEntries(lvAppearance);
insertAppearanceEntries(sliderAppearance);
insertAppearanceEntries(tabAppearance, false);
insertAppearanceEntries(progressAppearance);
insertAppearanceEntries(menuitemAppearance);
insertLineEntries(handles, false);
insertLineEntries(sliderThumbs, true);
insertLineEntries(toolbarSeparators, true);
insertLineEntries(splitters, false);
insertDefBtnEntries(defBtnIndicator);
insertScrollbarEntries(scrollbarType);
insertRoundEntries(round);
insertMouseOverEntries(coloredMouseOver);
insertToolbarBorderEntries(toolbarBorders);
insertEffectEntries(buttonEffect);
insertShadingEntries(shading);
insertStripeEntries(stripedProgress);
insertSliderStyleEntries(sliderStyle);
highlightFactor->setMinValue(MIN_HIGHLIGHT_FACTOR);
highlightFactor->setMaxValue(MAX_HIGHLIGHT_FACTOR);
highlightFactor->setValue(((int)(DEFAULT_HIGHLIGHT_FACTOR*100))-100);
connect(lighterPopupMenuBgnd, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(round, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(toolbarBorders, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(sliderThumbs, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(handles, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(appearance, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(customMenuTextColor, SIGNAL(toggled(bool)), SLOT(customMenuTextColorChanged()));
connect(stripedProgress, SIGNAL(activated(int)), SLOT(stripedProgressChanged()));
connect(animatedProgress, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(embolden, SIGNAL(toggled(bool)), SLOT(emboldenToggled()));
connect(defBtnIndicator, SIGNAL(activated(int)), SLOT(dbiChanged()));
connect(highlightTab, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(menubarAppearance, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(toolbarAppearance, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(lvAppearance, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(sliderAppearance, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(tabAppearance, SIGNAL(activated(int)), SLOT(tabAppearanceChanged()));
connect(toolbarSeparators, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(splitters, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(fixParentlessDialogs, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(fillSlider, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(sliderStyle, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(roundMbTopOnly, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(gradientPbGroove, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(darkerBorders, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(vArrows, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(xCheck, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(colorSelTab, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(stdSidebarButtons, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(borderMenuitems, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(progressAppearance, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(menuitemAppearance, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(shadeCheckRadio, SIGNAL(activated(int)), SLOT(shadeCheckRadioChanged()));
connect(customCheckRadioColor, SIGNAL(changed(const QColor &)), SLOT(updateChanged()));
#ifdef QTC_PLAIN_FOCUS_ONLY
delete stdFocus;
#else
connect(stdFocus, SIGNAL(toggled(bool)), SLOT(updateChanged()));
#endif
connect(lvLines, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(drawStatusBarFrames, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(buttonEffect, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(coloredMouseOver, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(menubarMouseOver, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(shadeMenubarOnlyWhenActive, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(thinnerMenuItems, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(customSlidersColor, SIGNAL(changed(const QColor &)), SLOT(updateChanged()));
connect(customMenubarsColor, SIGNAL(changed(const QColor &)), SLOT(updateChanged()));
connect(customMenuSelTextColor, SIGNAL(changed(const QColor &)), SLOT(updateChanged()));
connect(customMenuNormTextColor, SIGNAL(changed(const QColor &)), SLOT(updateChanged()));
connect(shadeSliders, SIGNAL(activated(int)), SLOT(shadeSlidersChanged()));
connect(shadeMenubars, SIGNAL(activated(int)), SLOT(shadeMenubarsChanged()));
connect(highlightFactor, SIGNAL(valueChanged(int)), SLOT(updateChanged()));
connect(scrollbarType, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(shading, SIGNAL(activated(int)), SLOT(updateChanged()));
connect(gtkScrollViews, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(gtkComboMenus, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(gtkButtonOrder, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(mapKdeIcons, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(passwordChar, SIGNAL(clicked()), SLOT(passwordCharClicked()));
connect(framelessGroupBoxes, SIGNAL(toggled(bool)), SLOT(updateChanged()));
connect(inactiveHighlight, SIGNAL(toggled(bool)), SLOT(updateChanged()));
defaultSettings(&defaultStyle);
if(!readConfig(NULL, &currentStyle, &defaultStyle))
currentStyle=defaultStyle;
setWidgetOptions(currentStyle);
QPopupMenu *menu=new QPopupMenu(this),
*subMenu=new QPopupMenu(this);
optionBtn->setPopup(menu);
menu->insertItem(i18n("Predefined Style"), subMenu);
menu->insertSeparator();
menu->insertItem(i18n("Import..."), this, SLOT(importStyle()));
menu->insertItem(i18n("Export..."), this, SLOT(exportStyle()));
menu->insertSeparator();
menu->insertItem(i18n("Export Theme..."), this, SLOT(exportTheme()));
loadStyles(subMenu);
}
QtCurveConfig::~QtCurveConfig()
{
}
void QtCurveConfig::loadStyles(QPopupMenu *menu)
{
QStringList files(KGlobal::dirs()->findAllResources("data", "QtCurve/*"QTC_EXTENSION, false, true));
files.sort();
QStringList::Iterator it(files.begin()),
end(files.end());
Options opts;
for(; it!=end; ++it)
if(readConfig(*it, &opts, &defaultStyle))
styles[menu->insertItem(QFileInfo(*it).fileName().remove(QTC_EXTENSION).replace('_', ' '),
this, SLOT(setStyle(int)))]=*it;
}
void QtCurveConfig::save()
{
Options opts=currentStyle;
setOptions(opts);
writeConfig(NULL, opts, defaultStyle);
KSharedConfig *cfg=KGlobal::sharedConfig();
QString grp(cfg->group());
bool useGlobals(cfg->forceGlobal());
cfg->setForceGlobal(true);
cfg->setGroup("KDE");
if(opts.gtkButtonOrder)
cfg->writeEntry("ButtonLayout", 2);
else
cfg->deleteEntry("ButtonLayout");
cfg->setGroup(grp);
cfg->sync();
cfg->setForceGlobal(useGlobals);
}
void QtCurveConfig::defaults()
{
setWidgetOptions(defaultStyle);
if (settingsChanged())
emit changed(true);
}
void QtCurveConfig::setStyle(int s)
{
loadStyle(styles[s]);
}
void QtCurveConfig::emboldenToggled()
{
if(!embolden->isChecked() && IND_NONE==defBtnIndicator->currentItem())
defBtnIndicator->setCurrentItem(IND_COLORED);
updateChanged();
}
void QtCurveConfig::dbiChanged()
{
if(IND_NONE==defBtnIndicator->currentItem() && !embolden->isChecked())
embolden->setChecked(true);
updateChanged();
}
void QtCurveConfig::shadeSlidersChanged()
{
customSlidersColor->setEnabled(SHADE_CUSTOM==shadeSliders->currentItem());
updateChanged();
}
void QtCurveConfig::shadeMenubarsChanged()
{
customMenubarsColor->setEnabled(SHADE_CUSTOM==shadeMenubars->currentItem());
updateChanged();
}
void QtCurveConfig::shadeCheckRadioChanged()
{
customCheckRadioColor->setEnabled(SHADE_CUSTOM==shadeCheckRadio->currentItem());
updateChanged();
}
void QtCurveConfig::customMenuTextColorChanged()
{
customMenuNormTextColor->setEnabled(customMenuTextColor->isChecked());
customMenuSelTextColor->setEnabled(customMenuTextColor->isChecked());
updateChanged();
}
void QtCurveConfig::stripedProgressChanged()
{
animatedProgress->setEnabled(STRIPE_NONE!=stripedProgress->currentItem());
if(animatedProgress->isChecked() && STRIPE_NONE==stripedProgress->currentItem())
animatedProgress->setChecked(false);
updateChanged();
}
void QtCurveConfig::tabAppearanceChanged()
{
if(colorSelTab->isChecked() && APPEARANCE_GRADIENT!=tabAppearance->currentItem())
colorSelTab->setChecked(false);
colorSelTab->setEnabled(APPEARANCE_GRADIENT==tabAppearance->currentItem());
updateChanged();
}
void QtCurveConfig::passwordCharClicked()
{
int cur(toInt(passwordChar->text()));
CharSelectDialog dlg(this, cur);
if(QDialog::Accepted==dlg.exec() && dlg.currentChar()!=cur)
setPasswordChar(dlg.currentChar());
}
void QtCurveConfig::setPasswordChar(int ch)
{
QString str;
QTextOStream s(&str);
s.setf(QTextStream::hex);
s << QChar(ch) << " (" << ch << ')';
passwordChar->setText(str);
}
void QtCurveConfig::updateChanged()
{
if (settingsChanged())
emit changed(true);
}
void QtCurveConfig::importStyle()
{
QString file(KFileDialog::getOpenFileName(QString::null,
i18n("*"QTC_EXTENSION"|QtCurve Settings Files\n"
QTC_THEME_PREFIX"*"QTC_THEME_SUFFIX"|QtCurve KDE Theme Files"),
this));
if(!file.isEmpty())
loadStyle(file);
}
void QtCurveConfig::exportStyle()
{
QString file(KFileDialog::getSaveFileName(QString::null, i18n("*"QTC_EXTENSION"|QtCurve Settings Files"), this));
if(!file.isEmpty())
{
KConfig cfg(file, false, false);
bool rv(!cfg.isReadOnly());
if(rv)
{
Options opts;
setOptions(opts);
rv=writeConfig(&cfg, opts, defaultStyle, true);
}
if(!rv)
KMessageBox::error(this, i18n("Could not write to file:\n%1").arg(file));
}
}
void QtCurveConfig::exportTheme()
{
if(!exportDialog)
exportDialog=new CExportThemeDialog(this);
Options opts;
setOptions(opts);
exportDialog->run(opts);
}
void QtCurveConfig::loadStyle(const QString &file)
{
Options opts;
if(readConfig(file, &opts, &defaultStyle))
{
setWidgetOptions(opts);
if (settingsChanged())
emit changed(true);
}
}
void QtCurveConfig::setOptions(Options &opts)
{
opts.round=(ERound)round->currentItem();
opts.toolbarBorders=(ETBarBorder)toolbarBorders->currentItem();
opts.appearance=(EAppearance)appearance->currentItem();
#ifndef QTC_PLAIN_FOCUS_ONLY
opts.stdFocus=stdFocus->isChecked();
#endif
opts.lvLines=lvLines->isChecked();
opts.drawStatusBarFrames=drawStatusBarFrames->isChecked();
opts.buttonEffect=(EEffect)buttonEffect->currentItem();
opts.coloredMouseOver=(EMouseOver)coloredMouseOver->currentItem();
opts.menubarMouseOver=menubarMouseOver->isChecked();
opts.shadeMenubarOnlyWhenActive=shadeMenubarOnlyWhenActive->isChecked();
opts.thinnerMenuItems=thinnerMenuItems->isChecked();
opts.fixParentlessDialogs=fixParentlessDialogs->isChecked();
opts.animatedProgress=animatedProgress->isChecked();
opts.stripedProgress=(EStripe)stripedProgress->currentItem();
opts.lighterPopupMenuBgnd=lighterPopupMenuBgnd->isChecked();
opts.embolden=embolden->isChecked();
opts.scrollbarType=(EScrollbar)scrollbarType->currentItem();
opts.defBtnIndicator=(EDefBtnIndicator)defBtnIndicator->currentItem();
opts.sliderThumbs=(ELine)sliderThumbs->currentItem();
opts.handles=(ELine)handles->currentItem();
opts.highlightTab=highlightTab->isChecked();
opts.shadeSliders=(EShade)shadeSliders->currentItem();
opts.shadeMenubars=(EShade)shadeMenubars->currentItem();
opts.menubarAppearance=(EAppearance)menubarAppearance->currentItem();
opts.toolbarAppearance=(EAppearance)toolbarAppearance->currentItem();
opts.lvAppearance=(EAppearance)lvAppearance->currentItem();
opts.sliderAppearance=(EAppearance)sliderAppearance->currentItem();
opts.tabAppearance=(EAppearance)tabAppearance->currentItem();
opts.toolbarSeparators=(ELine)toolbarSeparators->currentItem();
opts.splitters=(ELine)splitters->currentItem();
opts.customSlidersColor=customSlidersColor->color();
opts.customMenubarsColor=customMenubarsColor->color();
opts.highlightFactor=((double)(highlightFactor->value()+100))/100.0;
opts.customMenuNormTextColor=customMenuNormTextColor->color();
opts.customMenuSelTextColor=customMenuSelTextColor->color();
opts.customMenuTextColor=customMenuTextColor->isChecked();
opts.fillSlider=fillSlider->isChecked();
opts.sliderStyle=(ESliderStyle)sliderStyle->currentItem();
opts.roundMbTopOnly=roundMbTopOnly->isChecked();
opts.gradientPbGroove=gradientPbGroove->isChecked();
opts.darkerBorders=darkerBorders->isChecked();
opts.vArrows=vArrows->isChecked();
opts.xCheck=xCheck->isChecked();
opts.colorSelTab=colorSelTab->isChecked();
opts.stdSidebarButtons=stdSidebarButtons->isChecked();
opts.borderMenuitems=borderMenuitems->isChecked();
opts.progressAppearance=(EAppearance)progressAppearance->currentItem();
opts.menuitemAppearance=(EAppearance)menuitemAppearance->currentItem();
opts.shadeCheckRadio=(EShade)shadeCheckRadio->currentItem();
opts.customCheckRadioColor=customCheckRadioColor->color();
opts.shading=(EShading)shading->currentItem();
opts.gtkScrollViews=gtkScrollViews->isChecked();
opts.gtkComboMenus=gtkComboMenus->isChecked();
opts.gtkButtonOrder=gtkButtonOrder->isChecked();
opts.mapKdeIcons=mapKdeIcons->isChecked();
opts.passwordChar=toInt(passwordChar->text());
opts.framelessGroupBoxes=framelessGroupBoxes->isChecked();
opts.inactiveHighlight=inactiveHighlight->isChecked();
}
void QtCurveConfig::setWidgetOptions(const Options &opts)
{
round->setCurrentItem(opts.round);
scrollbarType->setCurrentItem(opts.scrollbarType);
lighterPopupMenuBgnd->setChecked(opts.lighterPopupMenuBgnd);
toolbarBorders->setCurrentItem(opts.toolbarBorders);
sliderThumbs->setCurrentItem(opts.sliderThumbs);
handles->setCurrentItem(opts.handles);
appearance->setCurrentItem(opts.appearance);
#ifndef QTC_PLAIN_FOCUS_ONLY
stdFocus->setChecked(opts.stdFocus);
#endif
lvLines->setChecked(opts.lvLines);
drawStatusBarFrames->setChecked(opts.drawStatusBarFrames);
buttonEffect->setCurrentItem(opts.buttonEffect);
coloredMouseOver->setCurrentItem(opts.coloredMouseOver);
menubarMouseOver->setChecked(opts.menubarMouseOver);
shadeMenubarOnlyWhenActive->setChecked(opts.shadeMenubarOnlyWhenActive);
thinnerMenuItems->setChecked(opts.thinnerMenuItems);
fixParentlessDialogs->setChecked(opts.fixParentlessDialogs);
animatedProgress->setChecked(opts.animatedProgress);
stripedProgress->setCurrentItem(opts.stripedProgress);
embolden->setChecked(opts.embolden);
defBtnIndicator->setCurrentItem(opts.defBtnIndicator);
highlightTab->setChecked(opts.highlightTab);
menubarAppearance->setCurrentItem(opts.menubarAppearance);
toolbarAppearance->setCurrentItem(opts.toolbarAppearance);
lvAppearance->setCurrentItem(opts.lvAppearance);
sliderAppearance->setCurrentItem(opts.sliderAppearance);
tabAppearance->setCurrentItem(opts.tabAppearance);
toolbarSeparators->setCurrentItem(opts.toolbarSeparators);
splitters->setCurrentItem(opts.splitters);
shadeSliders->setCurrentItem(opts.shadeSliders);
shadeMenubars->setCurrentItem(opts.shadeMenubars);
highlightFactor->setValue((int)(opts.highlightFactor*100)-100);
customSlidersColor->setColor(opts.customSlidersColor);
customMenubarsColor->setColor(opts.customMenubarsColor);
customMenuNormTextColor->setColor(opts.customMenuNormTextColor);
customMenuSelTextColor->setColor(opts.customMenuSelTextColor);
customMenuTextColor->setChecked(opts.customMenuTextColor);
customSlidersColor->setEnabled(SHADE_CUSTOM==opts.shadeSliders);
customMenubarsColor->setEnabled(SHADE_CUSTOM==opts.shadeMenubars);
customMenuNormTextColor->setEnabled(customMenuTextColor->isChecked());
customMenuSelTextColor->setEnabled(customMenuTextColor->isChecked());
customCheckRadioColor->setEnabled(SHADE_CUSTOM==opts.shadeCheckRadio);
animatedProgress->setEnabled(STRIPE_NONE!=stripedProgress->currentItem());
fillSlider->setChecked(opts.fillSlider);
sliderStyle->setCurrentItem(opts.sliderStyle);
roundMbTopOnly->setChecked(opts.roundMbTopOnly);
gradientPbGroove->setChecked(opts.gradientPbGroove);
darkerBorders->setChecked(opts.darkerBorders);
vArrows->setChecked(opts.vArrows);
xCheck->setChecked(opts.xCheck);
colorSelTab->setChecked(opts.colorSelTab);
stdSidebarButtons->setChecked(opts.stdSidebarButtons);
borderMenuitems->setChecked(opts.borderMenuitems);
progressAppearance->setCurrentItem(opts.progressAppearance);
menuitemAppearance->setCurrentItem(opts.menuitemAppearance);
shadeCheckRadio->setCurrentItem(opts.shadeCheckRadio);
customCheckRadioColor->setColor(opts.customCheckRadioColor);
shading->setCurrentItem(opts.shading);
gtkScrollViews->setChecked(opts.gtkScrollViews);
gtkComboMenus->setChecked(opts.gtkComboMenus);
gtkButtonOrder->setChecked(opts.gtkButtonOrder);
mapKdeIcons->setChecked(opts.mapKdeIcons);
setPasswordChar(opts.passwordChar);
framelessGroupBoxes->setChecked(opts.framelessGroupBoxes);
inactiveHighlight->setChecked(opts.inactiveHighlight);
}
bool QtCurveConfig::settingsChanged()
{
return round->currentItem()!=currentStyle.round ||
toolbarBorders->currentItem()!=currentStyle.toolbarBorders ||
appearance->currentItem()!=(int)currentStyle.appearance ||
#ifndef QTC_PLAIN_FOCUS_ONLY
stdFocus->isChecked()!=currentStyle.stdFocus ||
#endif
lvLines->isChecked()!=currentStyle.lvLines ||
drawStatusBarFrames->isChecked()!=currentStyle.drawStatusBarFrames ||
buttonEffect->currentItem()!=(int)currentStyle.buttonEffect ||
coloredMouseOver->currentItem()!=(int)currentStyle.coloredMouseOver ||
menubarMouseOver->isChecked()!=currentStyle.menubarMouseOver ||
shadeMenubarOnlyWhenActive->isChecked()!=currentStyle.shadeMenubarOnlyWhenActive ||
thinnerMenuItems->isChecked()!=currentStyle.thinnerMenuItems ||
fixParentlessDialogs->isChecked()!=currentStyle.fixParentlessDialogs ||
animatedProgress->isChecked()!=currentStyle.animatedProgress ||
stripedProgress->currentItem()!=currentStyle.stripedProgress ||
lighterPopupMenuBgnd->isChecked()!=currentStyle.lighterPopupMenuBgnd ||
embolden->isChecked()!=currentStyle.embolden ||
fillSlider->isChecked()!=currentStyle.fillSlider ||
sliderStyle->currentItem()!=currentStyle.sliderStyle ||
roundMbTopOnly->isChecked()!=currentStyle.roundMbTopOnly ||
gradientPbGroove->isChecked()!=currentStyle.gradientPbGroove ||
darkerBorders->isChecked()!=currentStyle.darkerBorders ||
vArrows->isChecked()!=currentStyle.vArrows ||
xCheck->isChecked()!=currentStyle.xCheck ||
colorSelTab->isChecked()!=currentStyle.colorSelTab ||
stdSidebarButtons->isChecked()!=currentStyle.stdSidebarButtons ||
borderMenuitems->isChecked()!=currentStyle.borderMenuitems ||
defBtnIndicator->currentItem()!=(int)currentStyle.defBtnIndicator ||
sliderThumbs->currentItem()!=(int)currentStyle.sliderThumbs ||
handles->currentItem()!=(int)currentStyle.handles ||
scrollbarType->currentItem()!=(int)currentStyle.scrollbarType ||
highlightTab->isChecked()!=currentStyle.highlightTab ||
shadeSliders->currentItem()!=(int)currentStyle.shadeSliders ||
shadeMenubars->currentItem()!=(int)currentStyle.shadeMenubars ||
shadeCheckRadio->currentItem()!=(int)currentStyle.shadeCheckRadio ||
menubarAppearance->currentItem()!=currentStyle.menubarAppearance ||
toolbarAppearance->currentItem()!=currentStyle.toolbarAppearance ||
lvAppearance->currentItem()!=currentStyle.lvAppearance ||
sliderAppearance->currentItem()!=currentStyle.sliderAppearance ||
tabAppearance->currentItem()!=currentStyle.tabAppearance ||
progressAppearance->currentItem()!=currentStyle.progressAppearance ||
menuitemAppearance->currentItem()!=currentStyle.menuitemAppearance ||
toolbarSeparators->currentItem()!=currentStyle.toolbarSeparators ||
splitters->currentItem()!=currentStyle.splitters ||
shading->currentItem()!=(int)currentStyle.shading ||
gtkScrollViews->isChecked()!=currentStyle.gtkScrollViews ||
gtkComboMenus->isChecked()!=currentStyle.gtkComboMenus ||
gtkButtonOrder->isChecked()!=currentStyle.gtkButtonOrder ||
mapKdeIcons->isChecked()!=currentStyle.mapKdeIcons ||
framelessGroupBoxes->isChecked()!=currentStyle.framelessGroupBoxes ||
inactiveHighlight->isChecked()!=currentStyle.inactiveHighlight ||
toInt(passwordChar->text())!=currentStyle.passwordChar ||
(highlightFactor->value()+100)!=(int)(currentStyle.highlightFactor*100) ||
customMenuTextColor->isChecked()!=currentStyle.customMenuTextColor ||
(SHADE_CUSTOM==currentStyle.shadeSliders &&
customSlidersColor->color()!=currentStyle.customSlidersColor) ||
(SHADE_CUSTOM==currentStyle.shadeMenubars &&
customMenubarsColor->color()!=currentStyle.customMenubarsColor) ||
(SHADE_CUSTOM==currentStyle.shadeCheckRadio &&
customCheckRadioColor->color()!=currentStyle.customCheckRadioColor) ||
(customMenuTextColor->isChecked() &&
customMenuNormTextColor->color()!=currentStyle.customMenuNormTextColor) ||
(customMenuTextColor->isChecked() &&
customMenuSelTextColor->color()!=currentStyle.customMenuSelTextColor);
}
#include "qtcurveconfig.moc"

@ -0,0 +1,89 @@
#ifndef __QTCURVECONFIG_H__
#define __QTCURVECONFIG_H__
/*
QtCurve (C) Craig Drummond, 2003 - 2007 Craig.Drummond@lycos.co.uk
----
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License version 2 as published by the Free Software Foundation.
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.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#define QTC_COMMON_ONLY_COVERTERS
#define QTC_CONFIG_DIALOG
#include <qtcurveconfigbase.h>
#include <qmap.h>
#include "common.h"
class QPopupMenu;
class CExportThemeDialog;
class QtCurveConfig : public QtCurveConfigBase
{
Q_OBJECT
public:
QtCurveConfig(QWidget *parent);
virtual ~QtCurveConfig();
signals:
void changed(bool);
private:
void loadStyles(QPopupMenu *menu);
public slots:
void save();
void defaults();
private slots:
void setStyle(int s);
void updateChanged();
void importStyle();
void exportStyle();
void exportTheme();
void emboldenToggled();
void dbiChanged();
void shadeSlidersChanged();
void shadeMenubarsChanged();
void shadeCheckRadioChanged();
void customMenuTextColorChanged();
void stripedProgressChanged();
void tabAppearanceChanged();
void passwordCharClicked();
private:
void setPasswordChar(int ch);
void loadStyle(const QString &file);
void setOptions(Options &opts);
void setWidgetOptions(const Options &opts);
bool settingsChanged();
private:
Options currentStyle,
defaultStyle;
QMap<int, QString> styles;
CExportThemeDialog *exportDialog;
};
#endif

@ -0,0 +1,996 @@
<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
<class>QtCurveConfigBase</class>
<widget class="QWidget">
<property name="name">
<cstring>QtCurveConfigBase</cstring>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>666</width>
<height>556</height>
</rect>
</property>
<property name="caption">
<string>Form1</string>
</property>
<grid>
<property name="name">
<cstring>unnamed</cstring>
</property>
<property name="margin">
<number>0</number>
</property>
<widget class="QLabel" row="0" column="0" rowspan="1" colspan="2">
<property name="name">
<cstring>titleLabel</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>5</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>title</string>
</property>
<property name="alignment">
<set>AlignCenter</set>
</property>
</widget>
<spacer row="1" column="0">
<property name="name">
<cstring>spacer2</cstring>
</property>
<property name="orientation">
<enum>Vertical</enum>
</property>
<property name="sizeType">
<enum>Fixed</enum>
</property>
<property name="sizeHint">
<size>
<width>20</width>
<height>16</height>
</size>
</property>
</spacer>
<widget class="QTabWidget" row="2" column="0" rowspan="1" colspan="2">
<property name="name">
<cstring>optionsTab</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>3</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<widget class="QWidget">
<property name="name">
<cstring>tab</cstring>
</property>
<attribute name="title">
<string>General</string>
</attribute>
<grid>
<property name="name">
<cstring>unnamed</cstring>
</property>
<widget class="QLabel" row="1" column="0">
<property name="name">
<cstring>textLabel1_6</cstring>
</property>
<property name="text">
<string>Splitters:</string>
</property>
</widget>
<widget class="QLabel" row="3" column="0">
<property name="name">
<cstring>textLabel1_2_3</cstring>
</property>
<property name="text">
<string>Scrollbars:</string>
</property>
</widget>
<widget class="QLabel" row="2" column="0">
<property name="name">
<cstring>textLabel1_2_3_2</cstring>
</property>
<property name="text">
<string>Sliders:</string>
</property>
</widget>
<widget class="QLabel" row="0" column="0">
<property name="name">
<cstring>textLabel1_7</cstring>
</property>
<property name="text">
<string>Appearance:</string>
</property>
</widget>
<widget class="QLabel" row="4" column="0">
<property name="name">
<cstring>textLabel1</cstring>
</property>
<property name="text">
<string>Progress bars:</string>
</property>
</widget>
<widget class="QLabel" row="7" column="0">
<property name="name">
<cstring>textLabel1_8_2</cstring>
</property>
<property name="text">
<string>Listviews:</string>
</property>
<property name="whatsThis" stdset="0">
<string>This controls the % that widgets will be highlighted by when the mouse hovers over them</string>
</property>
</widget>
<widget class="QComboBox" row="7" column="1">
<property name="name">
<cstring>lvAppearance</cstring>
</property>
</widget>
<widget class="QCheckBox" row="5" column="1">
<property name="name">
<cstring>embolden</cstring>
</property>
<property name="text">
<string>Bold text, and</string>
</property>
</widget>
<widget class="QComboBox" row="8" column="1">
<property name="name">
<cstring>tabAppearance</cstring>
</property>
</widget>
<widget class="QComboBox" row="4" column="1">
<property name="name">
<cstring>progressAppearance</cstring>
</property>
<property name="whatsThis" stdset="0">
<string>The setting here affects the general appearance - and will be applied to buttons, scrollbars, sliders, combo boxes, and spin buttons.</string>
</property>
</widget>
<widget class="QComboBox" row="3" column="1">
<property name="name">
<cstring>scrollbarType</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
<widget class="QComboBox" row="4" column="4">
<property name="name">
<cstring>stripedProgress</cstring>
</property>
</widget>
<widget class="QCheckBox" row="4" column="2" rowspan="1" colspan="2">
<property name="name">
<cstring>gradientPbGroove</cstring>
</property>
<property name="text">
<string>Gradient groove</string>
</property>
</widget>
<widget class="QComboBox" row="2" column="1">
<property name="name">
<cstring>sliderAppearance</cstring>
</property>
</widget>
<widget class="QCheckBox" row="4" column="5">
<property name="name">
<cstring>animatedProgress</cstring>
</property>
<property name="text">
<string>Animated</string>
</property>
</widget>
<widget class="QCheckBox" row="7" column="2" rowspan="1" colspan="4">
<property name="name">
<cstring>lvLines</cstring>
</property>
<property name="text">
<string>Lines</string>
</property>
</widget>
<widget class="QCheckBox" row="10" column="0" rowspan="1" colspan="2">
<property name="name">
<cstring>stdFocus</cstring>
</property>
<property name="text">
<string>Dotted focus rectangle</string>
</property>
<property name="whatsThis" stdset="0">
<string>Some applications, such as Qt Designer, and Krita, make use of 'dock windows' These have a handle strip along the top - enabling this option will draw the name of the window in the handle strip.</string>
</property>
</widget>
<widget class="QCheckBox" row="11" column="0" rowspan="1" colspan="2">
<property name="name">
<cstring>drawStatusBarFrames</cstring>
</property>
<property name="text">
<string>Draw statusbar frames</string>
</property>
</widget>
<widget class="QCheckBox" row="12" column="0" rowspan="1" colspan="2">
<property name="name">
<cstring>framelessGroupBoxes</cstring>
</property>
<property name="text">
<string>Frameless groupboxes</string>
</property>
</widget>
<widget class="QComboBox" row="2" column="2" rowspan="1" colspan="2">
<property name="name">
<cstring>shadeSliders</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
<widget class="QLabel" row="8" column="0">
<property name="name">
<cstring>textLabel1_8_2_2</cstring>
</property>
<property name="text">
<string>Tabs:</string>
</property>
<property name="whatsThis" stdset="0">
<string>This controls the % that widgets will be highlighted by when the mouse hovers over them</string>
</property>
</widget>
<widget class="QLabel" row="9" column="0">
<property name="name">
<cstring>textLabel1_8_2_2_2</cstring>
</property>
<property name="text">
<string>Checks/radios:</string>
</property>
<property name="whatsThis" stdset="0">
<string>This controls the % that widgets will be highlighted by when the mouse hovers over them</string>
</property>
</widget>
<widget class="QComboBox" row="9" column="1">
<property name="name">
<cstring>shadeCheckRadio</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
<widget class="KColorButton" row="9" column="2" rowspan="1" colspan="2">
<property name="name">
<cstring>customCheckRadioColor</cstring>
</property>
<property name="text">
<string></string>
</property>
</widget>
<widget class="KColorButton" row="2" column="4">
<property name="name">
<cstring>customSlidersColor</cstring>
</property>
<property name="text">
<string></string>
</property>
</widget>
<widget class="QLabel" row="5" column="0">
<property name="name">
<cstring>textLabel1_3</cstring>
</property>
<property name="text">
<string>Default button:</string>
</property>
</widget>
<widget class="QLabel" row="6" column="0">
<property name="name">
<cstring>textLabel1_3_2</cstring>
</property>
<property name="text">
<string>Mouse-over:</string>
</property>
</widget>
<widget class="QComboBox" row="0" column="1">
<property name="name">
<cstring>appearance</cstring>
</property>
<property name="whatsThis" stdset="0">
<string>The setting here affects the general appearance - and will be applied to buttons, scrollbars, sliders, combo boxes, and spin buttons.</string>
</property>
</widget>
<widget class="QCheckBox" row="11" column="2" rowspan="1" colspan="4">
<property name="name">
<cstring>stdSidebarButtons</cstring>
</property>
<property name="text">
<string>Standard buttons for sidebars</string>
</property>
</widget>
<widget class="QComboBox" row="6" column="1">
<property name="name">
<cstring>coloredMouseOver</cstring>
</property>
<property name="whatsThis" stdset="0">
<string>The setting here affects the general appearance - and will be applied to buttons, scrollbars, sliders, combo boxes, and spin buttons.</string>
</property>
</widget>
<widget class="QLabel" row="6" column="2">
<property name="name">
<cstring>textLabel1_8</cstring>
</property>
<property name="text">
<string>Highlight by:</string>
</property>
<property name="whatsThis" stdset="0">
<string>This controls the % that widgets will be highlighted by when the mouse hovers over them</string>
</property>
</widget>
<widget class="QCheckBox" row="12" column="2" rowspan="1" colspan="3">
<property name="name">
<cstring>darkerBorders</cstring>
</property>
<property name="text">
<string>Darker borders</string>
</property>
</widget>
<widget class="QComboBox" row="0" column="2" rowspan="1" colspan="2">
<property name="name">
<cstring>round</cstring>
</property>
</widget>
<widget class="QCheckBox" row="10" column="2" rowspan="1" colspan="4">
<property name="name">
<cstring>vArrows</cstring>
</property>
<property name="text">
<string>'V' style arrows</string>
</property>
</widget>
<widget class="QComboBox" row="1" column="1">
<property name="name">
<cstring>splitters</cstring>
</property>
</widget>
<spacer row="13" column="0">
<property name="name">
<cstring>spacer6</cstring>
</property>
<property name="orientation">
<enum>Vertical</enum>
</property>
<property name="sizeType">
<enum>Expanding</enum>
</property>
<property name="sizeHint">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
<widget class="QCheckBox" row="9" column="4" rowspan="1" colspan="2">
<property name="name">
<cstring>xCheck</cstring>
</property>
<property name="text">
<string>'X' style checkmarks</string>
</property>
</widget>
<widget class="QCheckBox" row="8" column="2" rowspan="1" colspan="2">
<property name="name">
<cstring>highlightTab</cstring>
</property>
<property name="text">
<string>Highlight selected</string>
</property>
<property name="whatsThis" stdset="0">
<string>This will cause a coloured stripe to be drawn over the current tab.</string>
</property>
</widget>
<widget class="QCheckBox" row="8" column="4" rowspan="1" colspan="2">
<property name="name">
<cstring>colorSelTab</cstring>
</property>
<property name="text">
<string>Color selected</string>
</property>
</widget>
<widget class="QComboBox" row="3" column="2" rowspan="1" colspan="3">
<property name="name">
<cstring>sliderThumbs</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
<widget class="QComboBox" row="5" column="2" rowspan="1" colspan="3">
<property name="name">
<cstring>defBtnIndicator</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
<widget class="QCheckBox" row="2" column="6">
<property name="name">
<cstring>fillSlider</cstring>
</property>
<property name="text">
<string>Fill used</string>
</property>
</widget>
<widget class="QComboBox" row="2" column="5">
<property name="name">
<cstring>sliderStyle</cstring>
</property>
</widget>
<widget class="QComboBox" row="0" column="4">
<property name="name">
<cstring>buttonEffect</cstring>
</property>
</widget>
<widget class="KIntNumInput" row="6" column="3" rowspan="1" colspan="2">
<property name="name">
<cstring>highlightFactor</cstring>
</property>
<property name="suffix">
<string>%</string>
</property>
</widget>
</grid>
</widget>
<widget class="QWidget">
<property name="name">
<cstring>tab</cstring>
</property>
<attribute name="title">
<string>Menus &amp;&amp; Toolbars</string>
</attribute>
<grid>
<property name="name">
<cstring>unnamed</cstring>
</property>
<widget class="QLabel" row="0" column="0">
<property name="name">
<cstring>textLabel1_4</cstring>
</property>
<property name="text">
<string>Border:</string>
</property>
</widget>
<spacer row="3" column="2">
<property name="name">
<cstring>spacer5</cstring>
</property>
<property name="orientation">
<enum>Vertical</enum>
</property>
<property name="sizeType">
<enum>Expanding</enum>
</property>
<property name="sizeHint">
<size>
<width>20</width>
<height>54</height>
</size>
</property>
</spacer>
<widget class="QGroupBox" row="1" column="0" rowspan="1" colspan="5">
<property name="name">
<cstring>groupBox2_2</cstring>
</property>
<property name="title">
<string>Menus</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<grid>
<property name="name">
<cstring>unnamed</cstring>
</property>
<widget class="QCheckBox" row="6" column="0" rowspan="1" colspan="8">
<property name="name">
<cstring>lighterPopupMenuBgnd</cstring>
</property>
<property name="text">
<string>Lighter popup-menu background</string>
</property>
</widget>
<widget class="QCheckBox" row="3" column="0" rowspan="1" colspan="8">
<property name="name">
<cstring>menubarMouseOver</cstring>
</property>
<property name="text">
<string>Enable mouse-over for menubar items</string>
</property>
</widget>
<widget class="QCheckBox" row="4" column="0" rowspan="1" colspan="8">
<property name="name">
<cstring>roundMbTopOnly</cstring>
</property>
<property name="text">
<string>Round selected menubar items on top only</string>
</property>
</widget>
<widget class="QLabel" row="1" column="0">
<property name="name">
<cstring>textLabel1_4_2_3</cstring>
</property>
<property name="text">
<string>Coloration:</string>
</property>
</widget>
<widget class="QLabel" row="0" column="0">
<property name="name">
<cstring>textLabel1_4_2</cstring>
</property>
<property name="text">
<string>Menubar appearance:</string>
</property>
</widget>
<widget class="QLabel" row="5" column="0">
<property name="name">
<cstring>textLabel1_4_2_4</cstring>
</property>
<property name="text">
<string>Menuitem appearance:</string>
</property>
</widget>
<widget class="QCheckBox" row="7" column="0" rowspan="1" colspan="7">
<property name="name">
<cstring>thinnerMenuItems</cstring>
</property>
<property name="text">
<string>Thinner menu items</string>
</property>
</widget>
<widget class="QCheckBox" row="1" column="7">
<property name="name">
<cstring>shadeMenubarOnlyWhenActive</cstring>
</property>
<property name="text">
<string>Active window only</string>
</property>
</widget>
<widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="2">
<property name="name">
<cstring>customMenuTextColor</cstring>
</property>
<property name="text">
<string>Custom text colors (normal/selected):</string>
</property>
</widget>
<widget class="QComboBox" row="5" column="1" rowspan="1" colspan="5">
<property name="name">
<cstring>menuitemAppearance</cstring>
</property>
</widget>
<widget class="QComboBox" row="1" column="1" rowspan="1" colspan="5">
<property name="name">
<cstring>shadeMenubars</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
<widget class="QComboBox" row="0" column="1" rowspan="1" colspan="5">
<property name="name">
<cstring>menubarAppearance</cstring>
</property>
</widget>
<widget class="KColorButton" row="1" column="6">
<property name="name">
<cstring>customMenubarsColor</cstring>
</property>
<property name="text">
<string></string>
</property>
</widget>
<widget class="QCheckBox" row="5" column="6">
<property name="name">
<cstring>borderMenuitems</cstring>
</property>
<property name="text">
<string>Border</string>
</property>
</widget>
<widget class="KColorButton" row="2" column="2">
<property name="name">
<cstring>customMenuNormTextColor</cstring>
</property>
<property name="text">
<string></string>
</property>
</widget>
<widget class="KColorButton" row="2" column="4">
<property name="name">
<cstring>customMenuSelTextColor</cstring>
</property>
<property name="text">
<string></string>
</property>
</widget>
</grid>
</widget>
<widget class="QLabel" row="0" column="2">
<property name="name">
<cstring>textLabel2</cstring>
</property>
<property name="text">
<string>Handles:</string>
</property>
</widget>
<spacer row="0" column="4">
<property name="name">
<cstring>spacer4</cstring>
</property>
<property name="orientation">
<enum>Horizontal</enum>
</property>
<property name="sizeType">
<enum>MinimumExpanding</enum>
</property>
<property name="sizeHint">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
<widget class="QComboBox" row="0" column="3">
<property name="name">
<cstring>handles</cstring>
</property>
</widget>
<widget class="QComboBox" row="0" column="1">
<property name="name">
<cstring>toolbarBorders</cstring>
</property>
</widget>
<widget class="QGroupBox" row="2" column="0" rowspan="1" colspan="5">
<property name="name">
<cstring>groupBox2</cstring>
</property>
<property name="title">
<string>Toolbars</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<grid>
<property name="name">
<cstring>unnamed</cstring>
</property>
<widget class="QLabel" row="0" column="0">
<property name="name">
<cstring>textLabel1_4_2_2</cstring>
</property>
<property name="text">
<string>Appearance:</string>
</property>
</widget>
<widget class="QComboBox" row="0" column="1">
<property name="name">
<cstring>toolbarAppearance</cstring>
</property>
</widget>
<widget class="QLabel" row="0" column="2">
<property name="name">
<cstring>textLabel2_2</cstring>
</property>
<property name="text">
<string>Separators:</string>
</property>
</widget>
<widget class="QComboBox" row="0" column="3">
<property name="name">
<cstring>toolbarSeparators</cstring>
</property>
</widget>
<spacer row="0" column="4">
<property name="name">
<cstring>spacer4_2</cstring>
</property>
<property name="orientation">
<enum>Horizontal</enum>
</property>
<property name="sizeType">
<enum>MinimumExpanding</enum>
</property>
<property name="sizeHint">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</grid>
</widget>
</grid>
</widget>
<widget class="QWidget">
<property name="name">
<cstring>TabPage</cstring>
</property>
<attribute name="title">
<string>Advanced</string>
</attribute>
<grid>
<property name="name">
<cstring>unnamed</cstring>
</property>
<widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="3">
<property name="name">
<cstring>gtkComboMenus</cstring>
</property>
<property name="text">
<string>Gtk style comboboxes (KDE4 only)</string>
</property>
</widget>
<widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="3">
<property name="name">
<cstring>gtkScrollViews</cstring>
</property>
<property name="text">
<string>Gtk style scrollviews (KDE3 and KDE4 only)</string>
</property>
</widget>
<widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="3">
<property name="name">
<cstring>gtkButtonOrder</cstring>
</property>
<property name="text">
<string>Gtk button order</string>
</property>
</widget>
<widget class="QCheckBox" row="3" column="0" rowspan="1" colspan="3">
<property name="name">
<cstring>mapKdeIcons</cstring>
</property>
<property name="text">
<string>Map KDE icons (Gtk2 only)</string>
</property>
</widget>
<widget class="QCheckBox" row="4" column="0" rowspan="1" colspan="3">
<property name="name">
<cstring>fixParentlessDialogs</cstring>
</property>
<property name="text">
<string>'Fix' parentless dialogs</string>
</property>
<property name="whatsThis" stdset="0">
<string>&lt;h2&gt;&lt;font color="#ff0000"&gt;Warning: Experimental!&lt;/font&gt;&lt;/h1&gt;&lt;p&gt;&lt;p&gt;Some applications - such as Kate, Kaffeine, and GIMP - produce dialogs that have no 'parent'. This causes the dialog to recieve an entry in the taskbar, and allows the dialog to be minimised independantly of the main application window.&lt;/p&gt;
&lt;p&gt;If you enable this option, QtCurve will try to 'fix' this by assigning the dialogs a parent.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This may brake some applications, as it wiill alter the behaviour of dialogs in a way the application has not intended. Therefore, please use with care.&lt;/p&gt;</string>
</property>
</widget>
<widget class="QCheckBox" row="5" column="0" rowspan="1" colspan="3">
<property name="name">
<cstring>inactiveHighlight</cstring>
</property>
<property name="text">
<string>Use blended background/highlight colour for highlight of inactive elements</string>
</property>
<property name="whatsThis" stdset="0">
<string>&lt;h2&gt;&lt;font color="#ff0000"&gt;Warning: Experimental!&lt;/font&gt;&lt;/h1&gt;&lt;p&gt;&lt;p&gt;Some applications - such as Kate, Kaffeine, and GIMP - produce dialogs that have no 'parent'. This causes the dialog to recieve an entry in the taskbar, and allows the dialog to be minimised independantly of the main application window.&lt;/p&gt;
&lt;p&gt;If you enable this option, QtCurve will try to 'fix' this by assigning the dialogs a parent.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This may brake some applications, as it wiill alter the behaviour of dialogs in a way the application has not intended. Therefore, please use with care.&lt;/p&gt;</string>
</property>
</widget>
<widget class="QLabel" row="6" column="0">
<property name="name">
<cstring>textLabel1_2</cstring>
</property>
<property name="text">
<string>Character to use for password entries:</string>
</property>
</widget>
<widget class="QPushButton" row="6" column="1">
<property name="name">
<cstring>passwordChar</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>4</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string></string>
</property>
</widget>
<spacer row="6" column="2">
<property name="name">
<cstring>spacer8</cstring>
</property>
<property name="orientation">
<enum>Horizontal</enum>
</property>
<property name="sizeType">
<enum>Expanding</enum>
</property>
<property name="sizeHint">
<size>
<width>133</width>
<height>6</height>
</size>
</property>
</spacer>
<widget class="QLabel" row="7" column="0">
<property name="name">
<cstring>textLabel1_5</cstring>
</property>
<property name="text">
<string>Shading routine:</string>
</property>
</widget>
<widget class="QComboBox" row="7" column="1" rowspan="1" colspan="2">
<property name="name">
<cstring>shading</cstring>
</property>
</widget>
<spacer row="8" column="2">
<property name="name">
<cstring>spacer7</cstring>
</property>
<property name="orientation">
<enum>Vertical</enum>
</property>
<property name="sizeType">
<enum>Expanding</enum>
</property>
<property name="sizeHint">
<size>
<width>20</width>
<height>203</height>
</size>
</property>
</spacer>
</grid>
</widget>
</widget>
<spacer row="3" column="0">
<property name="name">
<cstring>spacer6_2</cstring>
</property>
<property name="orientation">
<enum>Horizontal</enum>
</property>
<property name="sizeType">
<enum>Expanding</enum>
</property>
<property name="sizeHint">
<size>
<width>321</width>
<height>20</height>
</size>
</property>
</spacer>
<widget class="KPushButton" row="3" column="1">
<property name="name">
<cstring>optionBtn</cstring>
</property>
<property name="text">
<string>Options</string>
</property>
</widget>
</grid>
</widget>
<tabstops>
<tabstop>optionsTab</tabstop>
<tabstop>appearance</tabstop>
<tabstop>round</tabstop>
<tabstop>buttonEffect</tabstop>
<tabstop>splitters</tabstop>
<tabstop>sliderAppearance</tabstop>
<tabstop>shadeSliders</tabstop>
<tabstop>customSlidersColor</tabstop>
<tabstop>sliderStyle</tabstop>
<tabstop>fillSlider</tabstop>
<tabstop>scrollbarType</tabstop>
<tabstop>sliderThumbs</tabstop>
<tabstop>progressAppearance</tabstop>
<tabstop>gradientPbGroove</tabstop>
<tabstop>stripedProgress</tabstop>
<tabstop>animatedProgress</tabstop>
<tabstop>embolden</tabstop>
<tabstop>defBtnIndicator</tabstop>
<tabstop>coloredMouseOver</tabstop>
<tabstop>highlightFactor</tabstop>
<tabstop>lvAppearance</tabstop>
<tabstop>lvLines</tabstop>
<tabstop>tabAppearance</tabstop>
<tabstop>highlightTab</tabstop>
<tabstop>colorSelTab</tabstop>
<tabstop>shadeCheckRadio</tabstop>
<tabstop>customCheckRadioColor</tabstop>
<tabstop>xCheck</tabstop>
<tabstop>stdFocus</tabstop>
<tabstop>vArrows</tabstop>
<tabstop>drawStatusBarFrames</tabstop>
<tabstop>stdSidebarButtons</tabstop>
<tabstop>framelessGroupBoxes</tabstop>
<tabstop>darkerBorders</tabstop>
<tabstop>toolbarBorders</tabstop>
<tabstop>handles</tabstop>
<tabstop>menubarAppearance</tabstop>
<tabstop>shadeMenubars</tabstop>
<tabstop>customMenubarsColor</tabstop>
<tabstop>shadeMenubarOnlyWhenActive</tabstop>
<tabstop>customMenuTextColor</tabstop>
<tabstop>customMenuNormTextColor</tabstop>
<tabstop>customMenuSelTextColor</tabstop>
<tabstop>menubarMouseOver</tabstop>
<tabstop>roundMbTopOnly</tabstop>
<tabstop>menuitemAppearance</tabstop>
<tabstop>borderMenuitems</tabstop>
<tabstop>lighterPopupMenuBgnd</tabstop>
<tabstop>thinnerMenuItems</tabstop>
<tabstop>toolbarAppearance</tabstop>
<tabstop>toolbarSeparators</tabstop>
<tabstop>gtkComboMenus</tabstop>
<tabstop>gtkScrollViews</tabstop>
<tabstop>gtkButtonOrder</tabstop>
<tabstop>mapKdeIcons</tabstop>
<tabstop>fixParentlessDialogs</tabstop>
<tabstop>inactiveHighlight</tabstop>
<tabstop>passwordChar</tabstop>
<tabstop>shading</tabstop>
<tabstop>optionBtn</tabstop>
</tabstops>
<layoutdefaults spacing="6" margin="11"/>
<includehints>
<includehint>kcolorbutton.h</includehint>
<includehint>kcolorbutton.h</includehint>
<includehint>knuminput.h</includehint>
<includehint>knuminput.h</includehint>
<includehint>kcolorbutton.h</includehint>
<includehint>kcolorbutton.h</includehint>
<includehint>kcolorbutton.h</includehint>
<includehint>kpushbutton.h</includehint>
</includehints>
</UI>

@ -0,0 +1,10 @@
set(qtcurve_SRCS qtcurve.cpp pixmaps.h)
add_definitions(-DQT_PLUGIN)
include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR} ${KDE3_INCLUDE_DIR} ${QT_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/common)
link_directories(${KDE3_LIB_DIR})
kde3_automoc(${qtcurve_SRCS})
add_library(qtcurve SHARED ${qtcurve_SRCS})
set_target_properties(qtcurve PROPERTIES PREFIX "")
target_link_libraries(qtcurve ${QT_QTGUI_LIBRARY} kdefx)
install(TARGETS qtcurve LIBRARY DESTINATION ${KDE3_LIB_DIR}/kde3/plugins/styles)
install(FILES qtcurve.themerc DESTINATION ${KDE3PREFIX}/share/apps/kstyle/themes)

@ -0,0 +1,247 @@
#ifndef _QEMBED_1804289383
#define _QEMBED_1804289383
static const unsigned int radio_frame_png_len = 419;
static const unsigned char radio_frame_png_data[] = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,
0x44,0x52,0x00,0x00,0x00,0x0d,0x00,0x00,0x00,0x0d,0x08,0x04,0x00,0x00,
0x00,0xd8,0xe2,0x2c,0xf7,0x00,0x00,0x01,0x6a,0x49,0x44,0x41,0x54,0x18,
0x19,0x01,0x5f,0x01,0xa0,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x15,0x00,0x74,0x00,0xd5,0x00,0xff,0x00,0xd5,0x00,0x74,0x00,0x15,0x00,
0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x5b,0x00,0xdc,
0x00,0x21,0x00,0x75,0x00,0x33,0x00,0x73,0x00,0x20,0x00,0xdd,0x00,0x5b,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5b,0x00,0xd2,0x00,0x38,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x00,0xd3,0x00,
0x5b,0x00,0x00,0x00,0x00,0x15,0x00,0xf0,0x00,0x3a,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x00,0xf0,
0x00,0x15,0x03,0x00,0x6a,0x00,0xe5,0x00,0x98,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe5,0x00,0x1f,0x00,
0x1e,0x00,0x00,0xd5,0x00,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4f,0x00,0xd5,
0x00,0x00,0xff,0x00,0x3e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x39,0x00,0xff,0x02,
0x00,0xd6,0x00,0x17,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x17,0x00,0xd6,0x03,0x00,
0x0a,0x00,0x39,0x00,0xb2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x74,0x00,0xbc,0x00,0x00,0x15,
0x00,0xf3,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x3a,0x00,0xf3,0x00,0x15,0x00,0x00,0x00,0x00,
0x5b,0x00,0xda,0x00,0x3d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x39,0x00,0xd9,0x00,0x5b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x5b,0x00,0xf4,0x00,0x9f,0x00,0x53,0x00,0x39,0x00,0x4f,0x00,0x9d,
0x00,0xf5,0x00,0x5b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x15,0x00,0x74,0x00,0xd5,0x00,0xff,0x00,0xd5,0x00,0x74,0x00,
0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x10,0x26,0x73,0x80,0x50,0xef,
0x36,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82
};
/* Generated by qembed */
static const unsigned int radio_light_png_len = 236;
static const unsigned char radio_light_png_data[] = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,
0x44,0x52,0x00,0x00,0x00,0x0d,0x00,0x00,0x00,0x0d,0x08,0x04,0x00,0x00,
0x00,0xd8,0xe2,0x2c,0xf7,0x00,0x00,0x00,0x02,0x62,0x4b,0x47,0x44,0x00,
0xff,0x87,0x8f,0xcc,0xbf,0x00,0x00,0x00,0x09,0x70,0x48,0x59,0x73,0x00,
0x00,0x0b,0x13,0x00,0x00,0x0b,0x13,0x01,0x00,0x9a,0x9c,0x18,0x00,0x00,
0x00,0x07,0x74,0x49,0x4d,0x45,0x07,0xd6,0x09,0x13,0x09,0x3a,0x1a,0x90,
0x15,0xd3,0x1e,0x00,0x00,0x00,0x7d,0x49,0x44,0x41,0x54,0x18,0xd3,0x9d,
0xcf,0xa1,0x0a,0xc2,0x60,0x18,0x85,0xe1,0xe7,0xdf,0x06,0x83,0xe1,0x2d,
0x88,0x58,0xd6,0x0d,0x62,0x5d,0xf0,0x02,0xac,0x36,0x2f,0xc5,0xe4,0x35,
0x79,0x17,0x76,0x41,0xc1,0x22,0x18,0x0c,0x03,0xb3,0xbf,0x61,0xc3,0xe0,
0xfe,0x15,0xdf,0x78,0x3e,0xde,0xc3,0xf9,0x18,0x25,0x07,0x85,0x99,0x8d,
0x93,0xbd,0xd2,0x54,0xeb,0xe5,0x4d,0x86,0xc2,0xca,0x55,0xad,0x51,0x3b,
0xaa,0x2d,0x04,0xa1,0x33,0xe7,0xa2,0xad,0x49,0xdf,0x53,0xf5,0x4d,0x60,
0xe7,0xf0,0x3d,0xfc,0x10,0xad,0x53,0x71,0x06,0x1e,0x63,0x0b,0x4b,0x4f,
0x97,0xb4,0x75,0xb6,0x54,0xa5,0xad,0xd6,0xdd,0x6d,0x90,0xc7,0xee,0xe1,
0x7c,0xa0,0x04,0x7f,0xf2,0x01,0x0c,0x7b,0x12,0xeb,0xfa,0x6c,0x4b,0xe7,
0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82
};
static const unsigned int radio_on_png_len = 231;
static const unsigned char radio_on_png_data[] = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,
0x44,0x52,0x00,0x00,0x00,0x0d,0x00,0x00,0x00,0x0d,0x08,0x06,0x00,0x00,
0x00,0x72,0xeb,0xe4,0x7c,0x00,0x00,0x00,0x06,0x62,0x4b,0x47,0x44,0x00,
0xff,0x00,0xff,0x00,0xff,0xa0,0xbd,0xa7,0x93,0x00,0x00,0x00,0x09,0x70,
0x48,0x59,0x73,0x00,0x00,0x0b,0x13,0x00,0x00,0x0b,0x13,0x01,0x00,0x9a,
0x9c,0x18,0x00,0x00,0x00,0x07,0x74,0x49,0x4d,0x45,0x07,0xd7,0x05,0x1d,
0x0b,0x26,0x21,0x2a,0x9e,0xfa,0x9e,0x00,0x00,0x00,0x74,0x49,0x44,0x41,
0x54,0x28,0xcf,0xd5,0xd0,0x3d,0x0e,0x82,0x50,0x10,0x04,0xe0,0x4f,0xa9,
0x68,0x39,0x84,0x3d,0xb7,0x80,0x96,0xda,0x23,0xd8,0x51,0xd8,0x7a,0x2f,
0x2f,0xc0,0x19,0x80,0xd2,0xc6,0xe6,0x9d,0xc1,0xe6,0x91,0xbc,0x6c,0x50,
0x5b,0x9d,0x64,0xb3,0x7f,0x33,0xd9,0xcc,0xf2,0x77,0xb8,0x60,0xc2,0x9c,
0x73,0x17,0x09,0xd5,0x8e,0x00,0xee,0x68,0x73,0x3d,0x60,0xc1,0xba,0x91,
0x8e,0x41,0x74,0xc6,0x13,0x63,0x98,0xdf,0xca,0xe6,0x10,0x96,0x33,0x52,
0x98,0x35,0x39,0x9f,0xde,0x5d,0x4a,0x05,0xa9,0x14,0xa4,0x4f,0x9e,0x1e,
0xe8,0x51,0xe7,0xd8,0x70,0x2d,0x3d,0xed,0xa1,0xfb,0xf6,0xbd,0x1f,0xc7,
0x0b,0x02,0x3c,0x12,0x4f,0x16,0x9a,0x81,0xa2,0x00,0x00,0x00,0x00,0x49,
0x45,0x4e,0x44,0xae,0x42,0x60,0x82
};
static const unsigned int check_on_png_len = 179;
static const unsigned char check_on_png_data[] = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,
0x44,0x52,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x09,0x08,0x06,0x00,0x00,
0x00,0xe0,0x91,0x06,0x10,0x00,0x00,0x00,0x7a,0x49,0x44,0x41,0x54,0x18,
0x95,0x75,0xce,0x2d,0x0e,0xc2,0x60,0x10,0x84,0xe1,0x87,0x70,0x00,0x0e,
0x40,0xc2,0x8f,0xe8,0xc1,0xd0,0x08,0xae,0x81,0xc0,0xd5,0x70,0x05,0x2e,
0xc0,0x39,0xa8,0x03,0x89,0x04,0x51,0x09,0x69,0x41,0x60,0xb6,0xc9,0xa6,
0xe1,0x1b,0xb5,0x3b,0xfb,0x66,0x76,0x26,0xca,0x5a,0xe1,0x88,0x59,0x09,
0x58,0xe2,0x8e,0xdb,0x60,0xac,0x51,0x25,0x60,0x8e,0x0b,0xde,0x58,0x0c,
0xe6,0x13,0x1d,0xf6,0xb1,0xef,0xf0,0x45,0x9d,0xa3,0xb7,0xe8,0xf1,0xc1,
0x06,0x2d,0x5e,0xff,0x3a,0x1c,0x02,0xea,0x23,0xe5,0x54,0x2a,0xdb,0x04,
0xd0,0xe5,0x2e,0x63,0x55,0xf1,0xa6,0x19,0x1f,0xa6,0x69,0x6e,0xf1,0xc0,
0x19,0xd7,0x0c,0xfd,0x00,0x7a,0x3f,0x1a,0x54,0x34,0x8d,0x19,0xdc,0x00,
0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82
};
static const unsigned int slider_png_len = 311;
static const unsigned char slider_png_data[] = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,
0x44,0x52,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x0d,0x08,0x06,0x00,0x00,
0x00,0x46,0x92,0x25,0x60,0x00,0x00,0x00,0x06,0x62,0x4b,0x47,0x44,0x00,
0xff,0x00,0xff,0x00,0xff,0xa0,0xbd,0xa7,0x93,0x00,0x00,0x00,0x09,0x70,
0x48,0x59,0x73,0x00,0x00,0x0b,0x13,0x00,0x00,0x0b,0x13,0x01,0x00,0x9a,
0x9c,0x18,0x00,0x00,0x00,0x07,0x74,0x49,0x4d,0x45,0x07,0xd7,0x06,0x19,
0x0b,0x21,0x06,0x08,0x17,0x34,0xb5,0x00,0x00,0x00,0xc4,0x49,0x44,0x41,
0x54,0x38,0xcb,0xad,0xd3,0x31,0x6a,0x02,0x41,0x18,0x40,0xe1,0xcf,0xc5,
0x2b,0x4c,0x6c,0xac,0x2c,0xad,0x83,0x44,0x41,0x6c,0x2d,0x24,0xb5,0x90,
0x3e,0x90,0xde,0x5c,0x25,0x5e,0xc0,0x54,0x29,0x13,0xb0,0xf0,0x16,0x8a,
0x82,0x42,0xac,0x44,0x52,0x58,0x08,0x39,0x40,0xd2,0xcc,0x86,0x8d,0x8d,
0xe2,0xce,0x83,0x81,0x29,0x7e,0x1e,0x33,0xf0,0x3f,0xfe,0x13,0x30,0xc2,
0x12,0x3f,0x17,0x9c,0x65,0x9c,0x0f,0x45,0x49,0xb5,0x70,0x7f,0xc0,0x0b,
0x26,0x78,0xc6,0x97,0xf3,0xdc,0x60,0x80,0x4f,0x3c,0xe1,0xd5,0x89,0x70,
0x8e,0x3b,0xd7,0x71,0x8b,0x45,0xf4,0xfc,0x7d,0xf9,0x88,0x8e,0x72,0xb4,
0xa2,0x27,0x54,0xf0,0x8e,0x5d,0x7c,0x7e,0x59,0xc6,0xa8,0x67,0x68,0x60,
0x26,0x0d,0x33,0x34,0x32,0x34,0x71,0x48,0x24,0x3d,0xa0,0x99,0x61,0x85,
0x5a,0x22,0x69,0x0d,0xab,0x0c,0x5b,0xf4,0x13,0x49,0xfb,0xd1,0x27,0xe0,
0x1b,0xbd,0x92,0xc2,0x4e,0xf4,0x84,0xe2,0x9e,0x6e,0xd0,0xbd,0x52,0xd8,
0xc6,0x3a,0xdf,0xd3,0xbc,0xa8,0xbc,0x84,0x29,0xde,0xf0,0x81,0xfd,0x85,
0x45,0xdd,0x63,0x88,0xc7,0xd3,0xa2,0x92,0xb6,0xff,0x0b,0xa5,0xee,0x37,
0x87,0x80,0xd0,0x1f,0x2b,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,
0x42,0x60,0x82
};
static const unsigned int slider_light_png_len = 199;
static const unsigned char slider_light_png_data[] = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,
0x44,0x52,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x0d,0x08,0x06,0x00,0x00,
0x00,0x46,0x92,0x25,0x60,0x00,0x00,0x00,0x8e,0x49,0x44,0x41,0x54,0x38,
0xcb,0xe5,0xd2,0x31,0x0a,0xc2,0x60,0x0c,0x86,0xe1,0x07,0x5b,0x10,0xa4,
0x27,0x70,0xeb,0x21,0xc4,0xc5,0xc1,0x41,0xf0,0x0c,0xdd,0xfe,0xd3,0xe8,
0x31,0xbc,0x8c,0x8b,0x57,0x10,0x1c,0x5c,0x04,0x07,0x07,0x77,0xa1,0x2e,
0xa9,0x74,0x12,0x2b,0xbf,0x93,0x1f,0x84,0x04,0x42,0xde,0x7c,0x81,0xf0,
0x63,0x95,0xa8,0x91,0xd0,0x0e,0x88,0x14,0x73,0x65,0x1f,0xd4,0xe5,0x39,
0xf6,0xd8,0x62,0x89,0xcb,0x07,0x46,0xa6,0x58,0x63,0x87,0x05,0x0e,0x78,
0x74,0xcd,0x3a,0xb6,0x36,0xa8,0x06,0x5e,0x58,0xc5,0x5c,0x13,0x9c,0x97,
0x12,0x36,0x5f,0x00,0xdf,0xaa,0xc5,0x2a,0x17,0x6c,0xd4,0xab,0xaf,0xb9,
0xa0,0x45,0xe4,0x31,0x6e,0x38,0xe5,0x74,0x7a,0xc4,0x0c,0x93,0x9c,0x4e,
0xef,0xf1,0x42,0xe7,0xdc,0x8f,0x5f,0xf8,0x3b,0x3d,0x01,0x15,0xcd,0x1c,
0xe6,0xf8,0x5d,0xc5,0xb1,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,
0x42,0x60,0x82
};
static const unsigned int slider_v_png_len = 310;
static const unsigned char slider_v_png_data[] = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,
0x44,0x52,0x00,0x00,0x00,0x0d,0x00,0x00,0x00,0x15,0x08,0x06,0x00,0x00,
0x00,0x9d,0x6e,0x64,0x8a,0x00,0x00,0x00,0x06,0x62,0x4b,0x47,0x44,0x00,
0xff,0x00,0xff,0x00,0xff,0xa0,0xbd,0xa7,0x93,0x00,0x00,0x00,0x09,0x70,
0x48,0x59,0x73,0x00,0x00,0x0b,0x13,0x00,0x00,0x0b,0x13,0x01,0x00,0x9a,
0x9c,0x18,0x00,0x00,0x00,0x07,0x74,0x49,0x4d,0x45,0x07,0xd7,0x06,0x19,
0x0b,0x21,0x3b,0x50,0x7f,0x78,0xa4,0x00,0x00,0x00,0xc3,0x49,0x44,0x41,
0x54,0x38,0xcb,0xed,0xd4,0x31,0x4e,0x02,0x41,0x14,0x87,0xf1,0x5f,0xa0,
0xa3,0x5f,0x3a,0xc2,0x1d,0x0c,0x21,0x48,0x24,0xf4,0x36,0x9a,0x58,0xee,
0x0d,0xa8,0xac,0xe1,0x16,0x36,0x34,0x9e,0x02,0x2e,0xc0,0x19,0x30,0x6e,
0xa2,0x26,0x54,0x34,0xc6,0x06,0x05,0xeb,0xa5,0x19,0xc8,0x92,0x2c,0x32,
0xda,0xd8,0xf0,0x35,0x33,0x99,0x79,0x5f,0x5e,0x26,0x79,0xff,0xe1,0x90,
0x04,0x53,0x3c,0x23,0x0f,0xeb,0x34,0x9c,0xef,0xa9,0x14,0xf6,0x29,0x16,
0x78,0xc7,0x08,0x5d,0x0c,0xb1,0xc4,0x5b,0xb8,0x3f,0x20,0xc5,0x2b,0xfa,
0xca,0xe9,0x62,0x5e,0x14,0x13,0x6c,0xd0,0xf3,0x33,0x1d,0x7c,0x22,0xa9,
0x62,0x80,0x0f,0x3c,0x9c,0x90,0x96,0x68,0xa0,0x29,0x3c,0xf6,0x4e,0x1c,
0xd7,0xa1,0x5e,0x8e,0xcb,0x48,0xe9,0x02,0x79,0xc5,0x1f,0x38,0x4b,0xff,
0x22,0x65,0xa8,0x47,0xd6,0xd7,0x91,0x55,0x51,0xc3,0x15,0x26,0x11,0xd2,
0x3d,0x66,0xbb,0x29,0xff,0x8e,0x18,0xa5,0x16,0xbe,0x8a,0x81,0x4c,0xf1,
0x12,0x72,0x53,0x46,0x1b,0x4f,0xc7,0x82,0xb8,0xc6,0x23,0x6e,0x43,0xe7,
0x1b,0x8c,0xb1,0x2a,0x13,0x7e,0xf5,0x47,0x6c,0x01,0x0f,0x64,0x29,0x02,
0xd4,0x3b,0x9e,0x77,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,0x42,
0x60,0x82
};
static const unsigned int slider_light_v_png_len = 204;
static const unsigned char slider_light_v_png_data[] = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,
0x44,0x52,0x00,0x00,0x00,0x0d,0x00,0x00,0x00,0x15,0x08,0x06,0x00,0x00,
0x00,0x9d,0x6e,0x64,0x8a,0x00,0x00,0x00,0x93,0x49,0x44,0x41,0x54,0x38,
0xcb,0xed,0xd3,0xa1,0x0a,0x02,0x51,0x10,0x85,0xe1,0x8f,0x75,0x41,0x10,
0x9b,0x4d,0x11,0xb1,0x18,0xad,0x46,0x93,0xdd,0x6a,0xf3,0x51,0x4c,0x3e,
0x97,0x46,0x93,0x6f,0x20,0x88,0x60,0x5f,0x58,0x0c,0x06,0xd7,0x72,0xc3,
0x65,0x51,0xd9,0x5d,0x30,0x08,0x9e,0x32,0xc3,0x9d,0xf9,0x39,0x77,0x60,
0x86,0x06,0x6a,0x45,0x79,0x8a,0x11,0x96,0x38,0x62,0x83,0x36,0x86,0xc8,
0x90,0xe3,0x01,0x49,0x04,0xcc,0x70,0xc2,0x04,0x0b,0x4c,0xb1,0xc3,0x00,
0x3d,0x14,0x65,0xc7,0x71,0x78,0x5c,0xa1,0x5b,0xaa,0x75,0xde,0x7d,0x73,
0x8d,0xed,0x0b,0xe0,0xa3,0x0a,0xcc,0xab,0x36,0x27,0x51,0x7e,0x6d,0x02,
0xf9,0x43,0x3f,0x01,0xf5,0xeb,0x9e,0xc6,0x39,0x6c,0xf9,0x01,0xf7,0xaa,
0x4e,0xfb,0x10,0xf3,0x3a,0x4e,0x39,0x6e,0xb8,0xd4,0x9d,0x2f,0xf5,0x4d,
0x3d,0x01,0xf6,0xc8,0x14,0xaa,0x58,0xc9,0x89,0xb4,0x00,0x00,0x00,0x00,
0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82
};
static const unsigned int check_x_on_png_len = 181;
static const unsigned char check_x_on_png_data[] = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,
0x44,0x52,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x09,0x08,0x06,0x00,0x00,
0x00,0xe0,0x91,0x06,0x10,0x00,0x00,0x00,0x09,0x70,0x48,0x59,0x73,0x00,
0x00,0x0b,0x13,0x00,0x00,0x0b,0x13,0x01,0x00,0x9a,0x9c,0x18,0x00,0x00,
0x00,0x1d,0x74,0x45,0x58,0x74,0x43,0x6f,0x6d,0x6d,0x65,0x6e,0x74,0x00,
0x43,0x72,0x65,0x61,0x74,0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x54,
0x68,0x65,0x20,0x47,0x49,0x4d,0x50,0xef,0x64,0x25,0x6e,0x00,0x00,0x00,
0x3e,0x49,0x44,0x41,0x54,0x18,0x95,0x95,0x8f,0x4b,0x0a,0x00,0x20,0x08,
0x05,0x07,0xba,0xb6,0x97,0xab,0x7b,0x45,0xee,0xea,0x91,0x86,0x24,0xb8,
0x70,0x18,0x7f,0x0d,0x30,0xa0,0x03,0x13,0x18,0x9c,0x50,0xce,0x92,0x34,
0x11,0x94,0x07,0x90,0xd5,0x69,0x67,0x10,0x5e,0x62,0x29,0x94,0xab,0xd2,
0x89,0x5f,0xdf,0xdd,0x37,0x6c,0xee,0x67,0xfc,0x35,0xc3,0xb2,0x07,0xf6,
0x7b,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82
};
#include <qcstring.h>
#include <qdict.h>
static struct Embed {
unsigned int size;
const unsigned char *data;
const char *name;
} embed_vec[] = {
{ 419, radio_frame_png_data, "radio_frame.png" },
{ 236, radio_light_png_data, "radio_light.png" },
{ 231, radio_on_png_data, "radio_on.png" },
{ 179, check_on_png_data, "check_on.png" },
{ 311, slider_png_data, "slider.png" },
{ 199, slider_light_png_data, "slider_light.png" },
{ 310, slider_v_png_data, "slider_v.png" },
{ 204, slider_light_v_png_data, "slider_light_v.png" },
{ 181, check_x_on_png_data, "check_x_on.png" },
{ 0, 0, 0 }
};
static const QByteArray& qembed_findData( const char* name )
{
static QDict<QByteArray> dict;
QByteArray* ba = dict.find( name );
if ( !ba ) {
for ( int i = 0; embed_vec[i].data; i++ ) {
if ( strcmp(embed_vec[i].name, name) == 0 ) {
ba = new QByteArray;
ba->setRawData( (char*)embed_vec[i].data,
embed_vec[i].size );
dict.insert( name, ba );
break;
}
}
if ( !ba ) {
static QByteArray dummy;
return dummy;
}
}
return *ba;
}
#endif

File diff suppressed because it is too large Load Diff

@ -0,0 +1,246 @@
#ifndef __QTCURVE_H__
#define __QTCURVE_H__
/*
QtCurve (C) Craig Drummond, 2003 - 2007 Craig.Drummond@lycos.co.uk
----
Based upon B???Curve style (Copyright (c) 2002 R?d H?t, Inc)
Bernhard Rosenkrazer <bero@r?dh?t.com>
Preston Brown <pbrown@r?dh?t.com>
Than Ngo <than@r?dh?t.com>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License version 2 as published by the Free Software Foundation.
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.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
----
B???Curve is based on the KDE Light style, 2nd revision:
Copyright (c) 2000-2001 Trolltech AS (info@trolltech.com). The light style
license is as follows:
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
*/
#include "config.h"
#include <kdeversion.h>
#include <kstyle.h>
#include <qcolor.h>
#include <qpoint.h>
#include <qpalette.h>
#include <qpixmap.h>
#include <qcache.h>
#include "common.h"
class QTimer;
class QSlider;
class HighContrastStyle : public KStyle
{
Q_OBJECT
public:
HighContrastStyle();
virtual ~HighContrastStyle() { }
const char * className();
};
class QtCurveStyle : public HighContrastStyle
{
Q_OBJECT
public:
enum EApp
{
APP_KICKER,
APP_KORN,
APP_OPENOFFICE,
APP_MACTOR,
APP_KPRESENTER,
APP_KONQUEROR,
APP_SKIP_TASKBAR,
APP_KPRINTER,
APP_KDIALOG,
APP_KDIALOGD,
APP_TORA,
APP_KONTACT,
APP_OPERA,
APP_OTHER
};
enum EHover
{
HOVER_NONE,
HOVER_CHECK,
HOVER_RADIO,
HOVER_SB_ADD,
HOVER_SB_SUB,
HOVER_SB_SUB2,
HOVER_SB_SLIDER,
HOVER_HEADER,
HOVER_KICKER,
HOVER_SW_UP,
HOVER_SW_DOWN,
HOVER_CB_ARROW
};
QtCurveStyle(const QString &name=QString());
virtual ~QtCurveStyle();
void polish(QApplication *app);
void polish(QPalette &pal);
void polish(QWidget *widget);
void unPolish(QWidget *widget);
void drawLightBevel(QPainter *p, const QRect &r, const QColorGroup &cg, SFlags flags,
int round, const QColor &fill, const QColor *custom=NULL,
bool doBorder=true, bool doCorners=true, EWidget w=WIDGET_OTHER) const
{ drawLightBevel(cg.background(), p, r, cg, flags, round, fill, custom, doBorder, doCorners, w); }
void drawLightBevel(const QColor &bgnd, QPainter *p, const QRect &r, const QColorGroup &cg,
SFlags flags, int round, const QColor &fill, const QColor *custom=NULL,
bool doBorder=true, bool doCorners=true, EWidget w=WIDGET_OTHER) const;
void drawEtch(QPainter *p, const QRect &r, const QColorGroup &cg, bool top, bool bot, bool raised=false) const;
void drawBorder(const QColor &bgnd, QPainter *p, const QRect &r, const QColorGroup &cg,
SFlags flags, int round, const QColor *custom=NULL, EWidget w=WIDGET_OTHER,
bool doCorners=true, EBorder borderProfile=BORDER_FLAT, bool blendBorderColors=true, int borderVal=QT_STD_BORDER) const;
void drawEntryField(QPainter *p, const QRect &r, const QColorGroup &cg, SFlags flags,
bool highlight, int round, EWidget=WIDGET_OTHER) const;
void drawArrow(QPainter *p, const QRect &r, const QColorGroup &cg, SFlags flags,
QStyle::PrimitiveElement pe, bool small=false, bool checkActive=false) const;
void drawPrimitive(PrimitiveElement, QPainter *, const QRect &, const QColorGroup &,
SFlags = Style_Default, const QStyleOption & = QStyleOption::Default) const;
void drawKStylePrimitive(KStylePrimitive kpe, QPainter* p, const QWidget* widget, const QRect &r,
const QColorGroup &cg, SFlags flags, const QStyleOption &opt ) const;
void drawControl(ControlElement, QPainter *, const QWidget *, const QRect &, const QColorGroup &,
SFlags = Style_Default, const QStyleOption & = QStyleOption::Default) const;
void drawControlMask(ControlElement, QPainter *, const QWidget *, const QRect &,
const QStyleOption & = QStyleOption::Default) const;
void drawComplexControlMask(ComplexControl control, QPainter *p, const QWidget *widget,
const QRect &r, const QStyleOption &data) const;
QRect subRect(SubRect, const QWidget *) const;
void drawComplexControl(ComplexControl, QPainter *, const QWidget *, const QRect &,
const QColorGroup &, SFlags = Style_Default, SCFlags = SC_All,
SCFlags = SC_None, const QStyleOption & = QStyleOption::Default) const;
QRect querySubControlMetrics(ComplexControl, const QWidget *, SubControl,
const QStyleOption & = QStyleOption::Default) const;
int pixelMetric(PixelMetric, const QWidget *widget= 0) const;
int kPixelMetric(KStylePixelMetric kpm, const QWidget *widget) const;
QSize sizeFromContents(ContentsType, const QWidget *, const QSize &,
const QStyleOption & = QStyleOption::Default) const;
int styleHint(StyleHint, const QWidget *widget= 0, const QStyleOption & = QStyleOption::Default,
QStyleHintReturn *returnData= 0) const;
protected:
bool appIsNotEmbedded(QDialog *dlg);
bool eventFilter(QObject *object, QEvent *event);
void drawMenuItem(QPainter *p, const QRect &r, const QColorGroup &cg,
bool mbi, int round, const QColor &bgnd, const QColor *cols) const;
void drawProgress(QPainter *p, const QRect &r, const QColorGroup &cg, SFlags flags, int round,
const QWidget *widget) const;
void drawBevelGradient(const QColor &base, bool increase, QPainter *p, QRect const &r,
bool horiz, double shadeTop, double shadeBot, bool sel, EAppearance bevApp,
EWidget w=WIDGET_OTHER) const;
void drawGradient(const QColor &top, const QColor &bot, bool increase, QPainter *p,
const QRect &r, bool horiz=true) const;
void drawSbSliderHandle(QPainter *p, const QRect &r, const QColorGroup &cg, SFlags flags, bool slider=false) const;
void drawSliderHandle(QPainter *p, const QRect &r, const QColorGroup &cg, SFlags flags, QSlider *slider, bool tb=false) const;
void drawSliderGroove(QPainter *p, const QRect &r, const QColorGroup &cg, SFlags flags,
const QWidget *widget) const;
void drawMenuOrToolBarBackground(QPainter *p, const QRect &r, const QColorGroup &cg, bool menu=true,
bool horiz=true) const;
void drawHandleMarkers(QPainter *p, const QRect &r, SFlags flags, bool tb, ELine handles) const;
private:
void shadeColors(const QColor &base, QColor *vals) const;
const QColor * buttonColors(const QColorGroup &cg) const;
const QColor * sliderColors(/*const QColorGroup &cg, */SFlags flags) const;
const QColor * backgroundColors(const QColor &c) const;
const QColor * backgroundColors(const QColorGroup &cg) const
{ return backgroundColors(cg.background()); }
const QColor * borderColors(SFlags flags, const QColor *use) const;
const QColor * getSidebarButtons() const;
void setMenuColors(const QColorGroup &cg);
bool redrawHoverWidget(const QPoint &pos);
const QColor & getFill(SFlags flags, const QColor *use) const;
const QColor & getListViewFill(SFlags flags, const QColor *use) const;
const QColor & getTabFill(bool current, bool highlight, const QColor *use) const;
QPixmap * getPixelPixmap(const QColor col) const;
QPixmap * getPixmap(const QColor col, EPixmap pix, double shade=1.0) const;
void setSbType();
bool isFormWidget(const QWidget *w) const { return itsKhtmlWidgets.contains(w); }
private slots:
void updateProgressPos();
void progressBarDestroyed(QObject *bar);
void sliderThumbMoved(int val);
void khtmlWidgetDestroyed(QObject *o);
private:
Options opts;
QColor itsMenuitemCols[TOTAL_SHADES+1],
itsBackgroundCols[TOTAL_SHADES+1],
itsMenubarCols[TOTAL_SHADES+1],
*itsSliderCols,
*itsDefBtnCols,
*itsMouseOverCols,
itsButtonCols[TOTAL_SHADES+1],
itsLighterPopupMenuBgndCol,
itsCheckRadioCol;
mutable QColor *itsSidebarButtonsCols;
mutable QColor itsColoredButtonCols[TOTAL_SHADES+1];
mutable QColor itsColoredBackgroundCols[TOTAL_SHADES+1];
EApp itsThemedApp;
mutable QCache<QPixmap> itsPixmapCache;
#if KDE_VERSION >= 0x30200
bool itsIsTransKicker;
#endif
EHover itsHover;
QPoint itsOldPos;
mutable bool itsFormMode;
QWidget *itsHoverWidget;
int itsHoverSect;
QTab *itsHoverTab;
QPalette *itsMactorPal;
QMap<QWidget*, int> itsProgAnimWidgets;
QMap<const QWidget*, bool> itsKhtmlWidgets;
QTimer *itsAnimationTimer;
mutable bool itsActive,
itsIsSpecialHover;
};
#endif

@ -0,0 +1,6 @@
[Misc]
Name=QtCurve
Comment=Clean and elegant style
ConfigPage=kstyle_qtcurve_config
[KDE]
WidgetStyle=QtCurve

@ -0,0 +1,4 @@
install(FILES Clear.qtcurve Dull_Glass.qtcurve Shiny_Glass.qtcurve Inverted.qtcurve Plain.qtcurve Glass.qtcurve
Human.qtcurve Plastic.qtcurve Murrine.qtcurve Curve.qtcurve Clean.qtcurve DESTINATION ${DATA_INSTALL_DIR}/QtCurve)
install(FILES qtc_klearlooks.themerc DESTINATION ${DATA_INSTALL_DIR}/kstyle/themes)

@ -0,0 +1,53 @@
[Settings]
animatedProgress=true
appearance=bevelled
borderMenuitems=true
buttonEffect=etch
coloredMouseOver=plastik
customCheckRadioColor=#000000
customMenuNormTextColor=#000000
customMenuSelTextColor=#000000
customMenuTextColor=false
customMenubarsColor=#000000
customSlidersColor=#000000
darkerBorders=false
defBtnIndicator=colored
drawStatusBarFrames=false
embolden=false
fillSlider=true
framelessGroupBoxes=false
gradientPbGroove=true
gtkScrollViews=false
gtkComboMenus=false
gtkButtonOrder=false
handles=dots
highlightFactor=5
highlightTab=true
lighterPopupMenuBgnd=true
lvAppearance=bevelled
lvLines=false
mapKdeIcons=true
menubarAppearance=gradient
menubarMouseOver=true
menuitemAppearance=bevelled
progressAppearance=bevelled
round=full
roundMbTopOnly=true
scrollbarType=kde
shadeCheckRadio=none
shadeMenubarOnlyWhenActive=true
shadeMenubars=darken
shadeSliders=selected
sliderAppearance=gradient
sliderStyle=round
sliderThumbs=dots
splitters=dots
stdFocus=true
stdSidebarButtons=false
stripedProgress=true
tabAppearance=gradient
thinnerMenuItems=false
toolbarAppearance=gradient
toolbarBorders=none
toolbarSeparators=dots
vArrows=false

@ -0,0 +1,54 @@
[Settings]
animatedProgress=false
appearance=bevelled
borderMenuitems=true
buttonEffect=etch
coloredMouseOver=none
customCheckRadioColor=#000000
customMenuNormTextColor=#000000
customMenuSelTextColor=#000000
customMenuTextColor=false
customMenubarsColor=#000000
customSlidersColor=#000000
darkerBorders=false
defBtnIndicator=fontcolor
drawStatusBarFrames=false
embolden=false
fillSlider=true
framelessGroupBoxes=true
gradientPbGroove=false
gtkScrollViews=false
gtkComboMenus=false
gtkButtonOrder=false
handles=dashes
highlightFactor=5
highlightTab=true
lighterPopupMenuBgnd=true
lvAppearance=bevelled
lvLines=false
mapKdeIcons=true
menubarAppearance=gradient
menubarMouseOver=true
menuitemAppearance=bevelled
progressAppearance=bevelled
round=full
roundMbTopOnly=true
scrollbarType=windows
shadeCheckRadio=none
shadeMenubarOnlyWhenActive=true
shadeMenubars=darken
shadeSliders=none
sliderAppearance=gradient
sliderStyle=round
sliderThumbs=sunken
splitters=dashes
stdFocus=true
stdSidebarButtons=false
stripedProgress=true
tabAppearance=gradient
thinnerMenuItems=false
toolbarAppearance=flat
toolbarBorders=light
toolbarSeparators=sunken
vArrows=false

@ -0,0 +1,53 @@
[Settings]
animatedProgress=false
appearance=raised
borderMenuitems=true
buttonEffect=none
coloredMouseOver=none
customCheckRadioColor=#000000
customMenuNormTextColor=#000000
customMenuSelTextColor=#000000
customMenuTextColor=false
customMenubarsColor=#000000
customSlidersColor=#000000
darkerBorders=true
defBtnIndicator=fontcolor
drawStatusBarFrames=false
embolden=false
fillSlider=false
framelessGroupBoxes=true
gradientPbGroove=false
gtkScrollViews=false
gtkComboMenus=false
gtkButtonOrder=false
handles=sunken
highlightFactor=8
highlightTab=false
lighterPopupMenuBgnd=false
lvAppearance=raised
lvLines=false
mapKdeIcons=true
menubarAppearance=flat
menubarMouseOver=false
menuitemAppearance=inverted
progressAppearance=inverted
round=none
roundMbTopOnly=true
scrollbarType=windows
shadeCheckRadio=none
shadeMenubarOnlyWhenActive=false
shadeMenubars=none
shadeSliders=none
sliderAppearance=raised
sliderStyle=plain
sliderThumbs=sunken
splitters=sunken
stdFocus=true
stdSidebarButtons=false
stripedProgress=false
tabAppearance=raised
thinnerMenuItems=false
toolbarAppearance=flat
toolbarBorders=dark-all
toolbarSeparators=sunken
vArrows=true

@ -0,0 +1,53 @@
[Settings]
animatedProgress=true
appearance=dullglass
borderMenuitems=true
buttonEffect=shadow
coloredMouseOver=plastik
customCheckRadioColor=#000000
customMenuNormTextColor=#000000
customMenuSelTextColor=#000000
customMenuTextColor=false
customMenubarsColor=#000000
customSlidersColor=#000000
darkerBorders=false
defBtnIndicator=colored
drawStatusBarFrames=false
embolden=false
fillSlider=true
framelessGroupBoxes=true
gradientPbGroove=true
gtkScrollViews=false
gtkComboMenus=false
gtkButtonOrder=false
handles=dots
highlightFactor=5
highlightTab=true
lighterPopupMenuBgnd=true
lvAppearance=dullglass
lvLines=false
mapKdeIcons=true
menubarAppearance=dullglass
menubarMouseOver=true
menuitemAppearance=dullglass
progressAppearance=dullglass
round=full
roundMbTopOnly=true
scrollbarType=kde
shadeCheckRadio=none
shadeMenubarOnlyWhenActive=true
shadeMenubars=darken
shadeSliders=selected
sliderAppearance=dullglass
sliderStyle=round
sliderThumbs=dots
splitters=dots
stdFocus=false
stdSidebarButtons=false
stripedProgress=true
tabAppearance=gradient
thinnerMenuItems=false
toolbarAppearance=flat
toolbarBorders=none
toolbarSeparators=dots
vArrows=false

@ -0,0 +1,54 @@
[Settings]
animatedProgress=true
appearance=dullglass
borderMenuitems=true
buttonEffect=shadow
coloredMouseOver=plastik
customCheckRadioColor=#000000
customMenuNormTextColor=#000000
customMenuSelTextColor=#000000
customMenuTextColor=false
customMenubarsColor=#000000
customSlidersColor=#000000
darkerBorders=false
defBtnIndicator=colored
drawStatusBarFrames=false
embolden=false
fillSlider=true
framelessGroupBoxes=true
gradientPbGroove=true
gtkScrollViews=false
gtkComboMenus=false
gtkButtonOrder=false
handles=dots
highlightFactor=5
highlightTab=true
lighterPopupMenuBgnd=true
lvAppearance=bevelled
lvLines=false
mapKdeIcons=true
menubarAppearance=gradient
menubarMouseOver=true
menuitemAppearance=dullglass
progressAppearance=dullglass
round=full
roundMbTopOnly=true
scrollbarType=kde
shadeCheckRadio=none
shadeMenubarOnlyWhenActive=true
shadeMenubars=darken
shadeSliders=selected
sliderAppearance=dullglass
sliderStyle=round
sliderThumbs=dots
splitters=dots
stdFocus=true
stdSidebarButtons=false
stripedProgress=true
tabAppearance=gradient
thinnerMenuItems=false
toolbarAppearance=gradient
toolbarBorders=none
toolbarSeparators=dots
vArrows=false

@ -0,0 +1,54 @@
[Settings]
animatedProgress=true
appearance=dullglass
borderMenuitems=true
buttonEffect=shadow
coloredMouseOver=plastik
customCheckRadioColor=#000000
customMenuNormTextColor=#000000
customMenuSelTextColor=#000000
customMenuTextColor=false
customMenubarsColor=#000000
customSlidersColor=#000000
darkerBorders=true
defBtnIndicator=colored
drawStatusBarFrames=false
embolden=false
fillSlider=true
framelessGroupBoxes=true
gradientPbGroove=true
gtkScrollViews=false
gtkComboMenus=false
gtkButtonOrder=false
handles=dots
highlightFactor=7
highlightTab=true
lighterPopupMenuBgnd=true
lvAppearance=bevelled
lvLines=false
mapKdeIcons=true
menubarAppearance=gradient
menubarMouseOver=true
menuitemAppearance=gradient
progressAppearance=shinyglass
round=full
roundMbTopOnly=true
scrollbarType=windows
shadeCheckRadio=none
shadeMenubarOnlyWhenActive=false
shadeMenubars=darken
shadeSliders=none
sliderAppearance=gradient
sliderStyle=round
sliderThumbs=dots
splitters=dots
stdFocus=true
stdSidebarButtons=false
stripedProgress=true
tabAppearance=gradient
thinnerMenuItems=false
toolbarAppearance=flat
toolbarBorders=light
toolbarSeparators=sunken
vArrows=false

@ -0,0 +1,54 @@
[Settings]
animatedProgress=true
appearance=inverted
borderMenuitems=true
buttonEffect=shadow
coloredMouseOver=plastik
customCheckRadioColor=#000000
customMenuNormTextColor=#000000
customMenuSelTextColor=#000000
customMenuTextColor=false
customMenubarsColor=#000000
customSlidersColor=#000000
darkerBorders=false
defBtnIndicator=colored
drawStatusBarFrames=false
embolden=false
fillSlider=true
framelessGroupBoxes=true
gradientPbGroove=true
gtkScrollViews=false
gtkComboMenus=false
gtkButtonOrder=false
handles=dots
highlightFactor=5
highlightTab=true
lighterPopupMenuBgnd=true
lvAppearance=inverted
lvLines=false
mapKdeIcons=true
menubarAppearance=inverted
menubarMouseOver=true
menuitemAppearance=inverted
progressAppearance=inverted
round=full
roundMbTopOnly=true
scrollbarType=kde
shadeCheckRadio=none
shadeMenubarOnlyWhenActive=true
shadeMenubars=darken
shadeSliders=selected
sliderAppearance=inverted
sliderStyle=round
sliderThumbs=dots
splitters=dots
stdFocus=false
stdSidebarButtons=false
stripedProgress=true
tabAppearance=gradient
thinnerMenuItems=false
toolbarAppearance=inverted
toolbarBorders=none
toolbarSeparators=dots
vArrows=false

@ -0,0 +1,54 @@
[Settings]
animatedProgress=true
appearance=dullglass
borderMenuitems=true
buttonEffect=etch
coloredMouseOver=colored
customCheckRadioColor=#000000
customMenuNormTextColor=#000000
customMenuSelTextColor=#000000
customMenuTextColor=false
customMenubarsColor=#000000
customSlidersColor=#000000
darkerBorders=false
defBtnIndicator=fontcolor
drawStatusBarFrames=false
embolden=false
fillSlider=true
framelessGroupBoxes=true
gradientPbGroove=false
gtkScrollViews=false
gtkComboMenus=false
gtkButtonOrder=false
handles=sunken
highlightFactor=5
highlightTab=true
lighterPopupMenuBgnd=true
lvAppearance=dullglass
lvLines=false
mapKdeIcons=true
menubarAppearance=dullglass
menubarMouseOver=true
menuitemAppearance=dullglass
progressAppearance=dullglass
round=slight
roundMbTopOnly=false
scrollbarType=windows
shadeCheckRadio=none
shadeMenubarOnlyWhenActive=false
shadeMenubars=selected
shadeSliders=origselected
sliderAppearance=dullglass
sliderStyle=plain
sliderThumbs=sunken
splitters=dashes
stdFocus=true
stdSidebarButtons=false
stripedProgress=true
tabAppearance=gradient
thinnerMenuItems=false
toolbarAppearance=flat
toolbarBorders=light
toolbarSeparators=sunken
vArrows=false

@ -0,0 +1,54 @@
[Settings]
animatedProgress=false
appearance=flat
borderMenuitems=true
buttonEffect=shadow
coloredMouseOver=none
customCheckRadioColor=#000000
customMenuNormTextColor=#000000
customMenuSelTextColor=#000000
customMenuTextColor=false
customMenubarsColor=#000000
customSlidersColor=#000000
darkerBorders=false
defBtnIndicator=fontcolor
drawStatusBarFrames=false
embolden=true
fillSlider=true
framelessGroupBoxes=false
gradientPbGroove=true
gtkScrollViews=false
gtkComboMenus=false
gtkButtonOrder=false
handles=sunken
highlightFactor=5
highlightTab=false
lighterPopupMenuBgnd=false
lvAppearance=flat
lvLines=false
mapKdeIcons=true
menubarAppearance=flat
menubarMouseOver=true
menuitemAppearance=flat
progressAppearance=flat
round=full
roundMbTopOnly=true
scrollbarType=kde
shadeCheckRadio=none
shadeMenubarOnlyWhenActive=false
shadeMenubars=darken
shadeSliders=none
sliderAppearance=flat
sliderStyle=plain
sliderThumbs=sunken
splitters=dashes
stdFocus=true
stdSidebarButtons=false
stripedProgress=false
tabAppearance=flat
thinnerMenuItems=false
toolbarAppearance=flat
toolbarBorders=light
toolbarSeparators=sunken
vArrows=false

@ -0,0 +1,54 @@
[Settings]
animatedProgress=true
appearance=gradient
borderMenuitems=true
buttonEffect=none
coloredMouseOver=plastik
customCheckRadioColor=#000000
customMenuNormTextColor=#000000
customMenuSelTextColor=#000000
customMenuTextColor=false
customMenubarsColor=#000000
customSlidersColor=#000000
darkerBorders=false
defBtnIndicator=colored
drawStatusBarFrames=false
embolden=false
fillSlider=true
framelessGroupBoxes=false
gradientPbGroove=true
gtkScrollViews=false
gtkComboMenus=false
gtkButtonOrder=false
handles=dots
highlightFactor=-2
highlightTab=true
lighterPopupMenuBgnd=true
lvAppearance=gradient
lvLines=false
mapKdeIcons=true
menubarAppearance=flat
menubarMouseOver=true
menuitemAppearance=gradient
progressAppearance=flat
round=full
roundMbTopOnly=false
scrollbarType=windows
shadeCheckRadio=none
shadeMenubarOnlyWhenActive=false
shadeMenubars=none
shadeSliders=none
sliderAppearance=gradient
sliderStyle=triangular
sliderThumbs=dots
splitters=dots
stdFocus=true
stdSidebarButtons=false
stripedProgress=true
tabAppearance=gradient
thinnerMenuItems=false
toolbarAppearance=flat
toolbarBorders=light-all
toolbarSeparators=sunken
vArrows=false
xCheck=true

@ -0,0 +1,53 @@
[Settings]
animatedProgress=true
appearance=shinyglass
borderMenuitems=true
buttonEffect=shadow
coloredMouseOver=plastik
customCheckRadioColor=#000000
customMenuNormTextColor=#000000
customMenuSelTextColor=#000000
customMenuTextColor=false
customMenubarsColor=#000000
customSlidersColor=#000000
darkerBorders=false
defBtnIndicator=colored
drawStatusBarFrames=false
embolden=false
fillSlider=true
framelessGroupBoxes=true
gradientPbGroove=true
gtkScrollViews=false
gtkComboMenus=false
gtkButtonOrder=false
handles=dots
highlightFactor=5
highlightTab=true
lighterPopupMenuBgnd=true
lvAppearance=shinyglass
lvLines=false
mapKdeIcons=true
menubarAppearance=shinyglass
menubarMouseOver=true
menuitemAppearance=shinyglass
progressAppearance=shinyglass
round=full
roundMbTopOnly=true
scrollbarType=kde
shadeCheckRadio=none
shadeMenubarOnlyWhenActive=true
shadeMenubars=darken
shadeSliders=selected
sliderAppearance=shinyglass
sliderStyle=round
sliderThumbs=dots
splitters=dots
stdFocus=false
stdSidebarButtons=false
stripedProgress=true
tabAppearance=gradient
thinnerMenuItems=false
toolbarAppearance=shinyglass
toolbarBorders=none
toolbarSeparators=dots
vArrows=false

@ -0,0 +1,60 @@
[Misc]
Name=Klearlooks
Comment=Clearlooks inspired style
[KDE]
WidgetStyle=qtc_klearlooks
[Settings]
animatedProgress=false
appearance=splitgradient
borderMenuitems=true
buttonEffect=shadow
coloredMouseOver=none
colorSelTab=true
customCheckRadioColor=#000000
customMenuNormTextColor=#000000
customMenuSelTextColor=#000000
customMenuTextColor=false
customMenubarsColor=#000000
customSlidersColor=#000000
darkerBorders=false
defBtnIndicator=fontcolor
drawStatusBarFrames=false
embolden=false
fillSlider=true
fixParentlessDialogs=true
framelessGroupBoxes=true
gradientPbGroove=false
gtkScrollViews=false
gtkComboMenus=false
gtkButtonOrder=false
handles=dots
highlightFactor=7
highlightTab=false
lighterPopupMenuBgnd=true
lvAppearance=splitgradient
lvLines=false
mapKdeIcons=true
menubarAppearance=gradient
menubarMouseOver=true
menuitemAppearance=splitgradient
progressAppearance=splitgradient
round=full
roundMbTopOnly=true
scrollbarType=windows
shadeCheckRadio=none
shadeMenubarOnlyWhenActive=false
shadeMenubars=darken
shadeSliders=selected
sliderStyle=plain
sliderAppearance=splitgradient
sliderThumbs=flat
splitters=dashes
stdFocus=true
stdSidebarButtons=false
stripedProgress=diagonal
tabAppearance=gradient
thinnerMenuItems=false
toolbarAppearance=splitgradient
toolbarBorders=light
toolbarSeparators=sunken
vArrows=true
Loading…
Cancel
Save