commit
0fa8770a55
@ -0,0 +1,3 @@
|
||||
Michael Lentner <michaell@gmx.net>
|
||||
based on the KDE style Plastik:
|
||||
Sandro Giessl <sandro@giessl.com>
|
@ -0,0 +1,39 @@
|
||||
|
||||
0.4
|
||||
* new option for indented / non indented menu items
|
||||
* new option for highlighted tool button icons on mouse over
|
||||
* the button look for tool(bar) buttons is now optional
|
||||
* new rubberband options
|
||||
* smaller tabWidget margins
|
||||
* respects Gwenview's / Kicker's taskbar applet / Konversation's own mousewheel handling for scrollviews
|
||||
* clipped popup menu edges, for a better look with KWin's shadows (Beryl seems not to support it).
|
||||
* fixes pixmaps on PowerPC architecture
|
||||
* fixes functionality of some popup QToolButtons and adapts their look and behavior to KToolBarButtons
|
||||
* the content of popup menus with a side pixmap is visible again (Amarok, Digikam)
|
||||
* adapts KMenu's section header style
|
||||
* fixes Kickoff's tab icon alignment
|
||||
* fixes possible crash with enabled text effect
|
||||
* lets apps using their own label colors on tabs (if they're not defaulting to a fixed color like konsole)
|
||||
* decoration: option "dark window frame" draws a darker frame
|
||||
* decoration: borders are hidden when in maximized mode and moving / resizing of maximized windows is not allowed.
|
||||
|
||||
|
||||
0.3
|
||||
* decoration buttons on inactive windows are now visible if the mouse is over the titlebar
|
||||
* a new thinner contour for the buttons (raised and sunken)
|
||||
* different button contour colors for mousehover, pressed and default states
|
||||
* mouseclick on LineEdits hides the cursor
|
||||
* disabled toolButtons in non KDE applications are now drawn grayed out and with 50 % reduced transparency
|
||||
* buttons respect background pixmaps
|
||||
* text effect option
|
||||
* animated progressbar
|
||||
* configurable groupbox background color
|
||||
* configurable selected popupmenu item color
|
||||
* deactivatable popupmenu gradient
|
||||
* faster smooth scrolling
|
||||
* it's now possible to switch tabs with the mousewheel
|
||||
* colors can now be drag between the tabs in the configurations dialog
|
||||
* disables popupmenu (fake) transparency (they are cheap and broken)
|
||||
* some speed improvements, especially the groupbox
|
||||
* fixes mousewheel not switching desktops
|
||||
* fixes diverse crashes
|
@ -0,0 +1,181 @@
|
||||
Basic Installation
|
||||
==================
|
||||
|
||||
These are generic installation instructions.
|
||||
|
||||
The `configure' shell script attempts to guess correct values for
|
||||
various system-dependent variables used during compilation. It uses
|
||||
those values to create a `Makefile' in each directory of the package.
|
||||
It may also create one or more `.h' files containing system-dependent
|
||||
definitions. Finally, it creates a shell script `config.status' that
|
||||
you can run in the future to recreate the current configuration, a file
|
||||
`config.cache' that saves the results of its tests to speed up
|
||||
reconfiguring, and a file `config.log' containing compiler output
|
||||
(useful mainly for debugging `configure').
|
||||
|
||||
If you need to do unusual things to compile the package, please try
|
||||
to figure out how `configure' could check whether to do them, and mail
|
||||
diffs or instructions to the address given in the `README' so they can
|
||||
be considered for the next release. If at some point `config.cache'
|
||||
contains results you don't want to keep, you may remove or edit it.
|
||||
|
||||
The file `configure.in' is used to create `configure' by a program
|
||||
called `autoconf'. You only need `configure.in' if you want to change
|
||||
it or regenerate `configure' using a newer version of `autoconf'.
|
||||
|
||||
The simplest way to compile this package is:
|
||||
|
||||
1. `cd' to the directory containing the package's source code and type
|
||||
`./configure' to configure the package for your system. If you're
|
||||
using `csh' on an old version of System V, you might need to type
|
||||
`sh ./configure' instead to prevent `csh' from trying to execute
|
||||
`configure' itself.
|
||||
|
||||
Running `configure' takes awhile. While running, it prints some
|
||||
messages telling which features it is checking for.
|
||||
|
||||
2. Type `make' to compile the package.
|
||||
|
||||
3. Optionally, type `make check' to run any self-tests that come with
|
||||
the package.
|
||||
|
||||
4. Type `make install' to install the programs and any data files and
|
||||
documentation.
|
||||
|
||||
5. You can remove the program binaries and object files from the
|
||||
source code directory by typing `make clean'. To also remove the
|
||||
files that `configure' created (so you can compile the package for
|
||||
a different kind of computer), type `make distclean'. There is
|
||||
also a `make maintainer-clean' target, but that is intended mainly
|
||||
for the package's developers. If you use it, you may have to get
|
||||
all sorts of other programs in order to regenerate files that came
|
||||
with the distribution.
|
||||
|
||||
Compilers and Options
|
||||
=====================
|
||||
|
||||
Some systems require unusual options for compilation or linking that
|
||||
the `configure' script does not know about. You can give `configure'
|
||||
initial values for variables by setting them in the environment. Using
|
||||
a Bourne-compatible shell, you can do that on the command line like
|
||||
this:
|
||||
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
|
||||
|
||||
Or on systems that have the `env' program, you can do it like this:
|
||||
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
|
||||
|
||||
Compiling For Multiple Architectures
|
||||
====================================
|
||||
|
||||
You can compile the package for more than one kind of computer at the
|
||||
same time, by placing the object files for each architecture in their
|
||||
own directory. To do this, you must use a version of `make' that
|
||||
supports the `VPATH' variable, such as GNU `make'. `cd' to the
|
||||
directory where you want the object files and executables to go and run
|
||||
the `configure' script. `configure' automatically checks for the
|
||||
source code in the directory that `configure' is in and in `..'.
|
||||
|
||||
If you have to use a `make' that does not supports the `VPATH'
|
||||
variable, you have to compile the package for one architecture at a time
|
||||
in the source code directory. After you have installed the package for
|
||||
one architecture, use `make distclean' before reconfiguring for another
|
||||
architecture.
|
||||
|
||||
Installation Names
|
||||
==================
|
||||
|
||||
By default, `make install' will install the package's files in
|
||||
`/usr/local/bin', `/usr/local/man', etc. You can specify an
|
||||
installation prefix other than `/usr/local' by giving `configure' the
|
||||
option `--prefix=PATH'.
|
||||
|
||||
You can specify separate installation prefixes for
|
||||
architecture-specific files and architecture-independent files. If you
|
||||
give `configure' the option `--exec-prefix=PATH', the package will use
|
||||
PATH as the prefix for installing programs and libraries.
|
||||
Documentation and other data files will still use the regular prefix.
|
||||
|
||||
In addition, if you use an unusual directory layout you can give
|
||||
options like `--bindir=PATH' to specify different values for particular
|
||||
kinds of files. Run `configure --help' for a list of the directories
|
||||
you can set and what kinds of files go in them.
|
||||
|
||||
If the package supports it, you can cause programs to be installed
|
||||
with an extra prefix or suffix on their names by giving `configure' the
|
||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||
|
||||
Optional Features
|
||||
=================
|
||||
|
||||
Some packages pay attention to `--enable-FEATURE' options to
|
||||
`configure', where FEATURE indicates an optional part of the package.
|
||||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||
is something like `gnu-as' or `x' (for the X Window System). The
|
||||
`README' should mention any `--enable-' and `--with-' options that the
|
||||
package recognizes.
|
||||
|
||||
For packages that use the X Window System, `configure' can usually
|
||||
find the X include and library files automatically, but if it doesn't,
|
||||
you can use the `configure' options `--x-includes=DIR' and
|
||||
`--x-libraries=DIR' to specify their locations.
|
||||
|
||||
Specifying the System Type
|
||||
==========================
|
||||
|
||||
There may be some features `configure' can not figure out
|
||||
automatically, but needs to determine by the type of host the package
|
||||
will run on. Usually `configure' can figure that out, but if it prints
|
||||
a message saying it can not guess the host type, give it the
|
||||
`--host=TYPE' option. TYPE can either be a short name for the system
|
||||
type, such as `sun4', or a canonical name with three fields:
|
||||
CPU-COMPANY-SYSTEM
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
`config.sub' isn't included in this package, then this package doesn't
|
||||
need to know the host type.
|
||||
|
||||
If you are building compiler tools for cross-compiling, you can also
|
||||
use the `--target=TYPE' option to select the type of system they will
|
||||
produce code for and the `--build=TYPE' option to select the type of
|
||||
system on which you are compiling the package.
|
||||
|
||||
Sharing Defaults
|
||||
================
|
||||
|
||||
If you want to set default values for `configure' scripts to share,
|
||||
you can create a site shell script called `config.site' that gives
|
||||
default values for variables like `CC', `cache_file', and `prefix'.
|
||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||
`CONFIG_SITE' environment variable to the location of the site script.
|
||||
A warning: not all `configure' scripts look for a site script.
|
||||
|
||||
Operation Controls
|
||||
==================
|
||||
|
||||
`configure' recognizes the following options to control how it
|
||||
operates.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Use and save the results of the tests in FILE instead of
|
||||
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
|
||||
debugging `configure'.
|
||||
|
||||
`--help'
|
||||
Print a summary of the options to `configure', and exit.
|
||||
|
||||
`--quiet'
|
||||
`--silent'
|
||||
`-q'
|
||||
Do not print messages saying which checks are being made.
|
||||
|
||||
`--srcdir=DIR'
|
||||
Look for the package's source code in directory DIR. Usually
|
||||
`configure' can determine that directory automatically.
|
||||
|
||||
`--version'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
|
||||
`configure' also accepts some other, not widely useful, options.
|
||||
|
@ -0,0 +1,11 @@
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.5
|
||||
DISTCLEANFILES = inst-apps
|
||||
MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 configure.files
|
||||
|
||||
include admin/deps.am
|
||||
|
||||
include admin/Doxyfile.am
|
||||
|
||||
#SUBDIRS=$(TOPSUBDIRS)
|
||||
SUBDIRS = domino dominoConfig client
|
@ -0,0 +1,10 @@
|
||||
all:
|
||||
@echo "This Makefile is only for the CVS repository"
|
||||
@echo "This will be deleted before making the distribution"
|
||||
@echo ""
|
||||
$(MAKE) -f admin/Makefile.common cvs
|
||||
|
||||
dist:
|
||||
$(MAKE) -f admin/Makefile.common dist
|
||||
|
||||
.SILENT:
|
@ -0,0 +1,16 @@
|
||||
|
||||
INCLUDES = $(all_includes) -I$(kde_includes)/kwin
|
||||
|
||||
SUBDIRS = . config
|
||||
|
||||
kde_module_LTLIBRARIES = kwin3_domino.la
|
||||
|
||||
kwin3_domino_la_SOURCES = dominoclient.cpp
|
||||
kwin3_domino_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module -L/usr/X11R6/lib
|
||||
kwin3_domino_la_LIBADD = $(LIB_KDECORE) $(kde_libraries)/libkdecorations.la -lXext -lX11 $(LIB_QT)
|
||||
|
||||
METASOURCES = AUTO
|
||||
noinst_HEADERS = dominoclient.h
|
||||
|
||||
lnkdir = $(kde_datadir)/kwin
|
||||
lnk_DATA = domino.desktop
|
@ -0,0 +1,237 @@
|
||||
/*
|
||||
Copyright (C) 2006 Michael Lentner <michaell@gmx.net>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library 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
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _QEMBED_CLIENTDATA
|
||||
#define _QEMBED_CLIENTDATA
|
||||
#include <qimage.h>
|
||||
#include <qdict.h>
|
||||
static const QRgb client_bottom_lines_dark_data[] = {
|
||||
0x18000000,0x18000000,0x18000000,0x18000000,0x18000000,0x18000000,0x18000000,0x18000000,0x18000000,0x18000000,0x44000000,0x44000000,0x44000000,0x44000000,
|
||||
0x44000000,0x44000000,0x44000000,0x44000000,0x44000000,0x44000000
|
||||
};
|
||||
|
||||
/* Generated by qembed */
|
||||
static const QRgb client_bottomLines_data[] = {
|
||||
0x6000000,0x6000000,0x6000000,0x6000000,0x6000000,0x6000000,0x6000000,0x6000000,0x6000000,0x6000000,0x13000000,0x13000000,0x13000000,0x13000000,
|
||||
0x13000000,0x13000000,0x13000000,0x13000000,0x13000000,0x13000000
|
||||
};
|
||||
|
||||
static const QRgb clientButtonContour_data[] = {
|
||||
0x0,0x0,0x0,0x0,0x2000000,0x9000000,0xe000000,0xf000000,0xf000000,0xe000000,0x9000000,0x2000000,0x0,0x0,
|
||||
0x0,0x0,0x0,0x0,0x1000000,0x7000000,0x27000000,0x8c000000,0xc4000000,0xc9000000,0xc9000000,0xc4000000,0x8c000000,0x27000000,
|
||||
0x7000000,0x1000000,0x0,0x0,0x0,0x0,0xa000000,0x64000000,0xca000000,0x6a000000,0x1b000000,0xf000000,0xf000000,0x1b000000,
|
||||
0x6a000000,0xca000000,0x64000000,0xa000000,0x1000000,0x0,0x0,0x7000000,0x5f000000,0xb5000000,0x23000000,0x8000000,0x1000000,0x0,
|
||||
0x0,0x1000000,0x8000000,0x23000000,0xb5000000,0x5f000000,0x7000000,0x0,0x2000000,0x20000000,0xbd000000,0x1e000000,0x3000000,0x0,
|
||||
0x0,0x0,0x0,0x0,0x0,0x3000000,0x1e000000,0xbd000000,0x20000000,0x2000000,0x9000000,0x88000000,0x62000000,0x7000000,
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7000000,0x62000000,0x88000000,0x9000000,0xe000000,0xc2000000,
|
||||
0x1a000000,0x1000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x1a000000,0xc2000000,0xe000000,
|
||||
0xf000000,0xc9000000,0xf000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf000000,
|
||||
0xc9000000,0xf000000,0xf000000,0xc9000000,0xf000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
|
||||
0x0,0xf000000,0xc9000000,0xf000000,0xe000000,0xc2000000,0x19000000,0x1000000,0x0,0x0,0x0,0x0,0x0,0x0,
|
||||
0x0,0x0,0x1000000,0x19000000,0xc2000000,0xe000000,0x9000000,0x88000000,0x62000000,0x7000000,0x0,0x0,0x0,0x0,
|
||||
0x0,0x0,0x0,0x0,0x7000000,0x62000000,0x88000000,0x9000000,0x2000000,0x20000000,0xbd000000,0x1e000000,0x3000000,0x0,
|
||||
0x0,0x0,0x0,0x0,0x0,0x3000000,0x1e000000,0xbd000000,0x20000000,0x2000000,0x0,0x7000000,0x5f000000,0xb5000000,
|
||||
0x23000000,0x7000000,0x1000000,0x0,0x0,0x1000000,0x7000000,0x23000000,0xb5000000,0x5f000000,0x7000000,0x0,0x0,0x1000000,
|
||||
0xa000000,0x64000000,0xca000000,0x6a000000,0x1b000000,0xf000000,0xf000000,0x1b000000,0x6a000000,0xca000000,0x64000000,0xa000000,0x1000000,0x0,
|
||||
0x0,0x0,0x1000000,0x7000000,0x27000000,0x8c000000,0xc4000000,0xc9000000,0xc9000000,0xc4000000,0x8c000000,0x27000000,0x7000000,0x1000000,
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x9000000,0xe000000,0xf000000,0xf000000,0xe000000,0x9000000,0x2000000,
|
||||
0x0,0x0,0x0,0x0
|
||||
};
|
||||
|
||||
static const QRgb clientButtonPressed_data[] = {
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xb151515,0x400b0b0b,0x420d0d0d,0x420d0d0d,0x41090909,0xb151515,0x0,
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x39131313,0x6d010101,0x68000000,0x62000000,0x62000000,0x67000000,
|
||||
0x70000000,0x50070707,0x1000000,0x0,0x0,0x0,0x0,0x0,0x1000000,0x5a040404,0x62000000,0x51000000,0x44000000,0x3e000000,
|
||||
0x3d000000,0x43000000,0x4e000000,0x5f000000,0x51070707,0x1000000,0x0,0x0,0x0,0x0,0x3d0b0b0b,0x5a000000,0x42000000,0x32000000,
|
||||
0x27000000,0x24000000,0x24000000,0x26000000,0x30000000,0x41000000,0x58000000,0x45060606,0x0,0x0,0x0,0x91a1a1a,0x5e000000,0x41000000,
|
||||
0x2b000000,0x1e000000,0x18000000,0x16000000,0x15000000,0x18000000,0x1d000000,0x29000000,0x40000000,0x5b000000,0x12000000,0x0,0x0,0x28090909,
|
||||
0x4a000000,0x2e000000,0x1b000000,0x14000000,0x11000000,0x10000000,0x10000000,0x10000000,0x13000000,0x1b000000,0x2c000000,0x49000000,0x31040404,0x0,
|
||||
0x0,0x33050505,0x3d000000,0x22000000,0x14000000,0xf000000,0xd000000,0xd000000,0xd000000,0xd000000,0xe000000,0x14000000,0x21000000,0x3c000000,
|
||||
0x2d070707,0x0,0x0,0x2f040404,0x34000000,0x1b000000,0xf000000,0xb000000,0xa000000,0xa000000,0xa000000,0xa000000,0xb000000,0xf000000,
|
||||
0x1b000000,0x34000000,0x2a050505,0x0,0x0,0x2d020202,0x32000000,0x18000000,0xc000000,0x9000000,0x8000000,0x8000000,0x8000000,0x8000000,
|
||||
0x9000000,0xd000000,0x19000000,0x33000000,0x28020202,0x0,0x0,0x14000000,0x35000000,0x1a000000,0xc000000,0x7000000,0x6000000,0x6000000,
|
||||
0x6000000,0x6000000,0x7000000,0xd000000,0x1b000000,0x37000000,0xf000000,0x0,0x0,0x0,0x2b000000,0x23000000,0x12000000,0xa000000,
|
||||
0x7000000,0x6000000,0x6000000,0x7000000,0xa000000,0x13000000,0x24000000,0x29000000,0x0,0x0,0x0,0x0,0x1000000,0x26000000,
|
||||
0x1e000000,0x12000000,0xc000000,0xa000000,0xa000000,0xc000000,0x13000000,0x1f000000,0x25000000,0x1000000,0x0,0x0,0x0,0x0,
|
||||
0x0,0x2000000,0x23000000,0x23000000,0x1b000000,0x16000000,0x16000000,0x1b000000,0x24000000,0x23000000,0x1000000,0x0,0x0,0x0,
|
||||
0x0,0x0,0x0,0x0,0x0,0x8000000,0x1c000000,0x19000000,0x19000000,0x1b000000,0x7000000,0x0,0x0,0x0,
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
|
||||
0x0,0x0,0x0,0x0
|
||||
};
|
||||
|
||||
static const QRgb clientButtonShadow_data[] = {
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x16fdfdfd,0x52fdfdfd,0x6ffdfdfd,0x6ffdfdfd,0x50fdfdfd,0x16fdfdfd,0x0,
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xafdfdfd,0x7bfcfcfc,0x78fdfdfd,0x65ffffff,0x6ffdfdfd,0x6ffdfdfd,0x65ffffff,
|
||||
0x77fdfdfd,0x7afdfdfd,0x9fdfdfd,0x0,0x0,0x0,0x0,0x0,0xcfdfdfd,0x7bfdfdfd,0x69fdfdfd,0x4cfcfcfc,0x40ffffff,0x3bffffff,
|
||||
0x3bffffff,0x40ffffff,0x4bffffff,0x69fdfdfd,0x7afcfcfc,0x9fdfdfd,0x0,0x0,0x0,0x3ffffff,0x66fcfcfc,0x58ffffff,0x37fcfcfc,0x2dffffff,
|
||||
0x2bffffff,0x2bffffff,0x2bffffff,0x2bffffff,0x2dfbfbfb,0x37ffffff,0x58fcfcfc,0x64fdfdfd,0x3ffffff,0x0,0x0,0x25fdfdfd,0x50f9f9f9,0x32fafafa,
|
||||
0x26f8f8f8,0x25f8f8f8,0x25f8f8f8,0x25f8f8f8,0x25f8f8f8,0x25f8f8f8,0x25f8f8f8,0x26f8f8f8,0x31fafafa,0x51f9f9f9,0x20fdfdfd,0x0,0x4bfbfbf,0x69fafafa,
|
||||
0x3cf1f1f1,0x22e8e8e8,0x20e7e7e7,0x20e7e7e7,0x20e7e7e7,0x20e7e7e7,0x20e7e7e7,0x20e7e7e7,0x20e7e7e7,0x20e7e7e7,0x22e8e8e8,0x3cf3f3f3,0x66fafafa,0x3ffffff,
|
||||
0xcffffff,0x8cfcfcfc,0x2fe5e5e5,0x1acdcdcd,0x1acdcdcd,0x1acdcdcd,0x1acdcdcd,0x1acdcdcd,0x1acdcdcd,0x1acdcdcd,0x1acdcdcd,0x1acdcdcd,0x1acdcdcd,0x2fe5e5e5,
|
||||
0x8afbfbfb,0xaffffff,0x12f2f2f2,0x91f8f8f8,0x29d6d6d6,0x15aaaaaa,0x15aaaaaa,0x15aaaaaa,0x15aaaaaa,0x15aaaaaa,0x15aaaaaa,0x15aaaaaa,0x15aaaaaa,0x15aaaaaa,
|
||||
0x15aaaaaa,0x28d7d7d7,0x91f8f8f8,0x10f0f0f0,0x12f2f2f2,0x81f8f8f8,0x2acdcdcd,0x11777777,0x106f6f6f,0x106f6f6f,0x106f6f6f,0x106f6f6f,0x106f6f6f,0x106f6f6f,
|
||||
0x106f6f6f,0x106f6f6f,0x11777777,0x2bcecece,0x80f8f8f8,0x10f0f0f0,0xcffffff,0x5cf8f8f8,0x31cacaca,0x167f7f7f,0xc151515,0xb000000,0xb000000,0xb000000,
|
||||
0xb000000,0xb000000,0xb000000,0xc151515,0x168b8b8b,0x37d5d5d5,0x55f8f8f8,0xbe9e9e9,0x4ffffff,0x32fafafa,0x78f2f2f2,0x24a8a8a8,0x17777777,0xe121212,
|
||||
0xd000000,0xd000000,0xd000000,0xd000000,0xe121212,0x17797979,0x25ababab,0x7df3f3f3,0x2bffffff,0x3ffffff,0x0,0x15f3f3f3,0x66fcfcfc,0x64e9e9e9,
|
||||
0x29acacac,0x1e858585,0x19707070,0x143f3f3f,0x143f3f3f,0x196e6e6e,0x1e858585,0x2aadadad,0x6debebeb,0x63f9f9f9,0x12ffffff,0x0,0x0,0x3ffffff,
|
||||
0x26ffffff,0x7afafafa,0x7ff1f1f1,0x3cc4c4c4,0x30adadad,0x2ba6a6a6,0x2ba4a4a4,0x30afafaf,0x3ec3c3c3,0x84f1f1f1,0x77fafafa,0x22ffffff,0x3ffffff,0x0,
|
||||
0x0,0x0,0x5ffffff,0x27f9f9f9,0x52fcfcfc,0x80f9f9f9,0x96f6f6f6,0x85f2f2f2,0x86f2f2f2,0x97f6f6f6,0x81fafafa,0x4ffcfcfc,0x20f8f8f8,0x4ffffff,
|
||||
0x0,0x0,0x0,0x0,0x0,0x4bfbfbf,0xeffffff,0x32fafafa,0x3ffcfcfc,0x50fcfcfc,0x4ffcfcfc,0x3ffcfcfc,0x2ffafafa,0xef2f2f2,
|
||||
0x3ffffff,0x0,0x0,0x0
|
||||
};
|
||||
|
||||
static const QRgb client_close_6x6_data[] = {
|
||||
0x6c2a2a2a,0x6b2a2a2a,0x0,0x0,0x6b2a2a2a,0x702a2a2a,0x7b2a2a2a,0xd62a2a2a,0x5c2a2a2a,0x792a2a2a,0xd62a2a2a,0x782a2a2a,0x0,0x7b2a2a2a,
|
||||
0xd62a2a2a,0xd62a2a2a,0x782a2a2a,0x0,0x0,0x7b2a2a2a,0xd62a2a2a,0xd62a2a2a,0x782a2a2a,0x0,0x7b2a2a2a,0xd62a2a2a,0x782a2a2a,0x5e2a2a2a,
|
||||
0xd62a2a2a,0x782a2a2a,0x6c2a2a2a,0x782a2a2a,0x0,0x0,0x5e2a2a2a,0x6c2a2a2a
|
||||
};
|
||||
|
||||
static const QRgb client_dot_4x4_data[] = {
|
||||
0x422a2a2a,0x9b2a2a2a,0x9b2a2a2a,0x422a2a2a,0x9b2a2a2a,0xb02a2a2a,0xb02a2a2a,0x9b2a2a2a,0x9b2a2a2a,0xb02a2a2a,0xb02a2a2a,0x9b2a2a2a,0x422a2a2a,0x9b2a2a2a,
|
||||
0x9b2a2a2a,0x422a2a2a
|
||||
};
|
||||
|
||||
static const QRgb client_edges_dark_data[] = {
|
||||
0x0,0x0,0x0,0x34000000,0x35000000,0x35000000,0x34000000,0x0,0x0,0x0,0x0,0x0,0x34000000,0x2b000000,
|
||||
0xe000000,0xe000000,0x2b000000,0x34000000,0x0,0x0,0x0,0x39000000,0x23000000,0x10000000,0x3000000,0x3000000,0x10000000,0x23000000,
|
||||
0x39000000,0x0,0x3000000,0x38000000,0x11000000,0x3000000,0x0,0x0,0x3000000,0x11000000,0x38000000,0x3000000,0x34000000,0x2a000000,
|
||||
0x5000000,0x1000000,0x0,0x0,0x1000000,0x5000000,0x2a000000,0x34000000,0x35000000,0x1e000000,0x3000000,0x0,0x0,0x0,
|
||||
0x0,0x3000000,0x1e000000,0x35000000,0x37000000,0x20000000,0x3000000,0x0,0x0,0x0,0x0,0x3000000,0x20000000,0x37000000,
|
||||
0x38000000,0x2c000000,0x6000000,0x1000000,0x0,0x0,0x1000000,0x6000000,0x2c000000,0x38000000,0x4000000,0x3d000000,0x13000000,0x3000000,
|
||||
0x0,0x0,0x3000000,0x13000000,0x3d000000,0x4000000,0x0,0x40000000,0x28000000,0x13000000,0x4000000,0x4000000,0x13000000,0x28000000,
|
||||
0x40000000,0x0,0x0,0x0,0x41000000,0x36000000,0x12000000,0x12000000,0x36000000,0x41000000,0x0,0x0,0x0,0x0,
|
||||
0x0,0x41000000,0x44000000,0x44000000,0x41000000,0x0,0x0,0x0
|
||||
};
|
||||
|
||||
static const QRgb client_edges_data[] = {
|
||||
0x0,0x0,0x0,0x2fffffff,0x31ffffff,0x31ffffff,0x2fffffff,0x0,0x0,0x0,0x0,0x0,0x2effffff,0x25ffffff,
|
||||
0x11ffffff,0x11ffffff,0x25ffffff,0x2effffff,0x0,0x0,0x0,0x34ffffff,0x1fffffff,0xeffffff,0x3ffffff,0x3ffffff,0xeffffff,0x1fffffff,
|
||||
0x34ffffff,0x0,0x2ffffff,0x33ffffff,0xeffffff,0x3ffffff,0x0,0x0,0x3ffffff,0xeffffff,0x33ffffff,0x2ffffff,0x2fffffff,0x1fffffff,
|
||||
0x4ffffff,0x1ffffff,0x0,0x0,0x1ffffff,0x4ffffff,0x1fffffff,0x2fffffff,0x2dffffff,0x12ffffff,0x2ffffff,0x0,0x0,0x0,
|
||||
0x0,0x2ffffff,0x12ffffff,0x2dffffff,0x27ebebeb,0x18f5f5f5,0x3ffffff,0x0,0x0,0x0,0x0,0x3ffffff,0x18f5f5f5,0x27ebebeb,
|
||||
0x28e5e5e5,0x1bcacaca,0x6ffffff,0x1ffffff,0x0,0x0,0x1ffffff,0x6ffffff,0x1bcacaca,0x28e5e5e5,0x1000000,0x1c888888,0xbb9b9b9,0x3ffffff,
|
||||
0x0,0x0,0x3ffffff,0xbb9b9b9,0x1c888888,0x1000000,0x0,0x1d838383,0x11696969,0xab2b2b2,0x4ffffff,0x4ffffff,0xab2b2b2,0x11696969,
|
||||
0x1d838383,0x0,0x0,0x0,0x12000000,0x15616161,0xcaaaaaa,0xcaaaaaa,0x15616161,0x12000000,0x0,0x0,0x0,0x0,
|
||||
0x0,0x12000000,0x13000000,0x13000000,0x12000000,0x0,0x0,0x0
|
||||
};
|
||||
|
||||
static const QRgb client_help_5x8_data[] = {
|
||||
0x22a2a2a,0x772a2a2a,0xc22a2a2a,0xbd2a2a2a,0x302a2a2a,0x3b2a2a2a,0xd22a2a2a,0x612a2a2a,0x862a2a2a,0xbd2a2a2a,0x22a2a2a,0x22a2a2a,0x0,0x5b2a2a2a,
|
||||
0xba2a2a2a,0x0,0x0,0x462a2a2a,0xbd2a2a2a,0x3e2a2a2a,0x0,0x0,0xd12a2a2a,0x682a2a2a,0x0,0x0,0x0,0x542a2a2a,
|
||||
0x2a2a2a2a,0x0,0x0,0x0,0xb82a2a2a,0x5b2a2a2a,0x0,0x0,0x0,0x262a2a2a,0x82a2a2a,0x0
|
||||
};
|
||||
|
||||
static const QRgb client_line_6x2_data[] = {
|
||||
0x852a2a2a,0xbe2a2a2a,0xbe2a2a2a,0xbe2a2a2a,0xbe2a2a2a,0x852a2a2a,0x432a2a2a,0x5f2a2a2a,0x5f2a2a2a,0x5f2a2a2a,0x5f2a2a2a,0x432a2a2a
|
||||
};
|
||||
|
||||
static const QRgb client_max_8x8_data[] = {
|
||||
0x0,0x0,0x0,0x852a2a2a,0x442a2a2a,0x0,0x0,0x0,0x0,0x0,0x0,0xbe2a2a2a,0x602a2a2a,0x0,
|
||||
0x0,0x0,0x12a2a2a,0x12a2a2a,0x0,0xbe2a2a2a,0x602a2a2a,0x0,0x0,0x0,0x852a2a2a,0xbe2a2a2a,0xbe2a2a2a,0xbe2a2a2a,
|
||||
0xbe2a2a2a,0xbe2a2a2a,0xbe2a2a2a,0x852a2a2a,0x442a2a2a,0x602a2a2a,0x602a2a2a,0xbe2a2a2a,0x902a2a2a,0x622a2a2a,0x632a2a2a,0x452a2a2a,0x0,0x0,
|
||||
0x0,0xbd2a2a2a,0x602a2a2a,0x0,0x0,0x0,0x0,0x0,0x0,0xbd2a2a2a,0x612a2a2a,0x0,0x0,0x0,
|
||||
0x0,0x0,0x0,0x852a2a2a,0x442a2a2a,0x0,0x0,0x0
|
||||
};
|
||||
|
||||
static const QRgb client_right_lines2_data[] = {
|
||||
0xfffffff,0x24ffffff,0xfffffff,0x24ffffff,0xfffffff,0x24ffffff,0xfffffff,0x24ffffff,0xfffffff,0x24ffffff,0xfffffff,0x24ffffff,0xfffffff,0x24ffffff,
|
||||
0xfffffff,0x24ffffff,0xfffffff,0x24ffffff,0xfffffff,0x24ffffff
|
||||
};
|
||||
|
||||
static const QRgb client_right_lines_dark_data[] = {
|
||||
0x19000000,0x36000000,0x19000000,0x36000000,0x19000000,0x36000000,0x19000000,0x36000000,0x19000000,0x36000000,0x19000000,0x36000000,0x19000000,0x36000000,
|
||||
0x19000000,0x36000000,0x19000000,0x36000000,0x19000000,0x36000000
|
||||
};
|
||||
|
||||
static const QRgb client_topLines2_data[] = {
|
||||
0x39ffffff,0x39ffffff,0x39ffffff,0x39ffffff,0x39ffffff,0x39ffffff,0x39ffffff,0x39ffffff,0x39ffffff,0x39ffffff,0x11ffffff,0x11ffffff,0x11ffffff,0x11ffffff,
|
||||
0x11ffffff,0x11ffffff,0x11ffffff,0x11ffffff,0x11ffffff,0x11ffffff
|
||||
};
|
||||
|
||||
static const QRgb client_top_lines_dark_data[] = {
|
||||
0x36000000,0x36000000,0x36000000,0x36000000,0x36000000,0x36000000,0x36000000,0x36000000,0x36000000,0x36000000,0x13000000,0x13000000,0x13000000,0x13000000,
|
||||
0x13000000,0x13000000,0x13000000,0x13000000,0x13000000,0x13000000
|
||||
};
|
||||
|
||||
static const QRgb client_upArrow_6x8_data[] = {
|
||||
0x0,0x0,0x492a2a2a,0x142a2a2a,0x0,0x0,0x0,0x4a2a2a2a,0xb92a2a2a,0xa82a2a2a,0x1e2a2a2a,0x0,0x572a2a2a,0xb92a2a2a,
|
||||
0xb92a2a2a,0xb82a2a2a,0xac2a2a2a,0x1d2a2a2a,0x0,0x0,0xb92a2a2a,0x5c2a2a2a,0x0,0x0,0x0,0x0,0xb92a2a2a,0x5c2a2a2a,
|
||||
0x0,0x0,0x0,0x0,0xb92a2a2a,0x5c2a2a2a,0x0,0x0,0x0,0x0,0xb92a2a2a,0x5c2a2a2a,0x0,0x0,
|
||||
0x0,0x0,0x812a2a2a,0x402a2a2a,0x0,0x0
|
||||
};
|
||||
|
||||
|
||||
static struct EmbedImage {
|
||||
int width, height, depth;
|
||||
const unsigned char *data;
|
||||
int numColors;
|
||||
const QRgb *colorTable;
|
||||
bool alpha;
|
||||
const char *name;
|
||||
} embed_image_vec[] = {
|
||||
{ 10, 2, 32, (const unsigned char*)client_bottom_lines_dark_data, 0, 0, TRUE, "client_bottomLines_dark" },
|
||||
{ 10, 2, 32, (const unsigned char*)client_bottomLines_data, 0, 0, TRUE, "client_bottomLines" },
|
||||
{ 16, 16, 32, (const unsigned char*)clientButtonContour_data, 0, 0, TRUE, "clientButtonContour" },
|
||||
{ 16, 16, 32, (const unsigned char*)clientButtonPressed_data, 0, 0, TRUE, "clientButtonPressed" },
|
||||
{ 16, 16, 32, (const unsigned char*)clientButtonShadow_data, 0, 0, TRUE, "clientButtonShadow" },
|
||||
{ 6, 6, 32, (const unsigned char*)client_close_6x6_data, 0, 0, TRUE, "closeButtonIcon" },
|
||||
{ 4, 4, 32, (const unsigned char*)client_dot_4x4_data, 0, 0, TRUE, "onAllDesktopsButtonIcon" },
|
||||
{ 10, 12, 32, (const unsigned char*)client_edges_dark_data, 0, 0, TRUE, "client_edges_dark" },
|
||||
{ 10, 12, 32, (const unsigned char*)client_edges_data, 0, 0, TRUE, "client_edges" },
|
||||
{ 5, 8, 32, (const unsigned char*)client_help_5x8_data, 0, 0, TRUE, "helpButtonIcon" },
|
||||
{ 6, 2, 32, (const unsigned char*)client_line_6x2_data, 0, 0, TRUE, "minButtonIcon" },
|
||||
{ 8, 8, 32, (const unsigned char*)client_max_8x8_data, 0, 0, TRUE, "maxButtonIcon" },
|
||||
{ 2, 10, 32, (const unsigned char*)client_right_lines2_data, 0, 0, TRUE, "client_rightLines" },
|
||||
{ 2, 10, 32, (const unsigned char*)client_right_lines_dark_data, 0, 0, TRUE, "client_rightLines_dark" },
|
||||
{ 10, 2, 32, (const unsigned char*)client_topLines2_data, 0, 0, TRUE, "client_topLines" },
|
||||
{ 10, 2, 32, (const unsigned char*)client_top_lines_dark_data, 0, 0, TRUE, "client_topLines_dark" },
|
||||
{ 6, 8, 32, (const unsigned char*)client_upArrow_6x8_data, 0, 0, TRUE, "aboveButtonIcon" },
|
||||
{ 0, 0, 0, 0, 0, 0, 0, 0 }
|
||||
};
|
||||
|
||||
static const QImage& qembed_findImage( const QString& name )
|
||||
{
|
||||
static QDict<QImage> dict;
|
||||
QImage* img = dict.find( name );
|
||||
if ( !img ) {
|
||||
for ( int i = 0; embed_image_vec[i].data; i++ ) {
|
||||
if ( strcmp(embed_image_vec[i].name, name.latin1()) == 0 ) {
|
||||
img = new QImage((uchar*)embed_image_vec[i].data,
|
||||
embed_image_vec[i].width,
|
||||
embed_image_vec[i].height,
|
||||
embed_image_vec[i].depth,
|
||||
(QRgb*)embed_image_vec[i].colorTable,
|
||||
embed_image_vec[i].numColors,
|
||||
QImage::BigEndian );
|
||||
if ( embed_image_vec[i].alpha )
|
||||
img->setAlphaBuffer( TRUE );
|
||||
dict.insert( name, img );
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ( !img ) {
|
||||
static QImage dummy;
|
||||
return dummy;
|
||||
}
|
||||
}
|
||||
return *img;
|
||||
}
|
||||
|
||||
#endif
|
@ -0,0 +1,10 @@
|
||||
INCLUDES = $(all_includes)
|
||||
|
||||
kde_module_LTLIBRARIES = kwin_domino_config.la
|
||||
|
||||
kwin_domino_config_la_SOURCES = config.cpp
|
||||
kwin_domino_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
|
||||
kwin_domino_config_la_LIBADD = $(LIB_KDEUI) $(LIB_QT) $(LIB_KDECORE)
|
||||
|
||||
METASOURCES = AUTO
|
||||
noinst_HEADERS = config.h
|
@ -0,0 +1,288 @@
|
||||
/*
|
||||
Copyright (C) 2006 Michael Lentner <michaell@gmx.net>
|
||||
|
||||
based on KDE2 Default configuration widget:
|
||||
Copyright (c) 2001
|
||||
Karol Szwed <gallium@kde.org>
|
||||
http://gallium.n3.net/
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library 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
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include <kglobal.h>
|
||||
#include <klocale.h>
|
||||
#include <qvbox.h>
|
||||
#include <qlayout.h>
|
||||
#include <qlabel.h>
|
||||
#include <qgroupbox.h>
|
||||
#include <qsettings.h>
|
||||
|
||||
extern "C"
|
||||
{
|
||||
KDE_EXPORT QObject* allocate_config( KConfig* config, QWidget* parent )
|
||||
{
|
||||
return(new DominoConfig(config, parent));
|
||||
}
|
||||
}
|
||||
|
||||
// NOTE:
|
||||
// 'config' is a pointer to the kwindecoration modules open kwin config,
|
||||
// and is by default set to the "Style" group.
|
||||
// 'parent' is the parent of the QObject, which is a VBox inside the
|
||||
// Configure tab in kwindecoration
|
||||
|
||||
DominoConfig::DominoConfig( KConfig* config, QWidget* parent )
|
||||
: QObject( parent )
|
||||
{
|
||||
conf = new KConfig("kwindominorc");
|
||||
|
||||
KGlobal::locale()->insertCatalogue("kwin_clients");
|
||||
|
||||
vBox = new QVBox( parent );
|
||||
|
||||
customBorderColor = new QCheckBox( i18n("Custom border color"), vBox );
|
||||
QHBox *hbox1 = new QHBox(vBox);
|
||||
hbox1->layout()->addItem(new QSpacerItem(20, 0, QSizePolicy::Fixed, QSizePolicy::Minimum) );
|
||||
borderColor = new KColorButton(hbox1);
|
||||
|
||||
customButtonColor = new QCheckBox( i18n("Custom button color"), vBox );
|
||||
QHBox *hbox2 = new QHBox(vBox);
|
||||
hbox2->layout()->addItem(new QSpacerItem(20, 0, QSizePolicy::Fixed, QSizePolicy::Minimum) );
|
||||
buttonColor = new KColorButton(hbox2);
|
||||
|
||||
customButtonIconColor = new QCheckBox( i18n("Custom button icon color"), vBox );
|
||||
QHBox *hbox3 = new QHBox(vBox);
|
||||
hbox3->layout()->addItem(new QSpacerItem(20, 0, QSizePolicy::Fixed, QSizePolicy::Minimum) );
|
||||
buttonIconColor = new KColorButton(hbox3);
|
||||
|
||||
customGradientColors = new QCheckBox( i18n("Custom gradient colors"), vBox);
|
||||
QHBox *hbox4 = new QHBox(vBox);
|
||||
hbox4->layout()->addItem(new QSpacerItem(22, 0, QSizePolicy::Fixed, QSizePolicy::Minimum) );
|
||||
|
||||
QVBox *vbox1 = new QVBox(hbox4);
|
||||
new QLabel( i18n("Top gradient color"), vbox1);
|
||||
topGradientColor = new KColorButton(vbox1);
|
||||
new QLabel(i18n("Bottom gradient color"), vbox1);
|
||||
bottomGradientColor = new KColorButton(vbox1);
|
||||
|
||||
showInactiveButtons = new QCheckBox( i18n("Show inactive buttons"), vBox );
|
||||
showButtonIcons = new QCheckBox( i18n("Show button icons"), vBox );
|
||||
darkFrame = new QCheckBox( i18n("Dark window frame"), vBox );
|
||||
|
||||
|
||||
///////////////////////////////////////
|
||||
|
||||
|
||||
QGroupBox* colorGb = new QGroupBox(vBox);
|
||||
colorGb->setTitle(i18n("Button contour colors:"));
|
||||
colorGb->setColumnLayout(0, Qt::Vertical );
|
||||
colorGb->layout()->setSpacing( 6 );
|
||||
colorGb->layout()->setMargin( 11 );
|
||||
|
||||
QGridLayout* gbLayout = new QGridLayout( colorGb->layout(), 4, 2 );
|
||||
gbLayout->setAlignment( Qt::AlignTop );
|
||||
|
||||
QLabel* labelSC = new QLabel(i18n("Standard color:"), colorGb);
|
||||
buttonContourColor = new KColorButton(colorGb);
|
||||
buttonContourColor->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||||
QLabel* labelMC = new QLabel(i18n("Mouseover color:"), colorGb);
|
||||
buttonMouseOverContourColor = new KColorButton(colorGb);
|
||||
QLabel* labelPC = new QLabel(i18n("Pressed color:"), colorGb);
|
||||
buttonPressedContourColor = new KColorButton(colorGb);
|
||||
|
||||
useDominoStyleContourColors = new QCheckBox( i18n("Use domino style contour colors"), colorGb );
|
||||
gbLayout->addMultiCellWidget(useDominoStyleContourColors, 0, 0, 0, 1);
|
||||
|
||||
gbLayout->addWidget(labelSC, 1, 0);
|
||||
gbLayout->addItem(new QSpacerItem(20, 0, QSizePolicy::Minimum, QSizePolicy::Minimum) );
|
||||
gbLayout->addWidget(buttonContourColor, 1, 1);
|
||||
|
||||
gbLayout->addWidget(labelMC, 2, 0);
|
||||
gbLayout->addItem(new QSpacerItem(20, 0, QSizePolicy::Minimum, QSizePolicy::Minimum) );
|
||||
gbLayout->addWidget(buttonMouseOverContourColor, 2, 1);
|
||||
|
||||
gbLayout->addWidget(labelPC, 3, 0);
|
||||
gbLayout->addItem(new QSpacerItem(20, 0, QSizePolicy::Minimum, QSizePolicy::Minimum) );
|
||||
gbLayout->addWidget(buttonPressedContourColor, 3, 1);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////
|
||||
|
||||
// Load configuration options
|
||||
load(config);
|
||||
|
||||
// Ensure we track user changes properly
|
||||
connect(customGradientColors, SIGNAL(toggled(bool)), topGradientColor, SLOT(setEnabled(bool)));
|
||||
connect(customGradientColors, SIGNAL(toggled(bool)), bottomGradientColor, SLOT(setEnabled(bool)));
|
||||
|
||||
connect(customBorderColor, SIGNAL(toggled(bool)), borderColor, SLOT(setEnabled(bool)));
|
||||
connect(customButtonColor, SIGNAL(toggled(bool)), buttonColor, SLOT(setEnabled(bool)));
|
||||
connect(customButtonIconColor, SIGNAL(toggled(bool)), buttonIconColor, SLOT(setEnabled(bool)));
|
||||
|
||||
connect(customGradientColors, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()));
|
||||
connect(topGradientColor, SIGNAL(changed(const QColor&)), this, SLOT(slotSelectionChanged()));
|
||||
connect(bottomGradientColor, SIGNAL(changed(const QColor&)), this, SLOT(slotSelectionChanged()));
|
||||
|
||||
|
||||
connect(customBorderColor, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()));
|
||||
connect(borderColor, SIGNAL(changed(const QColor&)), this, SLOT(slotSelectionChanged()));
|
||||
|
||||
connect(customButtonColor, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()));
|
||||
connect(buttonColor, SIGNAL(changed(const QColor&)), this, SLOT(slotSelectionChanged()));
|
||||
connect(customButtonIconColor, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()));
|
||||
connect(buttonIconColor, SIGNAL(changed(const QColor&)), this, SLOT(slotSelectionChanged()));
|
||||
|
||||
connect(showInactiveButtons, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()));
|
||||
connect(showButtonIcons, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()));
|
||||
connect(darkFrame, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()));
|
||||
|
||||
connect(useDominoStyleContourColors, SIGNAL(clicked()), this, SLOT(loadButtonContourColors()));
|
||||
connect(useDominoStyleContourColors, SIGNAL(clicked()), this, SLOT(slotSelectionChanged()));
|
||||
connect(buttonContourColor, SIGNAL(changed(const QColor&)), this, SLOT(slotSelectionChanged()));
|
||||
connect(buttonMouseOverContourColor, SIGNAL(changed(const QColor&)), this, SLOT(slotSelectionChanged()));
|
||||
connect(buttonPressedContourColor, SIGNAL(changed(const QColor&)), this, SLOT(slotSelectionChanged()));
|
||||
|
||||
|
||||
// Make the widgets visible in kwindecoration valueChanged
|
||||
vBox->show();
|
||||
}
|
||||
|
||||
|
||||
DominoConfig::~DominoConfig()
|
||||
{
|
||||
delete vBox;
|
||||
delete conf;
|
||||
}
|
||||
|
||||
|
||||
void DominoConfig::slotSelectionChanged()
|
||||
{
|
||||
emit changed();
|
||||
}
|
||||
|
||||
|
||||
// Loads the configurable options from the kwinrc config file
|
||||
// It is passed the open config from kwindecoration to improve efficiency
|
||||
void DominoConfig::load(KConfig*)
|
||||
{
|
||||
conf->setGroup("General");
|
||||
|
||||
customBorderColor->setChecked(conf->readBoolEntry("customBorderColor", true));
|
||||
borderColor->setEnabled(customBorderColor->isChecked());
|
||||
borderColor->setColor(conf->readEntry("borderColor", "#777B7F"));
|
||||
customButtonColor->setChecked(conf->readBoolEntry( "customButtonColor", false));
|
||||
buttonColor->setEnabled(customButtonColor->isChecked());
|
||||
buttonColor->setColor(conf->readEntry("buttonColor", "#212121"));
|
||||
customButtonIconColor->setChecked(conf->readBoolEntry( "customButtonIconColor", false));
|
||||
buttonIconColor->setEnabled(customButtonIconColor->isChecked());
|
||||
buttonIconColor->setColor(conf->readEntry("buttonIconColor", "#000000"));
|
||||
|
||||
customGradientColors->setChecked(conf->readBoolEntry( "customGradientColors", false));
|
||||
topGradientColor->setEnabled(customGradientColors->isChecked());
|
||||
bottomGradientColor->setEnabled(customGradientColors->isChecked());
|
||||
topGradientColor->setColor(conf->readEntry("topGradientColor", "#ffffff"));
|
||||
bottomGradientColor->setColor(conf->readEntry("bottomGradientColor", "#000000"));
|
||||
|
||||
showInactiveButtons->setChecked(conf->readBoolEntry("showInactiveButtons", false));
|
||||
showButtonIcons->setChecked(conf->readBoolEntry("showButtonIcons", false));
|
||||
darkFrame->setChecked(conf->readBoolEntry("darkFrame", false));
|
||||
|
||||
useDominoStyleContourColors->setChecked(conf->readBoolEntry("useDominoStyleContourColors", true));
|
||||
|
||||
loadButtonContourColors();
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Saves the configurable options to the kwinrc config file
|
||||
void DominoConfig::save(KConfig*)
|
||||
{
|
||||
conf->setGroup("General");
|
||||
|
||||
conf->writeEntry("customBorderColor", customBorderColor->isChecked());
|
||||
conf->writeEntry("borderColor", borderColor->color().name());
|
||||
conf->writeEntry("customButtonColor", customButtonColor->isChecked());
|
||||
conf->writeEntry("buttonColor", buttonColor->color().name());
|
||||
conf->writeEntry("customButtonIconColor", customButtonIconColor->isChecked());
|
||||
conf->writeEntry("buttonIconColor", buttonIconColor->color().name());
|
||||
conf->writeEntry("showInactiveButtons", showInactiveButtons->isChecked());
|
||||
conf->writeEntry("showButtonIcons", showButtonIcons->isChecked());
|
||||
|
||||
conf->writeEntry("customGradientColors", customGradientColors->isChecked());
|
||||
conf->writeEntry("topGradientColor", topGradientColor->color().name());
|
||||
conf->writeEntry("bottomGradientColor", bottomGradientColor->color().name());
|
||||
conf->writeEntry("darkFrame", darkFrame->isChecked());
|
||||
|
||||
conf->writeEntry("useDominoStyleContourColors", useDominoStyleContourColors->isChecked());
|
||||
conf->writeEntry("buttonContourColor", buttonContourColor->color().name());
|
||||
conf->writeEntry("buttonMouseOverContourColor", buttonMouseOverContourColor->color().name());
|
||||
conf->writeEntry("buttonPressedContourColor", buttonPressedContourColor->color().name());
|
||||
|
||||
conf->sync();
|
||||
}
|
||||
|
||||
|
||||
// Sets UI widget defaults which must correspond to style defaults
|
||||
void DominoConfig::defaults()
|
||||
{
|
||||
|
||||
QColor background = vBox->paletteBackgroundColor();
|
||||
|
||||
customBorderColor->setChecked(true);
|
||||
borderColor->setColor("#777B7F");
|
||||
customButtonColor->setChecked(false);
|
||||
buttonColor->setColor("#212121");
|
||||
customButtonIconColor->setChecked(false);
|
||||
buttonIconColor->setColor("#000000");
|
||||
showInactiveButtons->setChecked(false);
|
||||
showButtonIcons->setChecked(false);
|
||||
customGradientColors->setChecked(false);
|
||||
topGradientColor->setColor("#ffffff");
|
||||
bottomGradientColor->setColor("#000000");
|
||||
darkFrame->setChecked(false);
|
||||
|
||||
useDominoStyleContourColors->setChecked(true);
|
||||
buttonContourColor->setColor(background.dark(250).name());
|
||||
buttonMouseOverContourColor->setColor(background.dark(250).name());
|
||||
buttonPressedContourColor->setColor(background.dark(250).name());
|
||||
|
||||
}
|
||||
|
||||
void DominoConfig::loadButtonContourColors() {
|
||||
|
||||
QColor background = vBox->paletteBackgroundColor();
|
||||
if(useDominoStyleContourColors->isChecked()) {
|
||||
QSettings s;
|
||||
buttonContourColor->setColor(s.readEntry("/domino/Settings/buttonContourColor", background.dark(250).name()));
|
||||
buttonMouseOverContourColor->setColor(s.readEntry("/domino/Settings/buttonMouseOverContourColor", background.dark(250).name()));
|
||||
buttonPressedContourColor->setColor(s.readEntry("/domino/Settings/buttonPressedContourColor", background.dark(250).name()));
|
||||
}
|
||||
else {
|
||||
buttonContourColor->setColor(conf->readEntry("buttonContourColor", background.dark(250).name()));
|
||||
buttonMouseOverContourColor->setColor(conf->readEntry("buttonMouseOverContourColor", background.dark(250).name()));
|
||||
buttonPressedContourColor->setColor(conf->readEntry("buttonPressedContourColor", background.dark(250).name()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#include "config.moc"
|
||||
|
@ -0,0 +1,75 @@
|
||||
/*
|
||||
Copyright (C) 2006 Michael Lentner <michaell@gmx.net>
|
||||
|
||||
based on KDE2 Default configuration widget:
|
||||
Copyright (c) 2001
|
||||
Karol Szwed <gallium@kde.org>
|
||||
http://gallium.n3.net/
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library 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
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef DOMINOCONFIG_H
|
||||
#define DOMINOCONFIG_H
|
||||
|
||||
#include <qcheckbox.h>
|
||||
#include <kconfig.h>
|
||||
#include <qvbox.h>
|
||||
#include <kcolorbutton.h>
|
||||
|
||||
class DominoConfig: public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
DominoConfig( KConfig* config, QWidget* parent );
|
||||
~DominoConfig();
|
||||
|
||||
// These public signals/slots work similar to KCM modules
|
||||
signals:
|
||||
void changed();
|
||||
|
||||
public slots:
|
||||
void load(KConfig* config);
|
||||
void save(KConfig* config);
|
||||
void defaults();
|
||||
|
||||
protected slots:
|
||||
void slotSelectionChanged(); // Internal use
|
||||
void loadButtonContourColors();
|
||||
private:
|
||||
KConfig* conf;
|
||||
QVBox* vBox;
|
||||
QCheckBox* customBorderColor;
|
||||
KColorButton* borderColor;
|
||||
QCheckBox* customButtonColor;
|
||||
KColorButton* buttonColor;
|
||||
QCheckBox* customButtonIconColor;
|
||||
KColorButton* buttonIconColor;
|
||||
|
||||
QCheckBox* showInactiveButtons;
|
||||
QCheckBox* showButtonIcons;
|
||||
QCheckBox* customGradientColors;
|
||||
KColorButton* topGradientColor;
|
||||
KColorButton* bottomGradientColor;
|
||||
QCheckBox* darkFrame;
|
||||
|
||||
QCheckBox* useDominoStyleContourColors;
|
||||
KColorButton* buttonContourColor;
|
||||
KColorButton* buttonMouseOverContourColor;
|
||||
KColorButton* buttonPressedContourColor;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
@ -0,0 +1,5 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Icon=
|
||||
Name=Domino
|
||||
X-KDE-Library=kwin3_domino
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,156 @@
|
||||
/*
|
||||
Copyright (C) 2006 Michael Lentner <michaell@gmx.net>
|
||||
|
||||
based on KDE2 Default KWin client:
|
||||
Copyright (C) 1999, 2001 Daniel Duley <mosfet@kde.org>
|
||||
Matthias Ettrich <ettrich@kde.org>
|
||||
Karol Szwed <gallium@kde.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library 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
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef _DOMINOCLIENT_H
|
||||
#define _DOMINOCLIENT_H
|
||||
|
||||
#include <kcommondecoration.h>
|
||||
#include <kdecorationfactory.h>
|
||||
#include <qlayout.h>
|
||||
|
||||
namespace Domino {
|
||||
|
||||
class DominoClient;
|
||||
class TitleBar;
|
||||
|
||||
class DominoHandler: public QObject, public KDecorationFactory
|
||||
{
|
||||
public:
|
||||
DominoHandler();
|
||||
~DominoHandler();
|
||||
KDecoration* createDecoration( KDecorationBridge* b );
|
||||
bool reset( unsigned long changed );
|
||||
virtual bool supports( Ability ability );
|
||||
|
||||
QColor buttonContourColor;
|
||||
QColor buttonMouseOverContourColor;
|
||||
QColor buttonPressedContourColor;
|
||||
|
||||
bool customButtonColor;
|
||||
QColor buttonColor;
|
||||
bool customButtonIconColor;
|
||||
QColor buttonIconColor;
|
||||
bool customBorderColor;
|
||||
QColor borderColor;
|
||||
bool darkLines;
|
||||
|
||||
private:
|
||||
unsigned long readConfig( bool update );
|
||||
void createPixmaps();
|
||||
void freePixmaps();
|
||||
|
||||
};
|
||||
|
||||
|
||||
class DominoButton : public KCommonDecorationButton
|
||||
{
|
||||
public:
|
||||
DominoButton(ButtonType type, DominoClient *parent, const char *name);
|
||||
~DominoButton();
|
||||
|
||||
void reset(unsigned long changed);
|
||||
|
||||
protected:
|
||||
void enterEvent(QEvent *);
|
||||
void leaveEvent(QEvent *);
|
||||
void drawButton(QPainter *p);
|
||||
void drawButtonLabel(QPainter*) {;}
|
||||
|
||||
bool isMouseOver;
|
||||
DominoClient* client;
|
||||
};
|
||||
|
||||
|
||||
class DominoClient : public KCommonDecoration
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
DominoClient( KDecorationBridge* b, KDecorationFactory* f );
|
||||
~DominoClient();
|
||||
|
||||
virtual QString visibleName() const;
|
||||
virtual QString defaultButtonsLeft() const;
|
||||
virtual QString defaultButtonsRight() const;
|
||||
virtual bool decorationBehaviour(DecorationBehaviour behaviour) const;
|
||||
virtual int layoutMetric(LayoutMetric lm, bool respectWindowState = true, const KCommonDecorationButton * = 0) const;
|
||||
virtual KCommonDecorationButton *createButton(ButtonType type);
|
||||
void borders( int& left, int& right, int& top, int& bottom ) const;
|
||||
|
||||
void init();
|
||||
void reset( unsigned long changed );
|
||||
void resize( const QSize& s );
|
||||
void updateMask();
|
||||
|
||||
void updateWindowShape();
|
||||
void updateCaption();
|
||||
void shadeChange();
|
||||
void activeChange();
|
||||
void iconChange();
|
||||
|
||||
TitleBar* titleBar;
|
||||
QWidget* borderTopLeft;
|
||||
QWidget* borderTopRight;
|
||||
QWidget* borderBottomLeft;
|
||||
QWidget* borderBottomRight;
|
||||
QWidget* borderLeft;
|
||||
QWidget* borderRight;
|
||||
QWidget* borderBottom;
|
||||
QGridLayout* mainlayout;
|
||||
QButton* menuButton;
|
||||
|
||||
void setPixmaps();
|
||||
bool titleBarMouseOver;
|
||||
bool globalMouseTracking;
|
||||
|
||||
public slots:
|
||||
void slotShade();
|
||||
void menuButtonDestroyed();
|
||||
|
||||
protected:
|
||||
bool eventFilter(QObject*, QEvent*);
|
||||
void paintEvent(QPaintEvent*);
|
||||
void resizeEvent(QResizeEvent*);
|
||||
void showEvent(QShowEvent*);
|
||||
|
||||
private:
|
||||
|
||||
void createLayout();
|
||||
};
|
||||
|
||||
class TitleBar : public QWidget
|
||||
{
|
||||
public:
|
||||
TitleBar(QWidget* parent=0, const char* name=0) : QWidget(parent, name) {}
|
||||
void enterEvent(QEvent * e);
|
||||
bool eventFilter(QObject*, QEvent*);
|
||||
DominoClient* client;
|
||||
};
|
||||
|
||||
|
||||
|
||||
void renderGradient(QPainter *painter, QRect &rect,
|
||||
QColor &c1, QColor &c2, const char* name = 0);
|
||||
QColor alphaBlendColors(const QColor &backgroundColor, const QColor &foregroundColor, const int alpha);
|
||||
QImage tintImage(const QImage &img, const QColor &tintColor);
|
||||
}
|
||||
|
||||
#endif
|
@ -0,0 +1 @@
|
||||
#MIN_CONFIG
|
@ -0,0 +1,27 @@
|
||||
[Color Scheme]
|
||||
Name=Domino
|
||||
activeBackground=149,155,162
|
||||
activeBlend=149,155,162
|
||||
activeForeground=40,40,40
|
||||
activeTitleBtnBg=154,161,168
|
||||
alternateBackground=230,230,230
|
||||
background=149,155,162
|
||||
buttonBackground=149,155,162
|
||||
buttonForeground=0,0,0
|
||||
contrast=0
|
||||
foreground=0,0,0
|
||||
frame=149,155,162
|
||||
handle=149,155,162
|
||||
inactiveBackground=149,155,162
|
||||
inactiveBlend=149,155,162
|
||||
inactiveForeground=40,40,40
|
||||
inactiveFrame=149,155,162
|
||||
inactiveHandle=149,155,162
|
||||
inactiveTitleBtnBg=123,128,134
|
||||
linkColor=10,95,137
|
||||
selectBackground=162,168,223
|
||||
selectForeground=0,0,0
|
||||
shadeSortColumn=false
|
||||
visitedLinkColor=137,10,137
|
||||
windowBackground=237,237,237
|
||||
windowForeground=0,0,0
|
@ -0,0 +1,20 @@
|
||||
AUTOMAKE_OPTIONS = foreign
|
||||
|
||||
KDE_CXXFLAGS = -DQT_PLUGIN -I/usr/include/freetype2
|
||||
|
||||
INCLUDES = $(all_includes)
|
||||
|
||||
stylercdir = $(kde_datadir)/kstyle/themes
|
||||
stylerc_DATA = domino.themerc
|
||||
schemedir = $(kde_datadir)/kdisplay/color-schemes
|
||||
scheme_DATA = Domino.kcsrc
|
||||
|
||||
noinst_HEADERS = domino.h misc.h data.h
|
||||
|
||||
kde_style_LTLIBRARIES = domino.la
|
||||
domino_la_SOURCES = domino.cpp misc.cpp
|
||||
domino_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module $(KDE_RPATH)
|
||||
domino_la_LIBADD = $(LIB_KDEUI) $(LIB_KUTILS) $(LIB_QT) -lkdefx -lXrender -lXft $(LIB_KDECORE)
|
||||
domino_la_METASOURCES = AUTO
|
||||
|
||||
DISTCLEANFILES = $(domino_la_METASOURCES)
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,865 @@
|
||||
/* Domino widget style for KDE 3
|
||||
Copyright (C) 2006 Michael Lentner <michaell@gmx.net>
|
||||
|
||||
based on the KDE style "Plastik":
|
||||
Copyright (C) 2003 Sandro Giessl <ceebx@users.sourceforge.net>
|
||||
|
||||
based on the KDE style "dotNET":
|
||||
Copyright (C) 2001-2002, Chris Lee <clee@kde.org>
|
||||
Carsten Pfeiffer <pfeiffer@kde.org>
|
||||
Karol Szwed <gallium@kde.org>
|
||||
Drawing routines completely reimplemented from KDE3 HighColor, which was
|
||||
originally based on some stuff from the KDE2 HighColor.
|
||||
|
||||
based on drawing routines of the style "Keramik":
|
||||
Copyright (c) 2002 Malte Starostik <malte@kde.org>
|
||||
(c) 2002,2003 Maksim Orlovich <mo002j@mail.rochester.edu>
|
||||
based on the KDE3 HighColor Style
|
||||
Copyright (C) 2001-2002 Karol Szwed <gallium@kde.org>
|
||||
(C) 2001-2002 Fredrik Höglund <fredrik@kde.org>
|
||||
Drawing routines adapted from the KDE2 HCStyle,
|
||||
Copyright (C) 2000 Daniel M. Duley <mosfet@kde.org>
|
||||
(C) 2000 Dirk Mueller <mueller@kde.org>
|
||||
(C) 2001 Martijn Klingens <klingens@kde.org>
|
||||
Progressbar code based on KStyle,
|
||||
Copyright (C) 2001-2002 Karol Szwed <gallium@kde.org>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library 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
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __DOMINO_H
|
||||
#define __DOMINO_H
|
||||
|
||||
#include <kstyle.h>
|
||||
#include <qintcache.h>
|
||||
#include <ktoolbarbutton.h>
|
||||
#include "misc.h"
|
||||
#include "data.h"
|
||||
#include <qpixmapcache.h>
|
||||
|
||||
|
||||
// #include <X11/extensions/Xrender.h>
|
||||
#include <X11/Xft/Xft.h>
|
||||
class ButtonContour;
|
||||
class RubberWidget;
|
||||
class Rubber;
|
||||
|
||||
|
||||
enum ContourType
|
||||
{
|
||||
Contour_Sunken = 0,
|
||||
Contour_Raised = 1,
|
||||
Contour_Simple = 2
|
||||
};
|
||||
|
||||
enum ContourState
|
||||
{
|
||||
Contour_Default = 0,
|
||||
Contour_Pressed = 1,
|
||||
Contour_MouseOver = 2,
|
||||
Contour_DefaultButton = 3
|
||||
};
|
||||
|
||||
enum TextEffect
|
||||
{
|
||||
TextEffect_None = 0,
|
||||
TextEffect_OnlyButton = 1,
|
||||
TextEffect_Everywhere = 2
|
||||
};
|
||||
|
||||
struct DSurface {
|
||||
int numGradients;
|
||||
QColor g1Color1;
|
||||
QColor g1Color2;
|
||||
QColor g2Color1;
|
||||
QColor g2Color2;
|
||||
QColor background;
|
||||
int g1Top;
|
||||
int g1Bottom;
|
||||
int g2Top;
|
||||
int g2Bottom;
|
||||
};
|
||||
|
||||
|
||||
class DominoStyle : public KStyle
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
|
||||
DominoStyle();
|
||||
virtual ~DominoStyle();
|
||||
|
||||
enum PaletteTyp
|
||||
{
|
||||
Palette_Application,
|
||||
Palette_Parent,
|
||||
Palette_Widget
|
||||
};
|
||||
|
||||
void polish(QApplication* app );
|
||||
void polish(QWidget* widget );
|
||||
void polish( QPalette &p );
|
||||
void unPolish(QWidget* widget );
|
||||
|
||||
void drawKStylePrimitive(KStylePrimitive kpe,
|
||||
QPainter* p,
|
||||
const QWidget* widget,
|
||||
const QRect &r,
|
||||
const QColorGroup &cg,
|
||||
SFlags flags = Style_Default,
|
||||
const QStyleOption& = QStyleOption::Default ) const;
|
||||
|
||||
void drawPrimitive(PrimitiveElement pe,
|
||||
QPainter *p,
|
||||
const QRect &r,
|
||||
const QColorGroup &cg,
|
||||
SFlags flags = Style_Default,
|
||||
const QStyleOption &opt = QStyleOption::Default ) const;
|
||||
|
||||
void drawControl(ControlElement element,
|
||||
QPainter *p,
|
||||
const QWidget *widget,
|
||||
const QRect &r,
|
||||
const QColorGroup &cg,
|
||||
SFlags flags = Style_Default,
|
||||
const QStyleOption& = QStyleOption::Default ) const;
|
||||
|
||||
void drawControlMask( ControlElement, QPainter *, const QWidget *, const QRect &, const QStyleOption &) const;
|
||||
|
||||
void drawComplexControl(ComplexControl control,
|
||||
QPainter *p,
|
||||
const QWidget *widget,
|
||||
const QRect &r,
|
||||
const QColorGroup &cg,
|
||||
SFlags flags = Style_Default,
|
||||
SCFlags controls = SC_All,
|
||||
SCFlags active = SC_None,
|
||||
const QStyleOption& = QStyleOption::Default ) const;
|
||||
|
||||
int pixelMetric(PixelMetric m,
|
||||
const QWidget *widget = 0 ) const;
|
||||
|
||||
QRect subRect(SubRect r,
|
||||
const QWidget *widget ) const;
|
||||
|
||||
QRect querySubControlMetrics(ComplexControl control,
|
||||
const QWidget *widget,
|
||||
SubControl subcontrol,
|
||||
const QStyleOption &opt = QStyleOption::Default ) const;
|
||||
|
||||
QSize sizeFromContents(QStyle::ContentsType t,
|
||||
const QWidget *w,
|
||||
const QSize &s,
|
||||
const QStyleOption &o) const;
|
||||
|
||||
int styleHint(StyleHint, const QWidget * = 0,
|
||||
const QStyleOption & = QStyleOption::Default,
|
||||
QStyleHintReturn * = 0 ) const;
|
||||
|
||||
|
||||
QPixmap stylePixmap(StylePixmap stylepixmap, const QWidget* widget, const QStyleOption& opt) const;
|
||||
|
||||
void drawItem( QPainter *p, const QRect &r,
|
||||
int flags, const QColorGroup &g, bool enabled,
|
||||
const QPixmap *pixmap, const QString &text,
|
||||
int len = -1, const QColor *penColor = 0) const;
|
||||
|
||||
void dominoDrawItem( QPainter *p, const QRect &r,
|
||||
int flags, const QColorGroup &g, bool enabled,
|
||||
const QPixmap *pixmap, const QString &text,
|
||||
int len = -1, const QColor *penColor = 0, bool buttonTextEffect = 0 ) const;
|
||||
|
||||
void setDominoButtonPalette(QWidget* widget, PaletteTyp type);
|
||||
|
||||
virtual void drawFocusIndicator(QPainter *p,
|
||||
const QRect &r,
|
||||
int flags,
|
||||
const QColorGroup cg,
|
||||
bool /*enabled*/,
|
||||
const QPixmap* /*pixmap*/,
|
||||
const QString & text,
|
||||
int /*len = -1*/,
|
||||
const QColor& highlight = 0,
|
||||
bool drawLine = true,
|
||||
bool isButton = false) const;
|
||||
|
||||
QPixmap renderOutlineIcon(const QPixmap* icon) const;
|
||||
|
||||
void renderSurface(QPainter *p,
|
||||
const QRect &r,
|
||||
const QColor &backgroundColor,
|
||||
const QColor &buttonColor,
|
||||
const QColor &highlightColor,
|
||||
const uint flags = Draw_Left|Draw_Right|Draw_Top|Draw_Bottom|
|
||||
Round_UpperLeft|Round_UpperRight|Round_BottomLeft|Round_BottomRight|Is_Horizontal) const;
|
||||
|
||||
inline QWidget::BackgroundOrigin setPixmapOrigin(QWidget::BackgroundOrigin origin);
|
||||
|
||||
mutable Rubber* rubber;
|
||||
mutable QRect oldRubberRect;
|
||||
mutable bool viewPortPressed;
|
||||
mutable bool ignoreNextFocusRect;
|
||||
uint _argbRubberBandColor;
|
||||
mutable bool compositeManagerRunning;
|
||||
const QWidget* rubberViewPort;
|
||||
|
||||
protected:
|
||||
|
||||
enum RubberType
|
||||
{
|
||||
ArgbRubber = 1,
|
||||
LineRubber = 2,
|
||||
DistRubber = 3
|
||||
};
|
||||
RubberType rubberBandType;
|
||||
|
||||
enum TabPosition
|
||||
{
|
||||
First ,
|
||||
Middle,
|
||||
Last,
|
||||
Single
|
||||
};
|
||||
|
||||
struct TextEffectSettings {
|
||||
TextEffect mode;
|
||||
QColor color;
|
||||
QColor buttonColor;
|
||||
int opacity;
|
||||
int buttonOpacity;
|
||||
QPoint pos;
|
||||
QPoint buttonPos;
|
||||
};
|
||||
|
||||
struct GroupBoxSettings {
|
||||
bool tintBackground;
|
||||
int brightness;
|
||||
bool customColor;
|
||||
QColor color;
|
||||
};
|
||||
|
||||
struct FocusIndicatorSettings {
|
||||
QColor color;
|
||||
int opacity;
|
||||
QColor buttonColor;
|
||||
int buttonOpacity;
|
||||
bool drawUnderline;
|
||||
bool indicateFocus;
|
||||
};
|
||||
|
||||
|
||||
mutable TextEffectSettings textEffectSettings;
|
||||
GroupBoxSettings groupBoxSettings;
|
||||
FocusIndicatorSettings focusIndicatorSettings;
|
||||
|
||||
ButtonContour* buttonContour;
|
||||
|
||||
enum SurfaceFlags {
|
||||
Draw_Left = 0x00000001,
|
||||
Draw_Right = 0x00000002,
|
||||
Draw_Top = 0x00000004,
|
||||
Draw_Bottom = 0x00000008,
|
||||
Is_Horizontal = 0x00000200,
|
||||
Is_Highlight = 0x00000400,
|
||||
Is_Default = 0x00000800,
|
||||
Is_Disabled = 0x00001000,
|
||||
Round_UpperLeft = 0x00002000,
|
||||
Round_UpperRight = 0x00004000,
|
||||
Round_BottomLeft = 0x00008000,
|
||||
Round_BottomRight = 0x00010000,
|
||||
Rectangular_UpperLeft = 0x00000010,
|
||||
Rectangular_UpperRight = 0x10000020,
|
||||
Rectangular_BottomLeft = 0x00000040,
|
||||
Rectangular_BottomRight = 0x00000080,
|
||||
|
||||
Draw_AlphaBlend = 0x00020000,
|
||||
Is_ComboBox = 0x00080000,
|
||||
Is_Button = 0x00100000,
|
||||
Is_CheckItem = 0x00200000,
|
||||
Is_RadioButton = 0x00400000,
|
||||
Is_TabTop = 0x00000100,
|
||||
Is_TabBottom = 0x01000000,
|
||||
Is_ActiveTabTop = 0x00040000,
|
||||
Is_ActiveTabBottom = 0x00800000,
|
||||
Is_ScrollBarBtn = 0x02000000,
|
||||
Is_Header = 0x04000000,
|
||||
Is_ScrollBarGroove = 0x08000000,
|
||||
Is_Slider = 0x20000000,
|
||||
Is_Down = 0x40000000
|
||||
};
|
||||
|
||||
enum DominoStyleFlags {
|
||||
Domino_noCache = 0x80000000
|
||||
};
|
||||
|
||||
enum DominoPrimitiveElement {
|
||||
PE_ScrollBarSubLine2 = 0xf000001
|
||||
};
|
||||
|
||||
void renderContour(QPainter *p,
|
||||
const QRect &r,
|
||||
const QColor &backgroundColor,
|
||||
const QColor &contourColor,
|
||||
const uint flags = Draw_Left|Draw_Right|Draw_Top|Draw_Bottom|
|
||||
Round_UpperLeft|Round_UpperRight|Round_BottomLeft|Round_BottomRight) const;
|
||||
|
||||
void renderButtonShadow(QPainter *p, const QRect &r, const uint flags = Draw_Left|Draw_Right|Draw_Top|Draw_Bottom|
|
||||
Round_UpperLeft|Round_UpperRight|Round_BottomLeft|Round_BottomRight|Is_Horizontal) const;
|
||||
|
||||
QPixmap* renderLineEditShadow(QWidget* widget, QRect rect, QColor bg, uint flags, bool reverse);
|
||||
|
||||
inline void renderPixel(QPainter *p,
|
||||
const QPoint &pos,
|
||||
const int alpha,
|
||||
const QColor &color,
|
||||
const QColor &background = QColor(),
|
||||
bool fullAlphaBlend = true) const;
|
||||
|
||||
void renderButton(QPainter *p,
|
||||
const QRect &r,
|
||||
const QColorGroup &g,
|
||||
bool sunken = false,
|
||||
bool mouseOver = false,
|
||||
bool horizontal = true,
|
||||
bool enabled = true,
|
||||
bool khtmlMode = false) const;
|
||||
|
||||
void renderHeader(QPainter *p,
|
||||
const QRect &r,
|
||||
const QColorGroup &g,
|
||||
bool sunken = false,
|
||||
bool mouseOver = false,
|
||||
bool horizontal = true,
|
||||
bool enabled = true) const;
|
||||
|
||||
void renderGradient(QPainter *p,
|
||||
const QRect &r,
|
||||
const QColor &c1,
|
||||
const QColor &c2,
|
||||
bool horizontal = true) const;
|
||||
|
||||
void renderTab(QPainter *p,
|
||||
const QRect &r,
|
||||
const QColorGroup &g,
|
||||
bool mouseOver = false,
|
||||
const bool selected = false,
|
||||
const bool bottom = false,
|
||||
const TabPosition pos = Middle,
|
||||
const bool triangular = false,
|
||||
const bool cornerWidget = false,
|
||||
const bool konqTab = false) const;
|
||||
|
||||
DSurface btnSurface;
|
||||
DSurface tabTopSurface;
|
||||
DSurface activeTabTopSurface;
|
||||
DSurface tabBottomSurface;
|
||||
DSurface activeTabBottomSurface;
|
||||
DSurface scrollBarSurface;
|
||||
DSurface scrollBarGrooveSurface;
|
||||
DSurface headerSurface;
|
||||
DSurface checkItemSurface;
|
||||
|
||||
bool eventFilter(QObject *, QEvent *);
|
||||
|
||||
QString configMode;
|
||||
void removeCachedSbPix(const QColor &color) {
|
||||
QPixmapCache::remove("sHCap"+QString::number(color.pixel(), 16)+"1"+configMode);
|
||||
QPixmapCache::remove("sHCap"+QString::number(color.pixel(), 16)+"0"+configMode);
|
||||
QPixmapCache::remove("sVCap"+QString::number(color.pixel(), 16)+"1"+configMode);
|
||||
QPixmapCache::remove("sVCap"+QString::number(color.pixel(), 16)+"0"+configMode);
|
||||
QPixmapCache::remove(QString::number(color.pixel(), 16)+"sh"+configMode);
|
||||
QPixmapCache::remove(QString::number(color.pixel(), 16)+"sv"+configMode);
|
||||
QPixmapCache::remove(QString::number(color.pixel(), 16)+"ah"+configMode);
|
||||
QPixmapCache::remove(QString::number(color.pixel(), 16)+"av"+configMode);
|
||||
};
|
||||
|
||||
QColor getGroupBoxColor(const QWidget* w) const;
|
||||
QPixmap* createCheckMark(const QColor color) const;
|
||||
QPixmap* createRadioIndicator(const QColor color) const;
|
||||
QPixmap disableIcon(const QPixmap* icon) const;;
|
||||
|
||||
QWidget* hoverWidget;
|
||||
|
||||
QPixmap* checkMark;
|
||||
QPixmap* radioIndicator;
|
||||
QPixmap* popupFrame;
|
||||
QPixmap* border1;
|
||||
mutable bool alphaButtonMode;
|
||||
bool KApplicationMode;
|
||||
QColor _checkMarkColor;
|
||||
|
||||
QMap<const QGroupBox*, const QPixmap*> groupBoxPixmaps;
|
||||
uint preMultiplyColor(const uint &c) const;
|
||||
QToolButton* popupButton;
|
||||
QTimer* popupTimer;
|
||||
QPoint popupMousePressPos;
|
||||
|
||||
protected slots:
|
||||
void khtmlWidgetDestroyed(QObject* w);
|
||||
void groupBoxDestroyed(QObject* w);
|
||||
|
||||
//Animation slots.
|
||||
void updateProgressPos();
|
||||
void updateScrollPos(); // smoothscroll
|
||||
|
||||
void progressBarDestroyed(QObject* bar);
|
||||
inline QColor dGetColor(const QColor &color, const int value) const;
|
||||
inline QColor lightenColor(const QColor &color, const int value) const;
|
||||
inline QColor darkenColor(const QColor &color, const int value) const;
|
||||
void updateTabWidgetFrame();
|
||||
void spinBoxValueChanged(int);
|
||||
void toolPopupPressed();
|
||||
void popupToolMenu();
|
||||
void toolPopupReleased();
|
||||
|
||||
private:
|
||||
// Disable copy constructor and = operator
|
||||
DominoStyle( const DominoStyle & );
|
||||
DominoStyle& operator=( const DominoStyle & );
|
||||
|
||||
bool kickerMode;
|
||||
bool konquerorMode;
|
||||
bool konsoleMode;
|
||||
|
||||
mutable bool flatMode;
|
||||
bool sideRepaint;
|
||||
bool _animateProgressBar;
|
||||
bool _drawTriangularExpander;
|
||||
bool _customCheckMarkColor;
|
||||
bool _smoothScrolling;
|
||||
QColor _toolTipColor;
|
||||
int _buttonHeightAdjustment;
|
||||
bool _customPopupMenuColor;
|
||||
QColor _popupMenuColor;
|
||||
bool _customSelMenuItemColor;
|
||||
QColor _selMenuItemColor;
|
||||
bool _drawPopupMenuGradient;
|
||||
bool _indentPopupMenuItems;
|
||||
bool _centerTabs;
|
||||
bool _wheelSwitchesTabs;
|
||||
bool _customSliderHandleContourColor;
|
||||
bool _drawButtonSunkenShadow;
|
||||
bool _toolBtnAsBtn;
|
||||
bool _highlightToolBtnIcon;
|
||||
|
||||
bool konqTab;
|
||||
int minTabLength;
|
||||
bool macStyleBar;
|
||||
int konqTabBarContrast;
|
||||
bool spinWidgetDown;
|
||||
|
||||
mutable int sliderlen;
|
||||
|
||||
// smoothscrolling
|
||||
int scrollDistance;
|
||||
bool scrollVertical;
|
||||
QScrollView* scrollWidget;
|
||||
QTimer* scrollTimer;
|
||||
|
||||
bool hoveredToolBoxTab;
|
||||
|
||||
// track khtml widgets.
|
||||
QMap<const QWidget*,bool> khtmlWidgets;
|
||||
|
||||
//Animation support.
|
||||
QMap<QWidget*, int> progAnimWidgets;
|
||||
|
||||
// pixmap cache.
|
||||
enum CacheEntryType {
|
||||
cSurface,
|
||||
cGradientTile,
|
||||
cAlphaDot
|
||||
};
|
||||
|
||||
struct CacheEntry
|
||||
{
|
||||
CacheEntryType type;
|
||||
int width;
|
||||
int height;
|
||||
QRgb c1Rgb;
|
||||
QRgb c2Rgb;
|
||||
bool horizontal;
|
||||
|
||||
QPixmap* pixmap;
|
||||
|
||||
CacheEntry(CacheEntryType t, int w, int h, QRgb c1, QRgb c2 = 0,
|
||||
bool hor = false, QPixmap* p = 0 ):
|
||||
type(t), width(w), height(h), c1Rgb(c1), c2Rgb(c2), horizontal(hor), pixmap(p)
|
||||
{}
|
||||
|
||||
~CacheEntry()
|
||||
{
|
||||
delete pixmap;
|
||||
}
|
||||
|
||||
int key()
|
||||
{
|
||||
// create an int key from the properties which is used to refer to entries in the QIntCache.
|
||||
// the result may not be 100% correct as we don't have so much space in one integer -- use
|
||||
// == operator after find to make sure we got the right one. :)
|
||||
return horizontal ^ (type<<1) ^ (width<<5) ^ (height<<10) ^ (c1Rgb<<19) ^ (c2Rgb<<22);
|
||||
}
|
||||
|
||||
bool operator == (const CacheEntry& other)
|
||||
{
|
||||
bool match = (type == other.type) &&
|
||||
(width == other.width) &&
|
||||
(height == other.height) &&
|
||||
(c1Rgb == other.c1Rgb) &&
|
||||
(c1Rgb == other.c1Rgb) &&
|
||||
(horizontal = other.horizontal);
|
||||
// if(!match) {
|
||||
// qDebug("operator ==: CacheEntries don't match!");
|
||||
// qDebug("width: %d\t\tother width: %d", width, other.width);
|
||||
// qDebug("height: %d\t\tother height: %d", height, other.height);
|
||||
// qDebug("fgRgb: %d\t\tother fgRgb: %d", fgRgb, other.fgRgb);
|
||||
// qDebug("bgRgb: %d\t\tother bgRgb: %d", bgRgb, other.bgRgb);
|
||||
// qDebug("surfaceFlags: %d\t\tother surfaceFlags: %d", surfaceFlags, other.surfaceFlags);
|
||||
// }
|
||||
return match;
|
||||
}
|
||||
};
|
||||
QIntCache<CacheEntry> *pixmapCache;
|
||||
|
||||
// For KPE_ListViewBranch
|
||||
mutable QBitmap *verticalLine;
|
||||
mutable QBitmap *horizontalLine;
|
||||
|
||||
// For progress bar animation
|
||||
QTimer *animationTimer;
|
||||
|
||||
void renderTabSeparator(QPainter *p, const QRect &r, const QColor buttonColor, bool tabAbove) const;
|
||||
void renderGroupBox(QObject *obj, QEvent *ev);
|
||||
};
|
||||
|
||||
|
||||
|
||||
class ButtonContour
|
||||
{
|
||||
friend class DominoStyleConfig;
|
||||
friend class DominoStyle;
|
||||
|
||||
public:
|
||||
ButtonContour();
|
||||
virtual ~ButtonContour();
|
||||
|
||||
static const int num_states = 4;
|
||||
static const int num_types = 3;
|
||||
ContourType defaultType;
|
||||
ContourType type;
|
||||
ContourState state;
|
||||
bool alpha_mode;
|
||||
bool drawButtonSunkenShadow;
|
||||
int created[num_types][num_states];
|
||||
int shadowCreated[num_states];
|
||||
|
||||
QColor contour[num_states];
|
||||
uint c1[num_types][num_states]; // top shadow
|
||||
uint c2[num_types][num_states]; // outer ring
|
||||
uint c3[num_types][num_states]; // inner ring
|
||||
uint c4[num_types][num_states]; // bottom first shadow line
|
||||
uint c5[num_types][num_states]; // bottom second shadow line
|
||||
uint c6[num_types][num_states]; // first left shadow line
|
||||
QPixmap* btnEdges[num_types][num_states];
|
||||
QPixmap* btnVLines[num_types][num_states];
|
||||
QPixmap* btnHLines[num_types][num_states];
|
||||
|
||||
// for sunken type and sunken flat buttons
|
||||
QPixmap* buttonShadowRectangular[num_states];
|
||||
QPixmap* buttonShadowRound [num_states];
|
||||
QPixmap* buttonShadowHlines[num_states];
|
||||
QPixmap* buttonShadowVlines[num_states];
|
||||
|
||||
|
||||
bool alphaMode() {
|
||||
return alpha_mode;
|
||||
}
|
||||
uint color1() {
|
||||
return c1[type][state];
|
||||
}
|
||||
uint color2() {
|
||||
return c2[type][state];
|
||||
}
|
||||
uint color3() {
|
||||
return c3[type][state];
|
||||
}
|
||||
uint color4() {
|
||||
return c4[type][state];
|
||||
}
|
||||
uint color5() {
|
||||
return c5[type][state];
|
||||
}
|
||||
uint color6() {
|
||||
return c6[type][state];
|
||||
}
|
||||
QColor contourColor(int t) {
|
||||
return contour[t];
|
||||
}
|
||||
QPixmap* buttonEdges() {
|
||||
return btnEdges[type][state];
|
||||
}
|
||||
QPixmap* buttonVLines() {
|
||||
return btnVLines[type][state];
|
||||
}
|
||||
QPixmap* buttonHLines() {
|
||||
return btnHLines[type][state];
|
||||
}
|
||||
void setType(ContourType t = Contour_Sunken) {
|
||||
type = t;
|
||||
createPixmaps(type, state);
|
||||
}
|
||||
void setState(ContourState s = Contour_Default) {
|
||||
state = s;
|
||||
if(s == Contour_Pressed && type != Contour_Sunken)
|
||||
type = Contour_Simple;
|
||||
createPixmaps(type, state);
|
||||
}
|
||||
void setContour(ContourType t = Contour_Sunken, ContourState s = Contour_Default) {
|
||||
type = t;
|
||||
state = s;
|
||||
createPixmaps(type, state);
|
||||
}
|
||||
void setColor(ContourState s, QColor color) {
|
||||
contour[s] = color;
|
||||
|
||||
uint c2_tmp;
|
||||
uint c3_tmp;
|
||||
if(defaultType == Contour_Sunken /*|| defaultType == Contour_Simple*/) {
|
||||
c2_tmp = qRgba(contour[s].red(), contour[s].green(), contour[s].blue(), 218);
|
||||
c3_tmp = qRgba(contour[s].red(), contour[s].green(), contour[s].blue(), 35);
|
||||
}
|
||||
else {
|
||||
c2_tmp = qRgba(contour[s].red(), contour[s].green(), contour[s].blue(), 203);
|
||||
|
||||
QColor whiteColor(qRgba(Qt::white.red(), Qt::white.green(), Qt::white.blue(), 34));
|
||||
QColor blackColor(qRgba(contour[s].red(), contour[s].green(), contour[s].blue(), 35));
|
||||
|
||||
c3_tmp = blendColors(whiteColor, blackColor).rgb();
|
||||
}
|
||||
|
||||
for(int t = 0; t < num_types; t++) {
|
||||
c2[t][s] = c2_tmp; // outer ring
|
||||
c3[t][s] = c3_tmp; // inner ring
|
||||
}
|
||||
}
|
||||
void setDefaultType(ContourType t = Contour_Raised, bool create = true) {
|
||||
defaultType = t;
|
||||
type = t;
|
||||
if(create)
|
||||
createPixmaps(type, state);
|
||||
}
|
||||
void setAlphaMode() {
|
||||
alpha_mode = true;
|
||||
}
|
||||
void reset() {
|
||||
type = defaultType;
|
||||
state = Contour_Default;
|
||||
alpha_mode = false;
|
||||
}
|
||||
|
||||
QPixmap* shadowRound() {
|
||||
return buttonShadowRound[state];
|
||||
}
|
||||
QPixmap* shadowRectangular() {
|
||||
return buttonShadowRectangular[state];
|
||||
}
|
||||
QPixmap* shadowHLines() {
|
||||
return buttonShadowHlines[state];
|
||||
}
|
||||
QPixmap* shadowVLines() {
|
||||
return buttonShadowVlines[state];
|
||||
}
|
||||
|
||||
void createPixmaps(ContourType t = Contour_Sunken, ContourState s = Contour_Default) {
|
||||
type = t;
|
||||
state = s;
|
||||
|
||||
|
||||
// for pressed sunken buttons + pressed KMultiTabbarTabs
|
||||
if(drawButtonSunkenShadow && !shadowCreated[state]) {
|
||||
|
||||
QColor shadowColor = alphaBlendColors(Qt::black, contour[state], 120);
|
||||
buttonShadowRectangular[state] = new QPixmap(tintImage(qembed_findImage("btnPressedShadowRectangular"), shadowColor));
|
||||
buttonShadowRound[state] = new QPixmap(tintImage(qembed_findImage("btnPressedShadowRound"), shadowColor));
|
||||
buttonShadowHlines[state] = new QPixmap(tintImage(qembed_findImage("btnPressedShadowHLines"), shadowColor));
|
||||
buttonShadowVlines[state] = new QPixmap(tintImage(qembed_findImage("btnPressedShadowVLines"), shadowColor));
|
||||
shadowCreated[state] = 1;
|
||||
}
|
||||
|
||||
|
||||
if(created[type][state])
|
||||
return;
|
||||
|
||||
QImage btnVLines_img;
|
||||
QImage btnHLines_img;
|
||||
QImage btnShadow_img;
|
||||
|
||||
switch(type) {
|
||||
case Contour_Simple: // now pressed raised!
|
||||
btnShadow_img = qembed_findImage("btnRSPr"); // the inner white ring
|
||||
blend(tintImage(qembed_findImage("btn"), contour[state]), btnShadow_img, btnShadow_img);
|
||||
btnHLines_img = qembed_findImage("btnHRSPr");
|
||||
blend(tintImage(qembed_findImage("btnH"), contour[state]), btnHLines_img, btnHLines_img);
|
||||
btnVLines_img = qembed_findImage("btnVRSPr");
|
||||
blend(tintImage(qembed_findImage("btnV"), contour[state]), btnVLines_img, btnVLines_img);
|
||||
break;
|
||||
case Contour_Sunken:
|
||||
btnShadow_img = qembed_findImage("btnSSh");
|
||||
blend(tintImage(qembed_findImage("btn"), contour[state]), btnShadow_img, btnShadow_img);
|
||||
btnHLines_img = qembed_findImage("btnHSSh");
|
||||
blend(tintImage(qembed_findImage("btnH"), contour[state]), btnHLines_img, btnHLines_img);
|
||||
btnVLines_img = qembed_findImage("btnVSSh");
|
||||
blend(tintImage(qembed_findImage("btnV"), contour[state]), btnVLines_img, btnVLines_img);
|
||||
break;
|
||||
case Contour_Raised:
|
||||
btnShadow_img = qembed_findImage("btn17RaisedShadow3"); // the inner white ring + outer shadow
|
||||
blend(tintImage(qembed_findImage("btn"), contour[state]), btnShadow_img, btnShadow_img);
|
||||
btnHLines_img = qembed_findImage("btnHRSh");
|
||||
blend(tintImage(qembed_findImage("btnH"), contour[state]), btnHLines_img, btnHLines_img);
|
||||
btnVLines_img = qembed_findImage("btnVRSh");
|
||||
blend(tintImage(qembed_findImage("btnV"), contour[state]), btnVLines_img, btnVLines_img);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
btnEdges[type][state] = new QPixmap(btnShadow_img);
|
||||
btnVLines[type][state] = new QPixmap(btnVLines_img);
|
||||
btnHLines[type][state] = new QPixmap(btnHLines_img);
|
||||
created[type][state] = 1;
|
||||
}
|
||||
};
|
||||
|
||||
class RubberWidget : public QWidget
|
||||
{
|
||||
public:
|
||||
RubberWidget(Window window);
|
||||
~RubberWidget();
|
||||
};
|
||||
|
||||
class Rubber
|
||||
{
|
||||
friend class DominoStyle;
|
||||
|
||||
public:
|
||||
Rubber(uint col);
|
||||
~Rubber();
|
||||
|
||||
Visual* visual;
|
||||
Colormap colormap;
|
||||
XSetWindowAttributes wsa;
|
||||
Window window;
|
||||
|
||||
RubberWidget* parent;
|
||||
RubberWidget* rubber;
|
||||
QRegion mask;
|
||||
uint color;
|
||||
|
||||
void destroy() {
|
||||
if(parent) {
|
||||
delete rubber;
|
||||
delete parent;
|
||||
window = 0;
|
||||
parent = 0;
|
||||
rubber = 0;
|
||||
}
|
||||
}
|
||||
void create(QRect& r, QRegion& mask);
|
||||
void updateMask(QRegion& mask);
|
||||
};
|
||||
|
||||
|
||||
// DominoXXX classes to access protected (or private...) members
|
||||
class DominoQGroupBox : public QGroupBox
|
||||
{
|
||||
friend class DominoStyle;
|
||||
public:
|
||||
DominoQGroupBox( QWidget* parent=0, const char* name=0 )
|
||||
: QGroupBox( parent, name ) {}
|
||||
};
|
||||
|
||||
class DominoQWidget : public QWidget
|
||||
{
|
||||
friend class DominoStyleConfig;
|
||||
friend class DominoStyle;
|
||||
public:
|
||||
DominoQWidget( QWidget* parent=0, const char* name=0 )
|
||||
: QWidget( parent, name ) {}
|
||||
|
||||
};
|
||||
|
||||
class DominoQFrame : public QFrame
|
||||
{
|
||||
friend class DominoStyle;
|
||||
public:
|
||||
DominoQFrame( QFrame* parent=0, const char* name=0 )
|
||||
: QFrame( parent, name ) {}
|
||||
};
|
||||
|
||||
// QWhatsThis
|
||||
class DominoQWhatsThat : public QWidget
|
||||
{
|
||||
friend class DominoStyle;
|
||||
public:
|
||||
DominoQWhatsThat(): QWidget() {}
|
||||
private:
|
||||
QString text;
|
||||
};
|
||||
|
||||
class DominoKToolBarButton : public KToolBarButton
|
||||
{
|
||||
friend class DominoStyle;
|
||||
public:
|
||||
DominoKToolBarButton(): KToolBarButton() {}
|
||||
};
|
||||
|
||||
class DominoQListBoxItem : public QListBoxItem
|
||||
{
|
||||
friend class DominoStyle;
|
||||
public:
|
||||
DominoQListBoxItem(): QListBoxItem() {}
|
||||
};
|
||||
|
||||
class DominoQTabWidget : public QTabWidget
|
||||
{
|
||||
friend class DominoStyleConfig;
|
||||
friend class DominoStyle;
|
||||
public:
|
||||
DominoQTabWidget( QWidget* parent=0, const char* name=0 )
|
||||
: QTabWidget( parent, name ) {}
|
||||
};
|
||||
|
||||
class DominoQSpinBox : public QSpinBox
|
||||
{
|
||||
friend class DominoStyle;
|
||||
public:
|
||||
DominoQSpinBox( QFrame* parent=0, const char* name=0 )
|
||||
: QSpinBox( parent, name ) {}
|
||||
};
|
||||
|
||||
class DominoQPixmap : public QPixmap
|
||||
{
|
||||
friend class DominoStyle;
|
||||
public:
|
||||
DominoQPixmap( int w, int h, int depth = -1) : QPixmap(w, h, depth) {}
|
||||
};
|
||||
|
||||
class DominoQButton : public QButton
|
||||
{
|
||||
friend class DominoStyle;
|
||||
public:
|
||||
DominoQButton(): QButton() {}
|
||||
};
|
||||
|
||||
#endif // __DOMINO_H
|
@ -0,0 +1,7 @@
|
||||
[Misc]
|
||||
Name=Domino
|
||||
Comment=A style with customizable color gradients
|
||||
Comment[de]=Ein Stil mit anpassbaren Farbverläufen
|
||||
ConfigPage=kstyle_domino_config
|
||||
[KDE]
|
||||
WidgetStyle=Domino
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,173 @@
|
||||
|
||||
|
||||
/*
|
||||
* Copyright 2003, Sandro Giessl <ceebx@users.sourceforge.net>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This library 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
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public License
|
||||
* along with this library; see the file COPYING.LIB. If not, write to
|
||||
* the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include <qcolor.h>
|
||||
#include "misc.h"
|
||||
#include <qimage.h>
|
||||
#include <qpixmap.h>
|
||||
#include <endian.h>
|
||||
|
||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
#undef WORDS_BIGENDIAN
|
||||
#define WORDS_LITTLEENDIAN 1
|
||||
#endif
|
||||
#if __BYTE_ORDER == __BIG_ENDIAN
|
||||
#undef WORDS_LITTLEENDIAN
|
||||
#define WORDS_BIGENDIAN 1
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
QColor alphaBlendColors(const QColor &bgColor, const QColor &fgColor, const int a)
|
||||
{
|
||||
QRgb rgb = bgColor.rgb();
|
||||
QRgb rgb_b = fgColor.rgb();
|
||||
uint alpha;
|
||||
if(a > 255) alpha = 255;
|
||||
else if(a < 0) alpha = 0;
|
||||
else alpha = a;
|
||||
uint inv_alpha = 255 - alpha;
|
||||
|
||||
return QColor((qRed(rgb_b)*inv_alpha + qRed(rgb)*alpha)>>8,
|
||||
(qGreen(rgb_b)*inv_alpha + qGreen(rgb)*alpha)>>8,
|
||||
(qBlue(rgb_b)*inv_alpha + qBlue(rgb)*alpha)>>8 );
|
||||
}
|
||||
|
||||
QColor blendColors(const QColor &bgColor, const QColor &fgColor)
|
||||
{
|
||||
|
||||
uint fg_r = fgColor.red();
|
||||
uint fg_g = fgColor.green();
|
||||
uint fg_b = fgColor.blue();
|
||||
uint fg_a = qAlpha(fgColor.rgb());
|
||||
|
||||
uint bg_r = bgColor.red();
|
||||
uint bg_g = bgColor.green();
|
||||
uint bg_b = bgColor.blue();
|
||||
uint bg_a = qAlpha(bgColor.rgb());
|
||||
|
||||
uint ac = 65025 - (255 - fg_a) * (255 - bg_a);
|
||||
uint res_r = ((255 - fg_a) * bg_r * bg_a + fg_a * fg_r * 255 + 127) / ac;
|
||||
uint res_g = ((255 - fg_a) * bg_g * bg_a + fg_a * fg_g * 255 + 127) / ac;
|
||||
uint res_b = ((255 - fg_a) * bg_b * bg_a + fg_a * fg_b * 255 + 127) / ac;
|
||||
uint res_a = (ac+127)/255;
|
||||
|
||||
return QColor(qRgba(res_r,res_g, res_b, res_a ));
|
||||
}
|
||||
|
||||
QImage tintImage(const QImage &img, const QColor &tintColor) {
|
||||
|
||||
QImage *result = new QImage(img.width(), img.height(), 32, 0, QImage::IgnoreEndian);
|
||||
result->setAlphaBuffer( true );
|
||||
register uint *data = (unsigned int*) img.bits();
|
||||
register uint *resultData = (unsigned int*) result->bits();
|
||||
register uint total = img.width()*img.height();
|
||||
for ( uint current = 0 ; current < total ; ++current ) {
|
||||
resultData[ current ] = qRgba( tintColor.red(), tintColor.green(), tintColor.blue(), qAlpha( data[ current ] ));
|
||||
}
|
||||
return *result;
|
||||
}
|
||||
|
||||
QImage setImageOpacity(const QImage &img, const uint &p) {
|
||||
QImage *result = new QImage(img.width(), img.height(), 32, 0, QImage::IgnoreEndian);
|
||||
result->setAlphaBuffer( true );
|
||||
register uint *data = (unsigned int*) img.bits();
|
||||
register uint *resultData = (unsigned int*) result->bits();
|
||||
register uint alpha;
|
||||
register uint total = img.width()*img.height();
|
||||
for ( uint current = 0 ; current < total ; ++current ) {
|
||||
alpha = qAlpha( data[ current ] ) * p / 100;
|
||||
resultData[ current ] = qRgba( qRed( data[ current ] ), qGreen( data[ current ] ), qBlue( data[ current ] ), alpha );
|
||||
}
|
||||
return *result;
|
||||
}
|
||||
|
||||
bool blend( const QImage & upper, const QImage & lower, QImage & output)
|
||||
// adopted from kimageeffect::blend - that is not endian safe and cannot handle complex alpha combinations...
|
||||
{
|
||||
if
|
||||
(
|
||||
upper.width() > lower.width() ||
|
||||
upper.height() > lower.height() ||
|
||||
upper.depth() != 32 ||
|
||||
lower.depth() != 32
|
||||
)
|
||||
return false;
|
||||
|
||||
output = lower.copy();
|
||||
|
||||
uchar *i, *o;
|
||||
register uint a, ab, ac;
|
||||
register uint col;
|
||||
register uint w = upper.width();
|
||||
int row(upper.height() - 1);
|
||||
|
||||
do
|
||||
{
|
||||
i = upper.scanLine(row);
|
||||
o = output.scanLine(row);
|
||||
|
||||
col = w << 2;
|
||||
|
||||
--col;
|
||||
|
||||
do
|
||||
{
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
while (!(a = i[col-3]) && (col != 3))
|
||||
#else
|
||||
while (!(a = i[col]) && (col != 3))
|
||||
#endif
|
||||
{
|
||||
--col; --col; --col; --col;
|
||||
}
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
if ((ab = o[col-3]))
|
||||
#else
|
||||
if ((ab = o[col]))
|
||||
#endif
|
||||
{
|
||||
ac = 65025 - (255 - a) * (255 - ab);
|
||||
#ifndef WORDS_BIGENDIAN
|
||||
o[col]= (ac+127)/255;
|
||||
--col;
|
||||
#endif
|
||||
o[col] = ((255 - a) * o[col] * ab + a * i[col] * 255 + 127) / ac;
|
||||
--col;
|
||||
o[col] = ((255 - a) * o[col] * ab + a * i[col] * 255 + 127) / ac;
|
||||
--col;
|
||||
o[col] = ((255 - a) * o[col] * ab + a * i[col] * 255 + 127) / ac;
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
--col;
|
||||
o[col]= (ac+127)/255;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
o[col] = i[col]; --col;
|
||||
o[col] = i[col]; --col;
|
||||
o[col] = i[col]; --col;
|
||||
o[col] = i[col];
|
||||
}
|
||||
} while (col--);
|
||||
} while (row--);
|
||||
return true;
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
|
||||
/*
|
||||
* Copyright 2003, Sandro Giessl <ceebx@users.sourceforge.net>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This library 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
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public License
|
||||
* along with this library; see the file COPYING.LIB. If not, write to
|
||||
* the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef __MISC_H
|
||||
#define __MISC_H
|
||||
|
||||
QColor blendColors(const QColor &backgroundColor, const QColor &foregroundColor);
|
||||
QColor alphaBlendColors(const QColor &backgroundColor, const QColor &foregroundColor, const int alpha);
|
||||
QImage tintImage(const QImage &img, const QColor &tintColor);
|
||||
QImage setImageOpacity(const QImage &img, const uint &p);
|
||||
bool blend( const QImage & upper, const QImage & lower, QImage & output);
|
||||
#endif // __MISC_H
|
@ -0,0 +1,8 @@
|
||||
INCLUDES = $(all_includes) -I/usr/include/freetype2
|
||||
|
||||
noinst_HEADERS = dominoconf.h
|
||||
kde_module_LTLIBRARIES = kstyle_domino_config.la
|
||||
kstyle_domino_config_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
|
||||
kstyle_domino_config_la_LIBADD = $(LIB_KDEUI) ../domino/domino.la $(LIB_QT) $(LIB_KDECORE) -lkdefx $(LIB_KIO)
|
||||
kstyle_domino_config_la_SOURCES = dominoconf.cpp
|
||||
kstyle_domino_config_la_METASOURCES = AUTO
|
@ -0,0 +1,73 @@
|
||||
/*
|
||||
Copyright (C) 2006 Michael Lentner <michaell@gmx.net>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library 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
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _QEMBED_Config
|
||||
#define _QEMBED_Config
|
||||
#include <qimage.h>
|
||||
#include <qdict.h>
|
||||
static const QRgb tabIndicatorArrow_data[] = {
|
||||
0x0,0x0,0x0,0x10000000,0x4e000000,0x10000000,0x0,0x0,0x0,0x0,0x0,0x18000000,0x5f000000,0x66000000,
|
||||
0x5f000000,0x18000000,0x0,0x0,0x0,0x21000000,0x63000000,0x66000000,0x66000000,0x66000000,0x63000000,0x20000000,0x0,0x28000000,
|
||||
0x62000000,0x63000000,0x66000000,0x66000000,0x66000000,0x63000000,0x62000000,0x27000000,0x0,0x0,0x0,0x60000000,0x66000000,0x60000000,
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x60000000,0x66000000,0x60000000,0x0,0x0,0x0,0x0,0x0,
|
||||
0x0,0x61000000,0x66000000,0x61000000,0x0,0x0,0x0,0x0,0x0,0x0,0x61000000,0x66000000,0x61000000,0x0,
|
||||
0x0,0x0,0x0,0x0,0x0,0x62000000,0x66000000,0x62000000,0x0,0x0,0x0
|
||||
};
|
||||
|
||||
/* Generated by qembed */
|
||||
static struct ConfigEmbedImage {
|
||||
int width, height, depth;
|
||||
const unsigned char *data;
|
||||
int numColors;
|
||||
const QRgb *colorTable;
|
||||
bool alpha;
|
||||
const char *name;
|
||||
} config_embed_image_vec[] = {
|
||||
{ 9, 9, 32, (const unsigned char*)tabIndicatorArrow_data, 0, 0, TRUE, "tabIndicatorArrow" },
|
||||
{ 0, 0, 0, 0, 0, 0, 0, 0 }
|
||||
};
|
||||
|
||||
static const QImage& config_findImage( const QString& name )
|
||||
{
|
||||
static QDict<QImage> dict;
|
||||
QImage* img = dict.find( name );
|
||||
if ( !img ) {
|
||||
for ( int i = 0; config_embed_image_vec[i].data; i++ ) {
|
||||
if ( strcmp(config_embed_image_vec[i].name, name.latin1()) == 0 ) {
|
||||
img = new QImage((uchar*)config_embed_image_vec[i].data,
|
||||
config_embed_image_vec[i].width,
|
||||
config_embed_image_vec[i].height,
|
||||
config_embed_image_vec[i].depth,
|
||||
(QRgb*)config_embed_image_vec[i].colorTable,
|
||||
config_embed_image_vec[i].numColors,
|
||||
QImage::BigEndian );
|
||||
if ( config_embed_image_vec[i].alpha )
|
||||
img->setAlphaBuffer( TRUE );
|
||||
dict.insert( name, img );
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ( !img ) {
|
||||
static QImage dummy;
|
||||
return dummy;
|
||||
}
|
||||
}
|
||||
return *img;
|
||||
}
|
||||
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,730 @@
|
||||
/*
|
||||
Copyright (C) 2006 Michael Lentner <michaell@gmx.net>
|
||||
|
||||
based on the Plastik configuration dialog:
|
||||
Copyright (C) 2003 Sandro Giessl <ceebx@users.sourceforge.net>
|
||||
|
||||
based on the Keramik configuration dialog:
|
||||
Copyright (c) 2003 Maksim Orlovich <maksim.orlovich@kdemail.net>
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
|
||||
#ifndef DOMINO_CONF_H
|
||||
#define DOMINO_CONF_H
|
||||
|
||||
#include <../domino/domino.h>
|
||||
#include <qlineedit.h>
|
||||
|
||||
|
||||
class DSpinBox;
|
||||
class PreviewCheckBox;
|
||||
class PreviewRadioButton;
|
||||
class PreviewTabBar;
|
||||
class IndicatorPrevButton;
|
||||
class IndicatorPrevWidget;
|
||||
class DominoKTabWidget;
|
||||
class TextEffectPrevWidget;
|
||||
class TextEffectPrevButton;
|
||||
class DominoKTabPrevWidget;
|
||||
class TabWidgetIndicator;
|
||||
class DominoStyleConfig;
|
||||
|
||||
DominoStyleConfig* styleConfig;
|
||||
|
||||
struct DSurface;
|
||||
|
||||
class SchemeEntry {
|
||||
public:
|
||||
SchemeEntry(const QString &_fileName, const QString &_schemeName, const bool &_deletable)
|
||||
: fileName(_fileName), schemeName(_schemeName), deletable(_deletable) { }
|
||||
|
||||
QString getSchemeName() const { return schemeName; }
|
||||
QString getFileName() const { return fileName; }
|
||||
bool isDeletable() const { return deletable; }
|
||||
|
||||
private:
|
||||
QString fileName;
|
||||
QString schemeName;
|
||||
bool deletable;
|
||||
};
|
||||
|
||||
class SchemeList : public QPtrList<SchemeEntry> {
|
||||
public:
|
||||
SchemeList()
|
||||
{ setAutoDelete(true); }
|
||||
};
|
||||
|
||||
class DominoStyleConfig: public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
DominoStyleConfig(QWidget* parent);
|
||||
~DominoStyleConfig();
|
||||
|
||||
QFrame* frame3;
|
||||
QListBox* listBox1;
|
||||
QHeader* header1;
|
||||
|
||||
DominoKTabWidget* tabWidget2;
|
||||
QWidget* tab1;
|
||||
QGroupBox* groupBox22;
|
||||
QLabel* textLabel1_2;
|
||||
KColorButton* kColorButton27_2;
|
||||
QGroupBox* groupBox10_2_2_2;
|
||||
QPushButton* pushButton16;
|
||||
QGroupBox* groupBox8_2_2_2;
|
||||
QLabel* textLabel4_3_2_2_2;
|
||||
DSpinBox* spinBox2_2_2_2_2;
|
||||
QLabel* textLabel2_2_2_2_2;
|
||||
KColorButton* kColorButton1_2_2_2_2;
|
||||
QLabel* textLabel3_3_2_2_2;
|
||||
DSpinBox* spinBox1_2_2_2_2;
|
||||
QLabel* textLabel1_4_2_2_2;
|
||||
KColorButton* kColorButton2_4_2_2_2;
|
||||
QGroupBox* groupBox9_2_2_2;
|
||||
QLabel* textLabel4_4_2_2_2;
|
||||
DSpinBox* spinBox2_3_2_2_2;
|
||||
QLabel* textLabel3_4_2_2_2;
|
||||
DSpinBox* spinBox1_3_2_2_2;
|
||||
KColorButton* kColorButton1_3_2_2_2;
|
||||
KColorButton* kColorButton2_5_2_2_2;
|
||||
QLabel* textLabel1_5_2_2_2;
|
||||
QLabel* textLabel2_3_2_2_2;
|
||||
QLabel* textLabel7_4;
|
||||
QComboBox* comboBox3_4;
|
||||
QPushButton* pushButton4_4;
|
||||
QWidget* tab2;
|
||||
QGroupBox* groupBox22_2;
|
||||
QGroupBox* groupBox8_2_2_2_2;
|
||||
QLabel* textLabel4_3_2_2_2_2;
|
||||
DSpinBox* spinBox2_2_2_2_2_2;
|
||||
QLabel* textLabel2_2_2_2_2_2;
|
||||
KColorButton* kColorButton1_2_2_2_2_2;
|
||||
QLabel* textLabel3_3_2_2_2_2;
|
||||
DSpinBox* spinBox1_2_2_2_2_2;
|
||||
QLabel* textLabel1_4_2_2_2_2;
|
||||
KColorButton* kColorButton2_4_2_2_2_2;
|
||||
QGroupBox* groupBox9_2_2_2_2;
|
||||
QLabel* textLabel4_4_2_2_2_2;
|
||||
DSpinBox* spinBox2_3_2_2_2_2;
|
||||
QLabel* textLabel3_4_2_2_2_2;
|
||||
DSpinBox* spinBox1_3_2_2_2_2;
|
||||
KColorButton* kColorButton1_3_2_2_2_2;
|
||||
KColorButton* kColorButton2_5_2_2_2_2;
|
||||
QLabel* textLabel1_5_2_2_2_2;
|
||||
QLabel* textLabel2_3_2_2_2_2;
|
||||
QLabel* textLabel1_2_2;
|
||||
KColorButton* kColorButton27_2_2;
|
||||
QGroupBox* groupBox10_2_2_2_2;
|
||||
QComboBox* comboBox17;
|
||||
DSpinBox* spinBox44;
|
||||
QLabel* textLabel7_4_2;
|
||||
QComboBox* comboBox3_4_2;
|
||||
QPushButton* pushButton4_4_2;
|
||||
QWidget* tab3;
|
||||
QGroupBox* groupBox22_2_2;
|
||||
QGroupBox* groupBox8_2_2_2_2_4;
|
||||
QLabel* textLabel4_3_2_2_2_2_4;
|
||||
DSpinBox* spinBox2_2_2_2_2_2_4;
|
||||
QLabel* textLabel2_2_2_2_2_2_4;
|
||||
KColorButton* kColorButton1_2_2_2_2_2_4;
|
||||
QLabel* textLabel3_3_2_2_2_2_4;
|
||||
DSpinBox* spinBox1_2_2_2_2_2_4;
|
||||
QLabel* textLabel1_4_2_2_2_2_4;
|
||||
KColorButton* kColorButton2_4_2_2_2_2_4;
|
||||
QGroupBox* groupBox9_2_2_2_2_4;
|
||||
QLabel* textLabel4_4_2_2_2_2_4;
|
||||
DSpinBox* spinBox2_3_2_2_2_2_4;
|
||||
QLabel* textLabel3_4_2_2_2_2_4;
|
||||
DSpinBox* spinBox1_3_2_2_2_2_4;
|
||||
KColorButton* kColorButton1_3_2_2_2_2_4;
|
||||
KColorButton* kColorButton2_5_2_2_2_2_4;
|
||||
QLabel* textLabel1_5_2_2_2_2_4;
|
||||
QLabel* textLabel2_3_2_2_2_2_4;
|
||||
QGroupBox* groupBox10_2_2_2_2_4;
|
||||
QScrollBar* scrollBar5;
|
||||
QScrollBar* scrollBar6;
|
||||
KColorButton* kColorButton27_2_2_2;
|
||||
QLabel* textLabel1_2_2_2;
|
||||
QComboBox* comboBox7;
|
||||
QLabel* textLabel7_4_2_3;
|
||||
QComboBox* comboBox3_4_2_3;
|
||||
QPushButton* pushButton4_4_2_3;
|
||||
QWidget* tab4;
|
||||
QGroupBox* groupBox22_2_2_3;
|
||||
KColorButton* kColorButton27_2_2_2_2;
|
||||
QLabel* textLabel1_2_2_2_2;
|
||||
QGroupBox* groupBox10_2_2_2_2_4_3;
|
||||
QGroupBox* groupBox8_2_2_2_2_4_3;
|
||||
QLabel* textLabel4_3_2_2_2_2_4_3;
|
||||
DSpinBox* spinBox2_2_2_2_2_2_4_3;
|
||||
QLabel* textLabel2_2_2_2_2_2_4_3;
|
||||
KColorButton* kColorButton1_2_2_2_2_2_4_3;
|
||||
QLabel* textLabel3_3_2_2_2_2_4_3;
|
||||
DSpinBox* spinBox1_2_2_2_2_2_4_3;
|
||||
QLabel* textLabel1_4_2_2_2_2_4_3;
|
||||
KColorButton* kColorButton2_4_2_2_2_2_4_3;
|
||||
QGroupBox* groupBox9_2_2_2_2_4_3;
|
||||
QLabel* textLabel4_4_2_2_2_2_4_3;
|
||||
DSpinBox* spinBox2_3_2_2_2_2_4_3;
|
||||
QLabel* textLabel3_4_2_2_2_2_4_3;
|
||||
DSpinBox* spinBox1_3_2_2_2_2_4_3;
|
||||
KColorButton* kColorButton1_3_2_2_2_2_4_3;
|
||||
KColorButton* kColorButton2_5_2_2_2_2_4_3;
|
||||
QLabel* textLabel1_5_2_2_2_2_4_3;
|
||||
QLabel* textLabel2_3_2_2_2_2_4_3;
|
||||
QLabel* textLabel7_4_2_3_3;
|
||||
QComboBox* comboBox3_4_2_3_3;
|
||||
QPushButton* pushButton4_4_2_3_3;
|
||||
QWidget* tab5;
|
||||
QGroupBox* groupBox22_2_2_3_2;
|
||||
QGroupBox* groupBox8_2_2_2_2_4_3_2;
|
||||
QLabel* textLabel4_3_2_2_2_2_4_3_2;
|
||||
DSpinBox* spinBox2_2_2_2_2_2_4_3_2;
|
||||
QLabel* textLabel2_2_2_2_2_2_4_3_2;
|
||||
KColorButton* kColorButton1_2_2_2_2_2_4_3_2;
|
||||
QLabel* textLabel3_3_2_2_2_2_4_3_2;
|
||||
DSpinBox* spinBox1_2_2_2_2_2_4_3_2;
|
||||
QLabel* textLabel1_4_2_2_2_2_4_3_2;
|
||||
KColorButton* kColorButton2_4_2_2_2_2_4_3_2;
|
||||
KColorButton* kColorButton27_2_2_2_3;
|
||||
QLabel* textLabel1_2_2_2_3;
|
||||
QGroupBox* groupBox10_2_2_2_2_4_3_2;
|
||||
PreviewRadioButton* radioButton2;
|
||||
PreviewCheckBox* checkBox2;
|
||||
QGroupBox* groupBox9_2_2_2_2_4_3_2;
|
||||
QLabel* textLabel4_4_2_2_2_2_4_3_2;
|
||||
DSpinBox* spinBox2_3_2_2_2_2_4_3_2;
|
||||
QLabel* textLabel3_4_2_2_2_2_4_3_2;
|
||||
DSpinBox* spinBox1_3_2_2_2_2_4_3_2;
|
||||
KColorButton* kColorButton1_3_2_2_2_2_4_3_2;
|
||||
KColorButton* kColorButton2_5_2_2_2_2_4_3_2;
|
||||
QLabel* textLabel1_5_2_2_2_2_4_3_2;
|
||||
QLabel* textLabel2_3_2_2_2_2_4_3_2;
|
||||
QLabel* textLabel7_4_2_3_3_2;
|
||||
QComboBox* comboBox3_4_2_3_3_2;
|
||||
QPushButton* pushButton4_4_2_3_3_2;
|
||||
// KTabWidget *prevTopTabWidget;
|
||||
// KTabWidget *prevBottomTabWidget;
|
||||
TabWidgetIndicator* prevBottomPage1;
|
||||
TabWidgetIndicator* prevBottomPage2;
|
||||
TabWidgetIndicator* prevBottomPage3;
|
||||
TabWidgetIndicator* prevTopPage1;
|
||||
TabWidgetIndicator* prevTopPage2;
|
||||
TabWidgetIndicator* prevTopPage3;
|
||||
PreviewTabBar* tabBarBottom;
|
||||
PreviewTabBar* tabBarTop;
|
||||
QHBoxLayout* tabComboLayout;
|
||||
|
||||
|
||||
// tab 3 - load/save
|
||||
// KTabWidget* tabWidget3;
|
||||
QWidget* tab;
|
||||
QGroupBox* groupBox_ls;
|
||||
QListView* listView_ls;
|
||||
QPushButton* loadButton;
|
||||
QPushButton* saveButton;
|
||||
QPushButton* deleteButton;
|
||||
QPushButton* importButton;
|
||||
QWidget* tab_2;
|
||||
|
||||
// focusIndicator
|
||||
QGroupBox* indicateFocusFrame;
|
||||
QCheckBox* indicateFocus;
|
||||
QLabel* labelIndicatorColor;
|
||||
QLabel* labelIndicatorBtnColor;
|
||||
IndicatorPrevWidget* indicatorPrevWidget;
|
||||
IndicatorPrevButton* indicatorPrevButton;
|
||||
QLabel* labelIndicatorColorOpacity;
|
||||
QLabel* labelIndicatorBtnColorOpacity;
|
||||
|
||||
QGroupBox* gb1;
|
||||
QGroupBox* gb2;
|
||||
QGroupBox* gb3;
|
||||
|
||||
// text effect
|
||||
QGroupBox* textEffectFrame;
|
||||
QLabel* labelTextEffectColor;
|
||||
QLabel* labelTextEffectButtonColor;
|
||||
TextEffectPrevWidget* textEffectPrevWidget;
|
||||
TextEffectPrevButton* textEffectPrevButton;
|
||||
QLabel* labelTextEffectColorOpacity;
|
||||
QLabel* labelTextEffectButtonColorOpacity;
|
||||
QLabel* labelTextEffectPos;
|
||||
QLabel* labelTextEffectButtonPos;
|
||||
|
||||
QCheckBox* drawButtonSunkenShadow;
|
||||
|
||||
QLabel* buttonTypLabel;
|
||||
QLabel* labelButtonContourColors;
|
||||
QPushButton* buttonContourPrevButton;
|
||||
QLabel* labelPopupMenuOptions;
|
||||
|
||||
signals:
|
||||
void changed(bool);
|
||||
|
||||
public slots:
|
||||
void save();
|
||||
void defaults();
|
||||
void userLoadTabConfig();
|
||||
|
||||
protected slots:
|
||||
void updateChanged();
|
||||
virtual void languageChange();
|
||||
void userLoadScrollBarConfig();
|
||||
void testCanDecode(const QDragMoveEvent * e, bool & accept);
|
||||
|
||||
private slots:
|
||||
void btnPv1(const QColor&);
|
||||
void btnPv2(const QColor&);
|
||||
void btnPv3(const QColor&);
|
||||
void btnPv4(const QColor&);
|
||||
void btnPv5(const QColor&);
|
||||
void btnPv6(int);
|
||||
void btnPv7(int);
|
||||
void btnPv8(int);
|
||||
void btnPv9(int);
|
||||
|
||||
void hPv1(const QColor&);
|
||||
void hPv2(const QColor&);
|
||||
void hPv3(const QColor&);
|
||||
void hPv4(const QColor&);
|
||||
void hPv5(const QColor&);
|
||||
void hPv6(int);
|
||||
void hPv7(int);
|
||||
void hPv8(int);
|
||||
void hPv9(int);
|
||||
|
||||
void chbPv1(const QColor&);
|
||||
void chbPv2(const QColor&);
|
||||
void chbPv3(const QColor&);
|
||||
void chbPv4(const QColor&);
|
||||
void chbPv5(const QColor&);
|
||||
void chbPv6(int);
|
||||
void chbPv7(int);
|
||||
void chbPv8(int);
|
||||
void chbPv9(int);
|
||||
|
||||
void sbPv1(const QColor&);
|
||||
void sbPv2(const QColor&);
|
||||
void sbPv3(const QColor&);
|
||||
void sbPv4(const QColor&);
|
||||
void sbPv5(const QColor&);
|
||||
void sbPv6(int);
|
||||
void sbPv7(int);
|
||||
void sbPv8(int);
|
||||
void sbPv9(int);
|
||||
|
||||
void tabPv1(const QColor&col);
|
||||
void tabPv2(const QColor&col);
|
||||
void tabPv3(const QColor&col);
|
||||
void tabPv4(const QColor&col);
|
||||
void tabPv5(const QColor&col);
|
||||
void tabPv6(int);
|
||||
void tabPv7(int);
|
||||
void tabPv8(int);
|
||||
void tabPv9(int);
|
||||
|
||||
|
||||
void slotLoad();
|
||||
void slotSave();
|
||||
void slotDelete();
|
||||
void slotImport();
|
||||
void slotDelPerm(QListViewItem*);
|
||||
void scrollBar1GradientChanged();
|
||||
void scrollBar2GradientChanged();
|
||||
void scrollBarNumGradientsChanged(int g=0);
|
||||
void btn1GradientChanged();
|
||||
void btn2GradientChanged();
|
||||
void btnNumGradientsChanged(int g=0);
|
||||
void header1GradientChanged();
|
||||
void header2GradientChanged();
|
||||
void headerNumGradientsChanged(int g=0);
|
||||
void checkItem1GradientChanged();
|
||||
void checkItem2GradientChanged();
|
||||
void checkItemNumGradientsChanged(int g=0);
|
||||
void tab1GradientChanged();
|
||||
void tab2GradientChanged();
|
||||
void tabNumGradientsChanged(int g=0);
|
||||
|
||||
void copyColorsToButton();
|
||||
void copyColorsToTab();
|
||||
void copyColorsToScrollBar();
|
||||
void copyColorsToHeader();
|
||||
void copyColorsToCheckItem();
|
||||
|
||||
void resetGroupBoxBackgroundColor();
|
||||
|
||||
void textEffectModeChanged();
|
||||
void indicatorModeChanged();
|
||||
|
||||
void grValueLabelNum(int num);
|
||||
void updateButtonContourSettings();
|
||||
void updateTextEffectSettings();
|
||||
void updateCheckItemIndicators();
|
||||
void updateFocusIndicatorSettings();
|
||||
void updateGroupBoxSettings();
|
||||
|
||||
void rubberSelChanged(int);
|
||||
void updateArgbRubberOptions(bool);
|
||||
|
||||
protected:
|
||||
|
||||
bool hasCompositeExtension;
|
||||
|
||||
QVBoxLayout* frame3Layout;
|
||||
QVBoxLayout* layout1;
|
||||
QGroupBox* grFrame;
|
||||
QLabel* grValueLabel;
|
||||
|
||||
//We store settings directly in widgets to
|
||||
//avoid the hassle of sync'ing things
|
||||
QCheckBox* animateProgressBar;
|
||||
QCheckBox* drawTriangularExpander;
|
||||
QCheckBox* customCheckMarkColor;
|
||||
KColorButton* checkMarkColor;
|
||||
QCheckBox* customToolTipColor;
|
||||
KColorButton* toolTipColor;
|
||||
QCheckBox* highlightToolBtnIcons;
|
||||
QCheckBox* toolBtnAsBtn;
|
||||
|
||||
QLabel* labelRubberOptions;
|
||||
QRadioButton* argbRubber;
|
||||
QRadioButton* lineRubber;
|
||||
QRadioButton* distRubber;
|
||||
int rubberBandType;
|
||||
|
||||
QLabel* labelArgbRubberColor;
|
||||
QLabel* labelArgbRubberOpacity;
|
||||
KColorButton* argbRubberColor;
|
||||
DSpinBox* argbRubberOpacity;
|
||||
|
||||
QCheckBox* smoothScrolling;
|
||||
DSpinBox* buttonHeightAdjustment;
|
||||
QLabel* buttonHeightAdjustmentLabel;
|
||||
QCheckBox* customPopupMenuColor;
|
||||
KColorButton* popupMenuColor;
|
||||
QCheckBox* centerTabs;
|
||||
QCheckBox* customSelMenuItemColor;
|
||||
KColorButton* selMenuItemColor;
|
||||
QCheckBox* drawPopupMenuGradient;
|
||||
QCheckBox* indentPopupMenuItems;
|
||||
|
||||
//Original settings, for accurate dirtiness tracking
|
||||
bool origAnimProgressBar;
|
||||
bool origDrawTriangularExpander;
|
||||
bool origToolBtnAsBtn;
|
||||
bool origHighlightToolBtnIcons;
|
||||
|
||||
bool origCustomCheckMarkColor;
|
||||
QColor origCheckMarkColor;
|
||||
bool origTintGroupBoxBackground;
|
||||
int origGroupBoxBrightness;
|
||||
bool origCustomGroupBoxBackgroundColor;
|
||||
QColor origGroupBoxBackgroundColor;
|
||||
|
||||
bool origCustomToolTipColor;
|
||||
QColor origToolTipColor;
|
||||
|
||||
int origRubberBandType;
|
||||
QColor origArgbRubberColor;
|
||||
int origArgbRubberOpacity;
|
||||
|
||||
bool origSmoothScrolling;
|
||||
int origButtonHeightAdjustment;
|
||||
int origButtonContourType;
|
||||
bool origCustomPopupMenuColor;
|
||||
QColor origPopupMenuColor;
|
||||
bool origCustomSelMenuItemColor;
|
||||
QColor origSelMenuItemColor;
|
||||
bool origDrawPopupMenuGradient;
|
||||
bool origIndentPopupMenuItems;
|
||||
|
||||
bool origCenterTabs;
|
||||
bool origIndicateFocus;
|
||||
QColor origIndicatorColor;
|
||||
QColor origIndicatorBtnColor;
|
||||
int origIndicatorOpacity;
|
||||
int origIndicatorBtnOpacity;
|
||||
|
||||
bool origDrawUnderline;
|
||||
int origTextEffectMode;
|
||||
QColor origTextEffectColor;
|
||||
QColor origTextEffectButtonColor;
|
||||
bool origDrawTextEffect;
|
||||
int origTextEffectOpacity;
|
||||
int origTextEffectButtonOpacity;
|
||||
int origTextEffectPos;
|
||||
int origTextEffectButtonPos;
|
||||
|
||||
bool origDrawButtonSunkenShadow;
|
||||
|
||||
QColor origButtonContourColor;
|
||||
QColor origButtonDefaultButtonContourColor;
|
||||
QColor origButtonMouseOverContourColor;
|
||||
QColor origButtonPressedContourColor;
|
||||
|
||||
|
||||
int konqTabBarContrast;
|
||||
|
||||
QString currentConfig;
|
||||
QLabel* currentConfigLabel;
|
||||
|
||||
SchemeList* schemeList;
|
||||
bool configLoaded;
|
||||
DSurface* currentScrollBarSurface;
|
||||
DSurface* currentTabSurface;
|
||||
|
||||
void loadConfig(const char* name);
|
||||
void saveConfig(const char* fileName, const char* schemeName);
|
||||
void getConfigSchemes();
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////// form:
|
||||
//protected:
|
||||
QVBoxLayout* tab1Layout;
|
||||
QGridLayout* groupBox22Layout;
|
||||
QSpacerItem* spacer6;
|
||||
QSpacerItem* spacer3;
|
||||
QSpacerItem* spacer43;
|
||||
QSpacerItem* spacer46;
|
||||
QSpacerItem* spacer2;
|
||||
QVBoxLayout* groupBox10_2_2_2Layout;
|
||||
QGridLayout* groupBox8_2_2_2Layout;
|
||||
QGridLayout* groupBox9_2_2_2Layout;
|
||||
QHBoxLayout* layout9;
|
||||
QSpacerItem* spacer7;
|
||||
QVBoxLayout* tab2Layout;
|
||||
QGridLayout* groupBox22_2Layout;
|
||||
QSpacerItem* spacer46_2;
|
||||
QSpacerItem* spacer43_2;
|
||||
QSpacerItem* spacer6_2;
|
||||
QSpacerItem* spacer2_2;
|
||||
QSpacerItem* spacer3_2;
|
||||
QGridLayout* groupBox8_2_2_2_2Layout;
|
||||
QGridLayout* groupBox9_2_2_2_2Layout;
|
||||
QVBoxLayout* groupBox10_2_2_2_2Layout;
|
||||
QHBoxLayout* layout9_2;
|
||||
QSpacerItem* spacer7_2;
|
||||
QVBoxLayout* tab3Layout;
|
||||
QGridLayout* groupBox22_2_2Layout;
|
||||
QSpacerItem* spacer46_2_2;
|
||||
QSpacerItem* spacer43_2_2;
|
||||
QSpacerItem* spacer3_2_2;
|
||||
QSpacerItem* spacer6_2_2;
|
||||
QSpacerItem* spacer2_2_2;
|
||||
QGridLayout* groupBox8_2_2_2_2_4Layout;
|
||||
QGridLayout* groupBox9_2_2_2_2_4Layout;
|
||||
QGridLayout* groupBox10_2_2_2_2_4Layout;
|
||||
QSpacerItem* spacer35;
|
||||
QHBoxLayout* layout6;
|
||||
QSpacerItem* spacer7_2_3;
|
||||
QVBoxLayout* tab4Layout;
|
||||
QGridLayout* groupBox22_2_2_3Layout;
|
||||
QSpacerItem* spacer3_2_2_2;
|
||||
QSpacerItem* spacer6_2_2_2;
|
||||
QSpacerItem* spacer2_2_2_2;
|
||||
QSpacerItem* spacer46_2_2_2;
|
||||
QSpacerItem* spacer43_2_2_2;
|
||||
QVBoxLayout* groupBox10_2_2_2_2_4_3Layout;
|
||||
QGridLayout* groupBox8_2_2_2_2_4_3Layout;
|
||||
QGridLayout* groupBox9_2_2_2_2_4_3Layout;
|
||||
QHBoxLayout* layout21;
|
||||
QSpacerItem* spacer7_2_3_3;
|
||||
QVBoxLayout* tab5Layout;
|
||||
QGridLayout* groupBox22_2_2_3_2Layout;
|
||||
QSpacerItem* spacer3_2_2_3;
|
||||
QSpacerItem* spacer6_2_2_3;
|
||||
QSpacerItem* spacer2_2_2_3;
|
||||
QSpacerItem* spacer46_2_2_3;
|
||||
QSpacerItem* spacer43_2_2_2_2;
|
||||
QGridLayout* groupBox8_2_2_2_2_4_3_2Layout;
|
||||
QVBoxLayout* groupBox10_2_2_2_2_4_3_2Layout;
|
||||
QGridLayout* groupBox9_2_2_2_2_4_3_2Layout;
|
||||
QHBoxLayout* layout22;
|
||||
QSpacerItem* spacer7_2_3_3_2;
|
||||
|
||||
// tab 3 - load/save
|
||||
QVBoxLayout* tab_lsLayout;
|
||||
QHBoxLayout* groupBox_lsLayout;
|
||||
QVBoxLayout* layout8;
|
||||
QSpacerItem* spacer32;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
class DSpinBox : public QSpinBox
|
||||
{
|
||||
public:
|
||||
DSpinBox(QWidget *parent, const char* name=0): QSpinBox(parent, name){};
|
||||
DSpinBox( int minValue, int maxValue, int step = 1, QWidget* parent=0, const char* name=0 ): QSpinBox(minValue, maxValue, step, parent, name){};
|
||||
void setAlignRight() {
|
||||
this->editor()->setAlignment(Qt::AlignRight);
|
||||
}
|
||||
QSpinWidget* spinWidget() {
|
||||
return static_cast<QSpinWidget*>(editor()->parentWidget());
|
||||
}
|
||||
};
|
||||
|
||||
class PreviewCheckBox : public QCheckBox
|
||||
{
|
||||
public:
|
||||
PreviewCheckBox(QWidget *parent, const char * name = 0 ): QCheckBox( parent, name){};
|
||||
void paintEvent(QPaintEvent *event);
|
||||
void drawButton(QPainter *paint);
|
||||
};
|
||||
|
||||
class PreviewRadioButton : public QRadioButton
|
||||
{
|
||||
public:
|
||||
PreviewRadioButton(QWidget *parent, const char * name = 0 ): QRadioButton( parent, name){};
|
||||
void paintEvent(QPaintEvent *event);
|
||||
void drawButton(QPainter *paint);
|
||||
};
|
||||
|
||||
|
||||
class PreviewTabBar : public QTabBar
|
||||
{
|
||||
public:
|
||||
PreviewTabBar(QWidget *parent, const char * name = 0 ): QTabBar( parent, name){};
|
||||
void mousePressEvent(QMouseEvent* event);
|
||||
void paintEvent(QPaintEvent *event);
|
||||
};
|
||||
|
||||
class IndicatorPrevButton : public QPushButton
|
||||
{
|
||||
public:
|
||||
IndicatorPrevButton(QWidget *parent, const char * name = 0 ): QPushButton( parent, name){};
|
||||
void paintEvent(QPaintEvent *event);
|
||||
};
|
||||
|
||||
class IndicatorPrevWidget : public QPushButton /*QWidget*/
|
||||
{
|
||||
public:
|
||||
IndicatorPrevWidget(QWidget *parent, const char * name = 0) : QPushButton( parent, name){};
|
||||
void paintEvent(QPaintEvent *event);
|
||||
};
|
||||
|
||||
class DominoKTabWidget : public KTabWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
friend class DominoStyleConfig;
|
||||
public:
|
||||
DominoKTabWidget( QWidget* parent=0, const char* name=0 ) : KTabWidget( parent, name ) {}
|
||||
protected slots:
|
||||
void wheelDelta( int ) {};
|
||||
};
|
||||
|
||||
class DominoKTabPrevWidget : public KTabWidget
|
||||
{
|
||||
friend class DominoStyleConfig;
|
||||
friend class TabWidgetIndicator;
|
||||
public:
|
||||
DominoKTabPrevWidget( QWidget* parent=0, const char* name=0 ) : KTabWidget( parent, name ) {}
|
||||
};
|
||||
|
||||
class TabWidgetIndicator : public QWidget
|
||||
{
|
||||
friend class DominoStyleConfig;
|
||||
public:
|
||||
TabWidgetIndicator( QWidget* parent=0, const char* name=0 ) : QWidget( parent, name ) {}
|
||||
void paintEvent(QPaintEvent *event);
|
||||
};
|
||||
|
||||
class TextEffectPrevButton : public QPushButton
|
||||
{
|
||||
public:
|
||||
TextEffectPrevButton(QWidget *parent, const char * name = 0 ): QPushButton( parent, name){};
|
||||
void paintEvent(QPaintEvent *event);
|
||||
};
|
||||
|
||||
class TextEffectPrevWidget : public QWidget
|
||||
{
|
||||
public:
|
||||
TextEffectPrevWidget(QWidget *parent, const char * name = 0, uint flags = 0 ): QWidget( parent, name, flags){};
|
||||
void paintEvent(QPaintEvent *event);
|
||||
};
|
||||
|
||||
class PreviewStyle : public DominoStyle
|
||||
{
|
||||
friend class IndicatorPrevButton;
|
||||
friend class DominoStyleConfig;
|
||||
public:
|
||||
};
|
||||
PreviewStyle* previewStyle;
|
||||
|
||||
DSurface origBtnSurface;
|
||||
DSurface origTabTopSurface;
|
||||
DSurface origActiveTabTopSurface;
|
||||
DSurface origTabBottomSurface;
|
||||
DSurface origActiveTabBottomSurface;
|
||||
DSurface origScrollBarSurface;
|
||||
DSurface origScrollBarGrooveSurface;
|
||||
DSurface origHeaderSurface;
|
||||
DSurface origCheckItemSurface;
|
||||
|
||||
// global
|
||||
bool initialized;
|
||||
|
||||
QComboBox* indicatorModeCombo;
|
||||
KColorButton* indicatorBtnColor;
|
||||
KColorButton* indicatorColor;
|
||||
QString indicatorPreviewText;
|
||||
QSpinBox* indicatorOpacity;
|
||||
QSpinBox* indicatorBtnOpacity;
|
||||
|
||||
QCheckBox* tintGroupBoxBackground;
|
||||
QCheckBox* customGroupBoxBackgroundColor;
|
||||
KColorButton* groupBoxBackgroundColor;
|
||||
QSlider* grSlider;
|
||||
|
||||
// text effect
|
||||
QComboBox* textEffectModeCombo;
|
||||
QCheckBox* drawTextEffect;
|
||||
KColorButton* textEffectColor;
|
||||
KColorButton* textEffectButtonColor;
|
||||
QString textEffectPreviewText;
|
||||
QSpinBox* textEffectOpacity;
|
||||
QSpinBox* textEffectButtonOpacity;
|
||||
|
||||
QComboBox* textEffectPos;
|
||||
QComboBox* textEffectButtonPos;
|
||||
|
||||
// button contour colors
|
||||
QComboBox* buttonContourType;
|
||||
|
||||
KColorButton* buttonContourColor;
|
||||
KColorButton* buttonDefaultButtonContourColor;
|
||||
KColorButton* buttonMouseOverContourColor;
|
||||
KColorButton* buttonPressedContourColor;
|
||||
|
||||
QComboBox* tabPosCombo;
|
||||
QComboBox* tabStateCombo;
|
||||
DominoKTabPrevWidget *prevTopTabWidget;
|
||||
DominoKTabPrevWidget *prevBottomTabWidget;
|
||||
|
||||
enum DominoStyleFlags {
|
||||
Domino_noCache = 0x80000000
|
||||
};
|
||||
#endif
|
@ -0,0 +1,66 @@
|
||||
/*
|
||||
Copyright (C) 2006 Michael Lentner <michaell@gmx.net>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
|
||||
This library 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
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
#include <qdir.h>
|
||||
#include "../client/clientData.h"
|
||||
namespace dembed {
|
||||
#include "../domino/data.h"
|
||||
}
|
||||
|
||||
|
||||
int main ( int /*argc*/, char **/*argv*/ )
|
||||
{
|
||||
|
||||
QDir d;
|
||||
d.mkdir("style_pixmaps");
|
||||
d.mkdir("client_pixmaps");
|
||||
|
||||
QImage * img;
|
||||
|
||||
for ( int i = 0; embed_image_vec[i].data; i++ ) {
|
||||
qDebug("ss");
|
||||
img = new QImage((uchar*)embed_image_vec[i].data,
|
||||
embed_image_vec[i].width,
|
||||
embed_image_vec[i].height,
|
||||
embed_image_vec[i].depth,
|
||||
(QRgb*)embed_image_vec[i].colorTable,
|
||||
embed_image_vec[i].numColors,
|
||||
QImage::BigEndian );
|
||||
|
||||
if ( embed_image_vec[i].alpha )
|
||||
img->setAlphaBuffer( TRUE );
|
||||
|
||||
img->save(QString("style_pixmaps/") + embed_image_vec[i].name + QString(".png"), "PNG");
|
||||
delete img;
|
||||
}
|
||||
|
||||
for ( int i = 0; dembed::embed_image_vec[i].data; i++ ) {
|
||||
img = new QImage((uchar*)embed_image_vec[i].data,
|
||||
dembed::embed_image_vec[i].width,
|
||||
dembed::embed_image_vec[i].height,
|
||||
dembed::embed_image_vec[i].depth,
|
||||
(QRgb*)dembed::embed_image_vec[i].colorTable,
|
||||
dembed::embed_image_vec[i].numColors,
|
||||
QImage::BigEndian );
|
||||
|
||||
if ( dembed::embed_image_vec[i].alpha )
|
||||
img->setAlphaBuffer( TRUE );
|
||||
|
||||
img->save(QString("client_pixmaps/") + dembed::embed_image_vec[i].name + QString(".png"), "PNG");
|
||||
delete img;
|
||||
}
|
||||
return 0;
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
######################################################################
|
||||
# Automatically generated by qmake (1.07a) Thu Jul 19 02:11:17 2007
|
||||
######################################################################
|
||||
|
||||
TEMPLATE = app
|
||||
CONFIG -= moc
|
||||
INCLUDEPATH += .
|
||||
|
||||
# Input
|
||||
SOURCES += getimages.cpp
|
Loading…
Reference in new issue