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