diff options
author | Slávek Banko <[email protected]> | 2016-03-21 20:35:05 +0100 |
---|---|---|
committer | Slávek Banko <[email protected]> | 2016-03-21 20:35:05 +0100 |
commit | 066aaaeb73a8bb908b1c0d8c45f110b2f799f7ce (patch) | |
tree | 4cb26eb8ace976f7d0c8607dc2d3de2b5107670c /config | |
download | tde-style-baghira-066aaaeb73a8bb908b1c0d8c45f110b2f799f7ce.tar.gz tde-style-baghira-066aaaeb73a8bb908b1c0d8c45f110b2f799f7ce.zip |
Initial import of baghira 0.8
Diffstat (limited to 'config')
-rw-r--r-- | config/Makefile.am | 21 | ||||
-rw-r--r-- | config/about.ui | 705 | ||||
-rw-r--r-- | config/colordialog.cpp | 300 | ||||
-rw-r--r-- | config/colordialog.h | 90 | ||||
-rw-r--r-- | config/colorpicker.cpp | 81 | ||||
-rw-r--r-- | config/colorpicker.h | 39 | ||||
-rw-r--r-- | config/configdialog.ui | 3039 | ||||
-rwxr-xr-x | config/generatePixmaps.sh | 13 | ||||
-rw-r--r-- | config/help.ui | 305 | ||||
-rw-r--r-- | config/kstyle_baghira_config.cpp | 1243 | ||||
-rw-r--r-- | config/kstyle_baghira_config.h | 163 |
11 files changed, 5999 insertions, 0 deletions
diff --git a/config/Makefile.am b/config/Makefile.am new file mode 100644 index 0000000..7cd149a --- /dev/null +++ b/config/Makefile.am @@ -0,0 +1,21 @@ +INCLUDES = $(all_includes) +noinst_HEADERS = about.h configdialog.h help.h kstyle_baghira_config.h colordialog.h colorpicker.h +METASOURCES = AUTO + +# Install this plugin in the KDE modules directory +kde_module_LTLIBRARIES = kstyle_baghira_config.la + +kstyle_baghira_config_la_SOURCES = kstyle_baghira_config.cpp colordialog.cpp colorpicker.cpp configdialog.ui help.ui about.ui +# kstyle_baghira_config_la_METASOURCES = AUTO +kstyle_baghira_config_la_LIBADD = $(LIB_KDEUI) $(LIB_KIO) +kstyle_baghira_config_la_LDFLAGS = -module -avoid-version $(all_libraries) -no-undefined $(KDE_PLUGIN) + + +messages: rc.cpp + $(XGETTEXT) *.cpp -o $(podir)/kstyle_baghira_config.pot + +pixmaps.h: $(srcdir)/generatePixmaps.sh + $(SHELL) $(srcdir)/generatePixmaps.sh $(top_srcdir) +CLEANFILES = pixmaps.h +kstyle_baghira_config.lo: pixmaps.h + diff --git a/config/about.ui b/config/about.ui new file mode 100644 index 0000000..bbe3ed7 --- /dev/null +++ b/config/about.ui @@ -0,0 +1,705 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>About</class> +<widget class="QDialog"> + <property name="name"> + <cstring>About</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>380</width> + <height>531</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>7</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>380</width> + <height>450</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>1000</width> + <height>1000</height> + </size> + </property> + <property name="caption"> + <string>About This Cat</string> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="sizeGripEnabled"> + <bool>false</bool> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget" row="0" column="0" rowspan="1" colspan="3"> + <property name="name"> + <cstring>layout4</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer3_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>216</width> + <height>20</height> + </size> + </property> + </spacer> + </hbox> + </widget> + <widget class="QLayoutWidget" row="12" column="0" rowspan="1" colspan="3"> + <property name="name"> + <cstring>layout11</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>crLabel</cstring> + </property> + <property name="paletteForegroundColor"> + <color> + <red>124</red> + <green>124</green> + <blue>124</blue> + </color> + </property> + <property name="text"> + <string></string> + </property> + <property name="alignment"> + <set>AlignCenter</set> + </property> + </widget> + </hbox> + </widget> + <spacer row="11" column="1"> + <property name="name"> + <cstring>spacer19</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>30</height> + </size> + </property> + </spacer> + <widget class="QLayoutWidget" row="10" column="0" rowspan="1" colspan="3"> + <property name="name"> + <cstring>layout6</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer7</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>61</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QPushButton"> + <property name="name"> + <cstring>buttonInfo</cstring> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="text"> + <string>More Info...</string> + </property> + <property name="autoDefault"> + <bool>false</bool> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer8</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>111</width> + <height>20</height> + </size> + </property> + </spacer> + </hbox> + </widget> + <widget class="QLabel" row="1" column="1"> + <property name="name"> + <cstring>textLabel2_2</cstring> + </property> + <property name="text"> + <string></string> + </property> + <property name="pixmap"> + <pixmap>image0</pixmap> + </property> + </widget> + <spacer row="1" column="2"> + <property name="name"> + <cstring>spacer24</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>101</width> + <height>20</height> + </size> + </property> + </spacer> + <spacer row="1" column="0"> + <property name="name"> + <cstring>spacer25</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>91</width> + <height>20</height> + </size> + </property> + </spacer> + <spacer row="9" column="1"> + <property name="name"> + <cstring>spacer19_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + <widget class="QLayoutWidget" row="8" column="0" rowspan="1" colspan="3"> + <property name="name"> + <cstring>layout11</cstring> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel" row="4" column="3"> + <property name="name"> + <cstring>cpuLabel</cstring> + </property> + <property name="text"> + <string>unkonwn</string> + </property> + <property name="alignment"> + <set>AlignVCenter|AlignLeft</set> + </property> + </widget> + <widget class="QLabel" row="0" column="3"> + <property name="name"> + <cstring>kdeLabel</cstring> + </property> + <property name="text"> + <string>unknown</string> + </property> + <property name="alignment"> + <set>AlignVCenter|AlignLeft</set> + </property> + </widget> + <spacer row="3" column="2"> + <property name="name"> + <cstring>spacer20</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Fixed</enum> + </property> + <property name="sizeHint"> + <size> + <width>5</width> + <height>16</height> + </size> + </property> + </spacer> + <spacer row="0" column="2"> + <property name="name"> + <cstring>spacer2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Fixed</enum> + </property> + <property name="sizeHint"> + <size> + <width>5</width> + <height>20</height> + </size> + </property> + </spacer> + <spacer row="4" column="2"> + <property name="name"> + <cstring>spacer18</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Fixed</enum> + </property> + <property name="sizeHint"> + <size> + <width>5</width> + <height>20</height> + </size> + </property> + </spacer> + <spacer row="4" column="4"> + <property name="name"> + <cstring>spacer19_6</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>80</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QLabel" row="2" column="1"> + <property name="name"> + <cstring>textLabel5</cstring> + </property> + <property name="font"> + <font> + <bold>1</bold> + </font> + </property> + <property name="text"> + <string>System</string> + </property> + <property name="alignment"> + <set>AlignVCenter|AlignRight</set> + </property> + </widget> + <widget class="QLabel" row="2" column="3"> + <property name="name"> + <cstring>systemLabel</cstring> + </property> + <property name="text"> + <string>unknown</string> + </property> + <property name="alignment"> + <set>AlignVCenter|AlignLeft</set> + </property> + </widget> + <spacer row="2" column="2"> + <property name="name"> + <cstring>spacer1</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Fixed</enum> + </property> + <property name="sizeHint"> + <size> + <width>5</width> + <height>20</height> + </size> + </property> + </spacer> + <spacer row="2" column="4"> + <property name="name"> + <cstring>spacer9_4</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>80</width> + <height>20</height> + </size> + </property> + </spacer> + <spacer row="4" column="0"> + <property name="name"> + <cstring>spacer17</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>100</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QLabel" row="4" column="1"> + <property name="name"> + <cstring>textLabel1_2</cstring> + </property> + <property name="font"> + <font> + <bold>1</bold> + </font> + </property> + <property name="text"> + <string>CPU</string> + </property> + <property name="alignment"> + <set>AlignVCenter|AlignRight</set> + </property> + </widget> + <spacer row="1" column="2"> + <property name="name"> + <cstring>spacer19_3</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Fixed</enum> + </property> + <property name="sizeHint"> + <size> + <width>5</width> + <height>16</height> + </size> + </property> + </spacer> + <spacer row="0" column="4"> + <property name="name"> + <cstring>spacer9_3</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>80</width> + <height>20</height> + </size> + </property> + </spacer> + <spacer row="0" column="0"> + <property name="name"> + <cstring>spacer9_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>100</width> + <height>20</height> + </size> + </property> + </spacer> + <spacer row="2" column="0"> + <property name="name"> + <cstring>spacer9</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>104</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QLabel" row="0" column="1"> + <property name="name"> + <cstring>textLabel3</cstring> + </property> + <property name="font"> + <font> + <bold>1</bold> + </font> + </property> + <property name="text"> + <string>KDE</string> + </property> + <property name="alignment"> + <set>AlignVCenter|AlignRight</set> + </property> + </widget> + </grid> + </widget> + <spacer row="7" column="1"> + <property name="name"> + <cstring>spacer19_4</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>30</height> + </size> + </property> + </spacer> + <widget class="QLayoutWidget" row="6" column="0" rowspan="1" colspan="3"> + <property name="name"> + <cstring>layout5</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer5_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>91</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QPushButton"> + <property name="name"> + <cstring>buttonDownload</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>NoFocus</enum> + </property> + <property name="text"> + <string>Download Update...</string> + </property> + <property name="autoDefault"> + <bool>false</bool> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer5</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>91</width> + <height>20</height> + </size> + </property> + </spacer> + </hbox> + </widget> + <widget class="QLayoutWidget" row="4" column="0" rowspan="1" colspan="3"> + <property name="name"> + <cstring>layout8</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel2</cstring> + </property> + <property name="text"> + <string>Version</string> + </property> + <property name="alignment"> + <set>AlignVCenter|AlignRight</set> + </property> + </widget> + <widget class="QLabel"> + <property name="name"> + <cstring>versionLabel</cstring> + </property> + <property name="text"> + <string>unknown</string> + </property> + <property name="alignment"> + <set>AlignVCenter|AlignLeft</set> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget" row="3" column="0" rowspan="1" colspan="3"> + <property name="name"> + <cstring>layout10</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="font"> + <font> + <pointsize>18</pointsize> + <bold>1</bold> + </font> + </property> + <property name="text"> + <string>Baghira/QT</string> + </property> + <property name="alignment"> + <set>AlignCenter</set> + </property> + </widget> + </hbox> + </widget> + <spacer row="5" column="1"> + <property name="name"> + <cstring>spacer19_5</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + <spacer row="2" column="1"> + <property name="name"> + <cstring>spacer26</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Fixed</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>20</height> + </size> + </property> + </spacer> + </grid> +</widget> +<images> + <image name="image0"> + <data format="PNG" length="9906">89504e470d0a1a0a0000000d4948445200000080000000800806000000c33e61cb0000200049444154789ced7d7f9c1d5595e797ceed700a5ea05ee8403fa19516a374244043f8d14c1cd37cb29a6951b135cea4978c93561ce99575d83633a33de0ba6c66063391d519c30a6e83e28611c7880bf44427cb8b10ed08986684a115908e26c36b4da00afa993aa6afedfe513fdeadaa5bf5ea75f7cb0b6ebe7cf8dc54bf7a55e7dd3ae7dcf3eb9e028ee3388ee3388ee3ff539cd06802b2a0ebf22e83993b21703a244e80804d82f68eee197db9d1b4bdda71cc3340d78aae0d00de4339ba1802a71b304e70a46333f3e3ccbc8388fe7174cfe864a3e97cb5e2986580ce0b3b5711d1ff28b4152e686d6d854106880890eee756d9826ddb28ed2fbdc265fecce8e3a39b1a4b71189d2b3a9790a02600bf1add335a6e343d49382619a0f3c2ceeb0bad85cf777474a0b5a5152c1990004b0609028361920906030c8cef1bc7c4b3138f03e81bdd33fa6c2368ee5ed5bdc0b6edf791a07740e02212743680052cf96566fe5700df21a2af8cee193dd808fa9270cc3140e7859dd7b79fddfef98ee51d20106cb641c2937c516102ff180230c9c4c4e404c6c7c65fb1d97ee7d8e3630f1f659aaf25a28d85b6c252d3349137f300e032ab6438b6837da57d281d28bd04e0e3634f8cdd7934e94bc331c5009d1776beb5fdacf65d1d9d1d000066d63f7c0dcc9c89497b127b1fdb0b66febdd13da3dfaf37bd5d97772d65e62fb59fddfefb1d1d1da01c81406066977e78f40a9719260f4c62ef937b611fb2ef187b6aecc3f5a62f0b16349a001f5d97779120f1e8f9cbcf374493001f66a00990331202023cc3eee4ce30c48c7b2c9a0458baa37dd886699ac89f9cc7fe17f6af6b3bbbedab077e7ea06e5e42e78ace778926f1d0f2cee5e774beb9133cc3902cc187191212e5236508084829218f4830335a16b7a0edcc36d865fb6241a2edd02f0ffd9f7ad19715c70c03b4b5b6ddd2dede7e655b6b1bca87cb20419052829a5c354a4deeda4fa88c98018410807447795822d7928358209a0ffdf2d03b0e1c38f00ff5a0b5ebf2ae0db985b97fbcf4b24b45fb6bda61dbb6fb81bf2c79f444c1471862a1405b5b1bca2f952fca9d927b617272726f3d68cc8a638201ba56769d0e60fbb28e65e023aefa9433323e3601525646d1e469025446292596b42cc121fbd0692d8b5b4e3f70e0c0c8bcd27a79d73500be7ce9c597c25c6ce2d04b87b4742469aa3297410b098b4e5d84d281d2556daf6dfbc28103070ecf278db5a0a9513756c1cc1f2db4162aebbbd49ce449966f13f80696aa1118156fa1a3bd0300067a56f7ac982f3abb5777af84c4dd1d1d1d305b4cd8b61d7825513a82314aaf207099d1dad28af6a5ed277099ff7abee89b0d1ace005d2bbb9a007c8816b90fdf918e7e647764c9d54706284728b4166095ad79b1b8bb57779f66dbf68e7c6b1eed6755d4beeaa256a38b40c1b15db65138ab00103ed4b5b2eb8cf9a0713668380390a05524a860e64cb0641830e0c07147a98cc2d06b0640af1904c15c6202c0793d6b7a7ae74ca8c43f11d1c91ded1db0d9d6fd8e900d10d083644d659289f6d6f613b8ccd7cc99be59a2e10cc0ccef0c227c322cf95126f0ffae1ba31267b38d7c2e0fca111c76e61425ec59d3f311bb6caf2a140a00c5e9f47e877bb2c7a45a4da0d1149ee67bff5ce89b0b1ace0000de0200a0ca64fa93e84b7ea0116ad50c02c8e7f260e6737bafeaed9e0d71bd57f59ee2949d5b4d32619a2608a4bfbf40321d0aa2710dd33401e092ee95dda7cf86beb9a2a10cd0b3ba27cf922f308451099e4424c4914e45e224d235820cdb0c2408641048102cb63e361b1a2db63ecb60327206f2b93c2cb6aa6b24a9a127a2291c76028621a2135872d76ce89b2b1aca000e9c379320e14847bb86277e4f91bc906640583259b29b400260c07847efd5bd2db5d0d77355cfeb007c1012301799d9ef9f408faa297cfa0c61b87f03ceab7902e7010d65000346bbffef4003b0622d2b6b66746dd5495c48323daf01002000473a021257d744a0c44d8141e7ab7865798ade3fc98651e9d1690ceff7beb126dae6098dd60067fa120f59899dc7ac66c9557301404432bdd13fdf93b87766a5adf7eaded31ce9acf72594882a364a0a54498fd2133085a7197c78bffbccacb4cd271a6d042e6154ac76d54fd6f9cf356b06789a45000e1c0058d5b7ae6f6116c258f2070d18cdc143acfc3dd5ef0fe215aca727aa2998d9ff0da766a16bbed15806903825b08a1d5712229f57245fe74f57d30c8a55ee3dc45320912d3228d11f7c4f44fc7ac49932290e90e13efef793555b1dd1581b40180bfdc9b3ca16c01ac94ef00eb26a069bedb0ba9de64baad1d5bbb6f70248bc49d11c5a3a62f74fa033a04ba33926ad49ffef0dc9cb34da06384135b0ec291b269971495210ab0fd06806750dc6b4f23d17cbab12368df778967958fd83e3f717a46586c4dc80a2311c760086af617e3397b99c2d1aed051cf1ffcd60307310664d94a82c11376f6476ff0721582e20b1ac2a61127f10399ed5fdd34600e032c32a5b7e42a9ba85590734da089cf2252d4f7938ec0413ac9398403368a0954ce6f0e700207066dfdabe84ab00fdebfbcf60f045fef924c85d067c173063c40f50ce93f15c015051ff9e068827188e021acb00020743ea5a009665b9d28b94b5556785ab9229dc6376b4ccd4024262d895255f4220a1aa774318b09d2a9a292ae1510da1c63904c12edb706c4765e8176631837346a33540c95f638311066ccb0ee7d381d4b5342699d263002512a848f4490016a7d074b17f7ea8a6cfabf50be5ff235e40aa37a01c3318b66587bc17431813f336ab35a0a10c4082f6478323beba9d3c38190487008df5add3109e343133eca9783571f010402727d1c4929741284129e53eec70aa4b5ad51bf0ef6133ac4356e8fa0e9c67e6757233a2d14bc08f836c9faa09bc07694fd99584899a2b48a9bcf11f54b0e67b46bc699895638113934822d06ba3f7f38f6311cbb44a20cde82f4da552297c5d300c61fc683ea7362b1aca00dbefdb7ec081f3330386dec0937055a5a7ce03498646137816bf6d29b654335c37b019e069ae1c03bfd5d1d3bfbebf89a7b9529da3680eff3ef6546db64048f2bd87ef5f5b31584b8e74c66b99bbf942a36d00e429ff4300c1c35725c38fc0b1e3a9df298d81252be1549ee640d2a999d246bd1d4f38959ac96580e6047a40602be25d5459f301cdc357bf2ff0bde2cee24c0dd3366f68380340e0fbea8484c2bb8a7af71fb63d655718c2ff7f9a03096730a8b96aa1665215ee493ccd275133059a2309f6945d895cfa06a8d01c33832d46e96049fdcd15b889a25db39bbcb9a3e10c40cdf46d202269d151863582f7bdcad8ac1cabd6bbfe7abf868095408e11304f8206f155370982ed78cce8bba0fee06b24cb3546adb215d836a16ca57f3de081d9cddedcd17006d8f6f56d4f91a0676261557058a254786bba56d223ae58542201bc6890a1dd4e4ea0053a8d11b2217c28c52b702a9ac9b69451b29b02a68897232ad94008ec19d931f2b3f99ed7ac683803000004be514d7283355991c8d4f3233645704cb47fcbad5b821074840e276a9d6b354ef4fa4273be5f89a47837316f07409ef277659ca5bae098600032e82eade4abf0ad79686c83244d1185fbf9d3299f970138da448f7fdfa826f0109c1f4955fb080a5c6548134c33f89e4c9354271c130cb0ed9e6dcf988bcc5140b3662b9247a0745b2169546d07a2c793e83084f132093a987a3d23a20934de824e33c534010c18c2181e7960e495ec3335ffa8263331745ddef55e00ab019ca7f4ecf90524c688e811838c7f1ed931527b470c81bf86c0fda1e28ee85a9f5430aa865955bf5ddd8ee5076380ef2691b0e5d62dbfe9dfd07f00c06b438e62c4ca0f34423345e30bda14b11aa65635419ef29fa9799ee61999fb03745ddef5872cf9a6424b619999776be421dcd8bdc516b8ec1a3e4ed92941e0cebc99fffbedf76dd71a5b49e8bdbaf7c700de042098dce89aeb43f770a3f9fad843042686ef1c7e7d1a0d03d70edc65b3fd81688c3f041d33a0422f4fa787ad3dfabfb2fd81ed1fa8657eea814c1aa06b45d71789e8c39d1d9dc8b7e443bd7a00a05554dab84c4c4e1426f74f7eb234591ae8b9aa6768e48191ad59893117991fb3a7ec1d3ac98f529df4f0a38919753473e6bd1966e451027d20148f883241828d10780b487ff8de35fe22ebbcd413556d80ce159df7e65bf21fbea2eb0a145a0bee8f29578a2d5832ecb21d4845c71b3ad07949273a9676988eed7ca1674dcfb77ad7f6e6b210337cf7f0b7c9a022a613ac7c917ded37c98cfddd20e34bd56830c82846ef1bedf4917a7f4f63051149c49998886eaa553bd60ba90cd0b9a2f3d38596c2daae4bba5cae2f572a76d4d42be0256124075ba6dbcf6d47c7f20e5865eb5d6cf158efdade4c65cf44b41ecd988965fb74fe7992f5aff93b091ad972eb96e7aadd7fcbad5bc689683c94f049b1eefdfb850a46fd6540c92104df13787afb7ddb6fce32174703890cd0b5b26b1911ddd4b9bcd39d6c8ed7c4c5e01b625e24ac7056019dcb3be148e70d3cc5dfeb5bd757950986ef1cfe7733677e5027613a49d4497a302ab1f8bc99ffcb8c730212f4555d36306d54238480a70934df37179973dfa93c8f4864002ef3d68ea51d00b9929fb93247ad806197093a9676c061e775f694fd78dfbabeaadbb386ef1cbe0b02b7ab865c28c2a7d2195deb351a229fcb7f71d3e64d4f669d142367dc0ee037da1c45350de41b88d3e1cf190c7391b961db3ddb7e92958ea3012d03745ddeb5dc34cdb7e6cd7c10df0e24429387d7ba66f07ebcc7048542014ed96965877766216cdbdddbfe94043d1844dc40fe3f2af4a81138b5f247ade327fa19043e5acba46cd9bce5503e97ff5c703d44344d8a2d10d0d71cd644e622f3966df76cbbab163a8e06b46e60e78acecfb5b7b6ff676f0d0f6f6c54112973d2ba6270c3a276d9c6f8f8b83f19776efbfab6fe2c04f66fe8ff064beef51e66f5fb7af0cab7d8308df3b76cde5273f3c8c11b064fb4cad60148b4647205556f4186bd01739179dbb67bb60dd44a838f9e353d6758656b3524deca929792a0d358f20c817ece929f3273e67dc5ddc5476773ed180374afec6eb2d9fe496747e71bf2ad150d90faf065d860d2310be50813cf4d60b234091204336ff60cdf3dfccf59881cb876e0ef987930660324d8221e3d2fe673f9359b366f4a8cfc55c3e00d836fb16cebe1a00e202d2e00af7c4d2a4c31cd20833ebbed9e6d83b3b97fcf9a9ea54ed9b981c17d05b3702ae50966ce0ceee997be95264b60e611cad18da3bb476bea3a166380aecbbb2e0430d6b1bc03f99c5baa1d6bd220942dcf2ad224d3cb8d8f8f8ffbe5512f9a79f3cce13b877f9d85d081eb0656b3e4cf307367cc308c2c4b79cadf0fc247b66cde32e74adb81eb07d67399bfa2de0f40d80b12619bc87bf8d3e6227360f8eee1aaae6714831b074fd8fbd8de5b9879b0d05a686a6f6f779b53e87eaf64709931363e86d2be1240f8e8d8e3635fc87aafd876a4b6b3dade0e81abdb0a6d9090414b36a34961821965bfbb6a45ccb89311f4f7f389f45aa7898502f8b5db20490871124e8078f2a927ff6f16421f7bfcb1e7c7f68e7df16d6f7ddbb368c2020171064b36823e820bc9c2428c2cc92d19bae5d65b3e35fafdd1a9ac93907adf471ffbd195dd57fe0012ab59728e9a0812eeeff35bd7f90f5d1e916e7fc085d8d1726acb7b6fbff3f66fd77abfdeab7bcf1f7f66fcc145272d7a5fc7f28e1396bf69b93b6f1228731972c66d3a2966dc967312124484a5e72c85385160f285c99ec259057bf285c91f64b95f4c0374aee8fcef66ce1c6a5fdaae35ec000492aea63843d92eb5d841d1082699281d2a61dffe7d4191a49937970cdf397ca8d6891afac4d0c9903887259f4a443680894d7fb3a96e5db9076f186c71d8b99199d7015812ad0206709888ee87c0edc3770c3f349b7bf45eddbbb63459bab7d05a40c7f20e9864ba41b68c304d13e3cf8d636c740c94a3d5a37b46ab0a976e09b803021feaece84c0d14eb7af700488dd9fbcbc0c444a504de5c647e76f8eee159ad918dc0d0c6a1bcc5d62590b800122741c001f0148027b6deb675d64b4eefd5bdd7960e956e6f2fb4a3e3dc8e20f0566bbacecc99187d621413e31307cd16f3cce2aee274daf9710658d1752f086bdbdbdbe1b76e4bb2ee03443582622b84cef7ce2b4d962a75fbcd38dc6ab69eb1f58eadc76c4ffd7aa36f6ddfda89d2c4bd8596023a3a3a40822afd1234364e62ee03e4baa11278a8f81058f227c61e1ffbdbb47bc7e300020bc015bf3b693f7e0852df01c3dfee15db232742d73f8965e3fae4351a7debfa2e2859a57bf3b93cdadbdbb33f7c50cc0b0300b0eb2eb7b7b783cbbcb17b6577aa0ed10582a6191cae7f8fec8ed5edc7d7f5c0d175d38a65cfc060e60d739bc65727fad7f79f6c5bf6772081d6422bcc5c65cdd74558b53b8f3832c28dda9aa60933672e66c93d6934c4188004bda2eead0b41e5b80827eac2a13a8d108a174cc3fffea503d70db4d5367daf7ed853f6d720717a3e9747a1a5107b3946749f81aee055cd5904cb000379d36d92098977a5d110630006ff8204c1b2dd8e1db15dae69a38c7366b4278ec556e57c4f0378e787f7e4ff8ea3776deffb59f23b1c3830979895201287356aecd817ca94e7e2ffdbc819b0d94eed3fa8d30013fe0dec29db4d064945d2552455c624246e20dd0aa280b3a72b3606805975f27c35a26f7d5f33a6711ba4dbc9349fcbc7fa0fe8fa0a4653f0d540824082cee95ed95d483a476703fcd8cf5e59b6155ef3912ce9d5b2833ed1165bc1b9a12a5fe68bb2fdacdf0148fc054b5e0ce915998af43e8289a34c18119aff13012496c1c518c0dba57a90849bc0e1290e67dd7492ae409b355452a604021cb8bb74a72bde00807306ae1b38aba6897c15a27f437f8ea7f8937e202c28af1361c3593b56eb48aada5abe97e53eb7d392e88931c0c8ce9132041e03dc87e3251ad225bc068d1044b6943a7feff30548e1d4df1530f34700184a85900ba56a38714c927819f7be7c5bc05b9e13fb2168eb0108e4e6ec3de24a074b6149977a49d756e3fae7bb6ade6ddb22bc7cb962037856ecefbc0660873fe6ff5e7f9f43b44bfaaca1681248c029075e5762f5b7be2288107a9b15971993a5c990ab97e60df8be685403f8c5a400c2bb7911b83069ad5b5ef5e85fdfbf8a259f150baa4535a5cc3842337a9d512db6d4865bac21074002031477167f4a82dc65c0937cab6cc13e68eb1344513f34aa193cc26cc7ae1475789b29426b95e4936a98cf571d58f235414a59b189aa45fc1247a919bde7e30b9b779c98514a0e130afc4f485ca2c69a2ddb82231d14f285f0da2510043142912bffc79611ebd913dbebe7fe88babcc872f32d9bcf60e66e4874b2e437c3cde69d406e9f806748d0130c2e6eba7953ddba74f4adeb6b62c97f108ae8a93583febc413346cf8b8cc1bcfb3590228ff1836ef5150b06817e994457220318c2b89bc1b742e014f561729951e2921b69f25c18c0ad9953cf0b8a152483a7146fc1e77c65e78f52ce35afcd126ffef4cd6b9979fde4e4e4db01c49a447b93fe567ff206370e7edf24f36e087ce5c64fdd38afaf7223a20bd9e2d744133800aaaffd51ff5fd1b8b14d2ae406f1fc4c22093a0881e7932e9d58153cb273649a88b644833d7e8ca074a884d2c152653fbcd7d0c9663be8d5c35395871fe2642836c074487dbd98713e5371f3a76ffea3c18d837b6ddbbed72a5bef04b0309395cdb8a274a8749b7dc8fef1d0c6a1ebe783161fcc7c051089e92b91bf4c9156650c3aaa4673019231694dc22e071af9d9e2ae622233a7668a0c616c81c09fb3e49355c906104408c1950d8f6a674e1fa1d83fc275f3b18d9fe039354a18ba71e82d606cb60fd997558ba869b39795e29636879dcf0f5c3ff0a17c2eff679bfe6653712e7479b8305643e907c480e4355db3c647c7502e86dd743b515084f3581a51a93b8346768efc0a027fa95da3148343cdfa85d45974678c028d06f83581665533bff996cd0b06370edeca363f6cb1751910916c1119a14f54a9dff342b3e75b87ac87066f189cd35bc70080259f13ad2206e076208d58f5d1c86be8d88fccea34870026f64f84990a9cb81b1ac8b037b0b8abf80f00fe2d905c84253adaf12258e395f3d5e3944e1f4f6fbd63ebc16af44471f38d375f3e7960f22930fe2ccb3b7baabed3270a015865eb9383d70f3e3eb871b0a356fa7c10a82de41df9f3e12d9b7e44302ad9558f5129b79bdc3fe9bed052047f3f428252cbc232358820a2b5ba840f80a0e74d4cf295f3439f47ad7faf7e1e0235d7d10d7d62e8a3a543a55107ceb9b1fa03cd2be6027a915caf1040c9b6110856d9bad8b19dc707ae1fa8edbd4300fa37f49fc4d36c02610deadf576d3455b55bba662441d857da87d2a4db894c61b2ef147715531b50646280e2cee2783e97ff13dde68f682d608853115fa3621140ff58d057b3d0e26368e3d056cbb6fe3ef11d3dea9aaea95d4c2c6df711cd72fa710ac63707ae1fa869a7118045004e546d2855833aec043d104359d40c91411284c9d224ac49ab925b007c83fdae6adfafc9efee5ed57d1b337f24fa708d5c7812759b45428923bfc7ce345c6659447bb7ddb3ede22c340c7d62a899cbfc2d473ad5eb077ccda30b4f27206460f91a0cf1ef13d1a6adb76dfdab2cd7ec5fdf5f98b4269ff3cadfb49b4bbc8e21fe9b4411d3b851e1f3682a1d2c05f99508ddbf24a2c2e8eed1d4069435f5082aee2a5e4744f74763fffe4b1a0322107ef8fedf01546c00e5fb44f4e759ee3ff489a1455ce6ef3b5cfde16bad7f20ddef49a9788a4640997968e0da812d59e866309320a91506855eab6c056e75503ba919fdd8cac4fe0970d9a531aa794d323f57ede103b3681255dc557c1709fa66742db3d88a45b474d6bfdf4bc7765c6305cdf8c6f09dc355ebd7076f186cb56ceb87165b2bd4fb260553a25e49cc4b49a9a851253f35e7c1fc5ffaafedff5c35da21f13224caba9a3e955e7f39f0c3ee3cc595cea8debf4b074b28954a989874adfd587cc5a5ff5710a84e17343b83b260dfbe7d5f3bff8de7b796657945c0c933809c9158b4701124a4cb91337077ca00aee47bfcc8473cc96ac27ef364f3cab11f8da52ae8a18d438ba70e4f8db2e437e84aa2437e70563401901e7ddec83361c997d2fd1d72a6429e68f2ce87008321a4b8acf3b2cedf8eed1d4b74b79e7ceac9df762ceb58c733fc1a7f4751f4bacd4dcdee8eab2603d2fb8f99218fb8231f61940f972159baf3da248026851e857e10861e79f89154f74f9d86596164e7c87579caff09245e062a592aab6ce9235c5eaf7da57a75c25c645e317cf7706af877f086c1bc655b8f32f339fef5a2c111f5fea1114767e4327fba7f437fb5ddbf3f09bea7e92b107ba96484a975cb06005d59decf46778ffe5d155a02cca94fe0c8ce912f1b39e35c087c4925ce7f31b2c50a3328356f24e881d67ceb8ae1bb870fa45d7ff086c166879d224b3e4757fd9ab85942315013fd68cdf743750ed5ea1f22358fccfc85fe0dfd896f26a5667a2c1acb57bfafed28aad82e315bca875a3d0cc0cc997f9c36a751cc5bf6ad674dcf7900d63bd2e901705e106ef5395ae01512f45d18f8e2f6af6f7f30cb3507ae1df8aecdf6ef27fde8d0881a53ab912c5a929710f30a92cef78f05966dbb675b2cabd8b7b6ef5c7bca1ed7d28fca71a893a87a5d859e10e3a9cc4cf4d9d1dda3356db3ab4bfab5f7aadee51058c292cf2641bf05f0736aa6a7b77d7d5ba9ea973d0c5c37703797f99ac4b55ddd781a8d91d7f0f0539920ae5ef586ad7f9ec3a0663a40269d337cc770ac1f71cf553d4f40e202409313885e0fe160964a5f2ce7e2deffb1d13da397a6cfaa7e1ae71ddb1fd89eb91f8f0e03d70e7cca2edbd7e81e565472a2b1f09a46f5fb1cbebed6d6d06c8bd3c4f6cf32613e08e03f447f1719b4992dfeaa8e0e6d2f6120fef02311406ffc390456cf66ae1bf2bad2340c5c37d06b1fb66f9b95b5eff527f035839432fd5863dd6b251eecf603f0bfef7bd711eb5bce48882681f291f2eb2fb9e092a6279f7e72974adef8d3e34f2e5db6f41ae788b3b8b9a9d9b5c09adceb3537b90192c01b80eb0d184d86db9f4118eef56744701feffe2f12d1ef3df2f023bf98cd7c1f13cda27d0c5c3770b66ddbdf00aa58fb9a31aa1e636ff88ce6cdabbd9318fafb6a2551c969f8c7f6947d53dfbabed8ae1c12b43e50eb12611b0009594a258b19ead328f01c115d52dc559cf52be78e2906b0cbf683b15c42ca1a1eb2a623d6704c53447215a1f3658201a96a1e151afa8078eec09eb2bfd9b7ae2fd45c7efb7ddbf78070532885aed0a7be3f517dbf0000b5c60f44b493882e9dcbc3078ea125a06f7ddf3024dee6ab65bffd8a94f1919a28683b131a85004b86684a186784fe7b703f8fddcfa703085f074ad0689a810595e0164b77b960c9c00c722cf98dcf3ef3ec3fa9bff5d9679e7d78e91b970a7944febe9412cd68ae88a2ef0dcc84dfa3a868b4dfd042bab1b8bbf8e17dfbf6c52b706ac431c100fd1bfaff501e91f1a28be89a8e48efa1e8381371d9a2c769de419312f993719f50177163306801414ebb6bb37f1d5f73c81909cce0bce5e72d7f62fcc7e3a16297679f7bb6b8ecbc65cfc819f916c9f2e4e6a66638479c900de0480738e232974b04eea51cfd51715771fb7ccd7d5ddcc05ad0bfa1bf85cbfc02839bab1a7c3aff3fa2ce55972e748c4ad955e2753488c501fceca0ff56312fa399e44a7ad6fdcb4454d87edff658d4b3e7aa9ec590f8a0c34e0f2456b264a1d0e500788204fd0b80af15771593df76324b349c01fad6f5fd0ba4ebc2e8ea071291160788c603923e4ff2c33d446d00b58845fb5e80e8f594e04e9ef25fdafec0f66bd37e52cf9a9eb3009ce64867b1218c92231dbbb8b33899712a6785863240fffafe3fb6a7ec2f27bee72fea97eb62e169986d1d40c2b20120c866aadfd3dd4367cde773f9ceed0f6c7fa2b61f515f34cc0be85fdf7f9a3d657f29a80ecef2f0333ecc00359c9f2957a0bc4cd2ef069e745f5dc32c66beb3c65f5077348c016cb6ff178066b53a184048adfa634d71808cc7a151eafdfa907f3f1dd600ecb0ab15347ebc3f466b0e1de95cd8b3a6e7fdb399af7aa1214b40dfbabe6e76f82100b1172fc5f60b64d50c550c44ddf989de81b2c6ab6b7d080ad3a87f8b2674a2b17c4318ff0ee0b5233b471af2aee0281aa201d8e12f0612e744242baa09a29258a366483b3ffad083fba668243f7ae7f73aca22f9a1f3d83913027f3aab89ab038e3a03f4adebbb16c0d26ad67e502dacbe3d6cbac6946fb5713a2cf1ed2a95070000066d4944415421d74e4524c2c89211ab46ceb2cfc03f9f9d4fcddf8cce0d473d10d4d2d23262909153d570908869aa1c872282d1710120a7e761d45c5f4df404f408259278c45df79d1907cd680e45ec5475ef07934211c4ca7572ed6f6c7f7edff3fb7e7434e63c0d47550374afeefe4f9038c3b2adf4d87c0aa292aa6a0a758c7eae3d4e4252ae4059f375fb0d74929fe45d40e2bfd53a7ff5c051d300ddabbb9bc17890c1869c919047240c3242b1f5605462f831cd704406295420414320fe79f4988fe8af1f92d468ae2022f940c6dc8177bdd0f27384cda5e72e1ddbf7fcbe86be43e8a8690003c6008317fb3b632001cbb610ec9449cac2452471be4a5852b382ba94b0444ce27d7f3f1835d74f8c2b0802181be7e7d7cc1e478d01acb2f57140b1cae1560997ec1258b236151b3a3f5241536b5c20f388f068b1db15256917b1ae1772744caa6b60c92bbb5775b7cf6e46e707478501ba5775bf070267a96bbc2af94129b95f01945607806cbb66a37e7fb4b033cd3b00e04a3c2b7b09a36bbc4e13a5d51744e9aba0a18db28f8e0690f8589a4412dcb6264ed9a9ec7fd71559e8fe5ecdcfcf2089b1f3b97ae7cea4fdf9c11865e6240dc6dcd0c860dd2381ddabba5fcfcc3f0dfea0cbe245d77ee1f6d09d377f5fa74974f7571a5cfb059a4a042fbe853c0569e707cce6b57423419dc5ddc5862489eaae0158f27f04108b99eb2422d8f8e8d9060e3ba1b5b9d6c85fe218adca6577479317af07a08de085ae93f27bf5e72bbf5b29ebf2bff68ed48bd611f55f0224de9b69cd5477f4c05b43cb0ca7ecc0293b41ec3db44346ce7e04dc87e4b0535db215faabc629223589a1e3a837233c2610b8329d80faa1ae4b40f7aaee73ecb2fd9c2e91a345868a1f00f0edb4a4f716ea108dd1a7198ceab1ca742a6afd7e95f115838cd347768c647a87e27ca22e1b437cb0e4d559ebfa132b7aa2a3b776120816acf8c349d9e1a3aee9a97186a8c648a057bd5feaf7ab8fa700380fc00f6b9ee439a2be4b80c415695677ad63e83a8a4dc092830da8c128e379fe4c3b8412e20ea971855a77246946473a0de9945e6f1be0bca47c7e3509d34952c80688f8eda9f183481c21533c206a33cc4eb2338f8630ceacf3b3d0a26e0cd0b5b22b0789f64c113ec4254d2b7109129beaffd7e01ac6be5feb1ec36a9a255d032c99f787900175630012b484c1f95409833e829788044954bfaff526b230414423a55e3fe97e3a4d95c56b016008a321d559756300967c4acd1287e435374096b538e9f32aa3ff30637f9f65c431913e8da670a4f352cd933c0fa8a706f86d4d11ba882465ad0f08618e6bf6ac228baa26d3792d691a00210db06fde26bf06d453031c22d4c00419bd85986688b87c99acf684314ba2288b268bfd9e14c957e87f642ef33d5bd44f03802601ec9b75cc3ecd465035c33cd60754cd46ce92fe34c9f72282f78fec1899d5fefeb9a26e0c50dc5d9c81c077e692b001aaaca9296392a648d310356513b3d09f4df2670c61ccebbb096a415de3002468cbbc67f312344335bf3df5387a3d40bb8667d210b5483e00838c778fec1899d37b12e682bad604eefbf9be97da5edbf6b298116be68d096622fbf393f6fb571f7f2a841803f01312f40abbbb724f0efa0f480ef723881ea7d12722b585225ee308000619ef1bd931f2ad7a3e836a382abe67d7caae8f83b1795e35418a046a6c0607024f03f82e113d06602f249e2fee2e068ab8674dcfa98e749602b89299df4ea02b55d7306b1c419bc88a63ca93fcf97813c99c70d4820f5d2bbbde0dc66d0c2ed49d0940003006814721b09304ed29ee2a1ea885deee55dd6f06f07e967c0d80d767721553b27e4a0af8070619eb471e187976fe67b9761cd5e853d7ca2e9340ffd57b7dea89f32cf9cf00d84d82f600f86e7177f199f9a0b967758f70e0f442623d4bbe6a0e92ff1b43187f3bb273e4afe683aef94243c28fdd2bbb5fc792fb00bc9b255f368b877d10c01880e720f03d02fd6b7177f1dfea4d77cfea9e658e74d60278174bbe2893e403af1864fc6f009f1dd931f25cbd69ac150def10d2bdaafbf52cf90202bd8925b742a0151227c3ddbf3305815f41e220093ac8e09f92a0e701bc50dc559c6a24dd3d6b7ace83c42a001738d2b908c0a9001641600a122f1bc2d80b815108dc3ff2c048cdef423a5a683803a8e85ed97d1a839790a09358f234817ec5e0c324e8c5e2ae6274cbe63101afadcb72473a7903c66207ce4b86302c004f8dec18d9df68fa8ee3388ee3388ee3388ee33874f87fa1ff8da830a4956c0000000049454e44ae426082</data> + </image> +</images> +<layoutdefaults spacing="6" margin="11"/> +</UI> diff --git a/config/colordialog.cpp b/config/colordialog.cpp new file mode 100644 index 0000000..3466082 --- /dev/null +++ b/config/colordialog.cpp @@ -0,0 +1,300 @@ +#include "colordialog.h" +#include <qlabel.h> +#include <qdir.h> +#include <qcombobox.h> +#include <qlayout.h> +#include <qpainter.h> +#include <qpixmap.h> +#include <qpushbutton.h> +#include <qstyle.h> +#include <kglobal.h> +#include <kglobalsettings.h> +#include <kcolordialog.h> +#include <kiconloader.h> +#include "colorpicker.h" +#include "pixmaps.h" + +#include "config.h" + +#ifndef CLAMP +#define CLAMP(x,l,u) x < l ? l :\ +x > u ? u :\ +x +#endif + +#define SATURATION_COLOR2(S,R,G,B) \ +int max = (int)(255+0.65*(100-S)); \ +destR = CLAMP((srcR + R - 128), 0, max); \ +destG = CLAMP((srcG + G - 128), 0, max); \ +destB = CLAMP((srcB + B - 128), 0, max); \ +destR = (S*destR + (100-S)*R)/100; \ +destG = (S*destG + (100-S)*G)/100; \ +destB = (S*destB + (100-S)*B)/100; + +#define COLOR_SPACE(R,G,B) \ +if ( R < 0 ) R = 0; else if ( R > 255 ) R = 255; \ +if ( G < 0 ) G = 0; else if ( G > 255 ) G = 255; \ +if ( B < 0 ) B = 0; else if ( B > 255 ) B = 255; + +ColorDialog::ColorDialog(QWidget* parent, const char* name) : QDialog( parent, name) +{ + QVBoxLayout *vertical = new QVBoxLayout(this); + QHBoxLayout *top = new QHBoxLayout(vertical); + demo = new DemoWindow(this); + top->addWidget(demo); + QVBoxLayout *topRight = new QVBoxLayout(top); + QLabel *info = new QLabel("<qt>Select custom colors or grab directly from screen.<br>Click image left to switch between items.</qt>",this); + topRight->addWidget(info); + QIconSet icon = KGlobal::iconLoader()->loadIconSet("colorpicker", KIcon::Small); + buttonCP = new QPushButton(icon, QString::null, this); + topRight->addWidget(buttonCP); + QLabel *lb = new QLabel("From other app:",this); + topRight->addWidget(lb); + other = new QComboBox(this); + topRight->addWidget(other); + topRight->addStretch(); + buttonOk = new QPushButton("&Ok", this); + topRight->addWidget(buttonOk); + buttonCancel = new QPushButton("&Cancel", this); + topRight->addWidget(buttonCancel); + const char *title[NUMCOLORS] = {"Background", "Button", "Base", "Text", "Highlight", "Highlighted Text", "Button Text", "Alternate Background"}; + for (int i = 0; i < NUMCOLORS; i++) + { + picker[i] = new ColorPicker(this, title[i]); + vertical->addWidget(picker[i]); + connect (picker[i], SIGNAL(colorChanged(QColor)), demo, SLOT(smartRepaint())); + picker[i]->hide(); + } + for (int i = 0; i < NUMCOLORS; i++) + picker[i]->blockSignals(true); + picker[Back]->setColor(colorGroup().background()); + picker[Button]->setColor(colorGroup().button()); + picker[Base]->setColor(colorGroup().base()); + picker[Text]->setColor(colorGroup().text()); + picker[High]->setColor(colorGroup().highlight()); + picker[HighText]->setColor(colorGroup().highlightedText()); + picker[ButText]->setColor(colorGroup().buttonText ()); + picker[Alternate]->setColor(KGlobalSettings::alternateBackgroundColor()); + for (int i = 0; i < NUMCOLORS; i++) + picker[i]->blockSignals(false); +// demo->repaint(false); + + picker[Button]->show(); + connect (buttonOk, SIGNAL(clicked()), this, SLOT(close())); + connect (buttonCP, SIGNAL(clicked()), this, SLOT(grabColor())); + connect (buttonCancel, SIGNAL(clicked()), this, SLOT(close())); + connect (other, SIGNAL(activated (const QString &)), this, SLOT(getFromOther(const QString &))); +} + +ColorDialog::~ColorDialog() +{ +} + +void ColorDialog::show() +{ + other->clear(); + QDir d( QDir::homeDirPath() + "/.baghira", 0L, QDir::Name | QDir::IgnoreCase, QDir::Files | QDir::Readable | QDir::Writable ); + if (d.exists()) + { + for ( uint i = 0; i < d.count(); i++ ) + other->insertItem(d[i]); + } + QDialog::show(); + demo->show(); +// demo->repaint(false); +} + +void ColorDialog::getFromOther( const QString & string ) +{ + FILE *file = NULL; + QString tmpString = QDir::homeDirPath() + "/.baghira/" + string; + if( (file = fopen(tmpString.latin1(), "r")) != NULL ) + { + uint k; + int colors[NUMCOLORS]; + for (int i = 0; i < NUMCOLORS; i++) + colors[i] = -1; + fscanf(file,"%u\n%u\n%u\n%u\n%u\n%u\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n",&k,&k,&k,&k,&k,&k,&colors[0],&colors[1],&colors[2],&colors[3],&colors[4],&colors[5],&colors[6],&colors[7]); + fclose(file); + for (int i = 0; i < NUMCOLORS; i++) + { + picker[i]->blockSignals(true); + if (colors[i] != -1) picker[i]->setColor(QColor(colors[i])); + picker[i]->blockSignals(false); + } + demo->repaint(false); + } +} + +void ColorDialog::grabColor() +{ + gettingColorFromScreen = true; + grabMouse(crossCursor); + grabKeyboard(); +} + +void ColorDialog::mouseReleaseEvent(QMouseEvent* me) +{ + if (gettingColorFromScreen) + { + gettingColorFromScreen = false; + releaseMouse(); + releaseKeyboard(); + for (int i = 0; i < NUMCOLORS; i++) + { + if (picker[i]->isShown()) + { + picker[i]->setColor(KColorDialog::grabColor(me->globalPos())); + break; + } + } + } + else + QDialog::mouseReleaseEvent(me); +} + +//extern QImage uic_findiImage(const QString& name); +//extern void qInitImages_baghira(); +//extern void qCleanupImages_baghira(); + + +DemoWindow::DemoWindow( ColorDialog* parent, const char* name) : QWidget(parent, name) +{ + setBackgroundMode ( Qt::NoBackground ); + colorDialog_ = parent; + setFixedSize(320,120); + pm = new QPixmap(320,120); + pp = new QPainter(); + p = new QPainter(); + (const_cast<QFont*>(&p->font()))->setPixelSize(16); + baseRect = QRect(20, 10, 200, 100); + buttonRect = QRect(230, 90, 37, 21); + buttonTextRect = QRect(236, 91, 20, 18); + highlightRect = QRect(21, 42, 198, 22); + textRect = QRect(25, 21, 100, 18); + highTextRect = QRect(25, 42, 120, 22); + alternateRect = QRect(21, 86, 198, 22); + baseImage = uic_findImage("button-base"); + dest = QImage( baseImage.width(), baseImage.height(), 32 ); + dest.setAlphaBuffer( true ); +} + +DemoWindow::~DemoWindow(){} + +void DemoWindow::mousePressEvent ( QMouseEvent * me ) +{ + for (int i = 0; i < NUMCOLORS; i++) + colorDialog_->picker[i]->hide(); + + if (buttonTextRect.contains(me->pos())) + colorDialog_->picker[ButText]->show(); + else if (buttonRect.contains(me->pos())) + colorDialog_->picker[Button]->show(); + else if (textRect.contains(me->pos())) + colorDialog_->picker[Text]->show(); + else if (highTextRect.contains(me->pos())) + colorDialog_->picker[HighText]->show(); + else if (highlightRect.contains(me->pos())) + colorDialog_->picker[High]->show(); + else if (alternateRect.contains(me->pos())) + colorDialog_->picker[Alternate]->show(); + else if (baseRect.contains(me->pos())) + colorDialog_->picker[Base]->show(); + else + colorDialog_->picker[Back]->show(); +} + +void DemoWindow::paintEvent ( QPaintEvent * ) +{ + pp->begin(pm); + pp->fillRect(0,0,pm->width(),pm->height(), colorDialog_->picker[Back]->color()); + style().drawPrimitive( QStyle::PE_PanelLineEdit, pp, rect(), colorGroup() ); + pp->fillRect(baseRect, colorDialog_->picker[Base]->color()); + pp->fillRect(highlightRect, colorDialog_->picker[High]->color()); + pp->fillRect(alternateRect, colorDialog_->picker[Alternate]->color()); + pp->setPen ( colorDialog_->picker[Text]->color() ); + pp->drawText ( textRect, Qt::AlignAuto | Qt::AlignVCenter, "Common Text"); + pp->drawText ( alternateRect, Qt::AlignAuto | Qt::AlignVCenter, "Alt. Background"); + pp->setPen ( colorDialog_->picker[HighText]->color() ); + pp->drawText ( highTextRect, Qt::AlignAuto | Qt::AlignVCenter, "Highlighted Text"); + pp->drawPixmap(buttonRect, tintButton(baseImage, colorDialog_->picker[Button]->color())); + pp->setPen ( colorDialog_->picker[ButText]->color() ); + pp->drawText ( buttonTextRect, Qt::AlignCenter, "B"); + style().drawPrimitive( QStyle::PE_PanelLineEdit, pp, baseRect, colorGroup()); + pp->end(); + p->begin(this); + p->drawPixmap(0,0, *pm); + p->end(); +} + +void DemoWindow::smartRepaint() +{ + if (colorDialog_->picker[Back]->isShown()) + { + QWidget::repaint(false); + return; + } + if (colorDialog_->picker[Button]->isShown()) + { + QWidget::repaint(buttonRect, false); + return; + } + if (colorDialog_->picker[Base]->isShown()) + { + QWidget::repaint(false); + return; + } + if (colorDialog_->picker[Text]->isShown()) + { + QWidget::repaint(textRect, false); + return; + } + if (colorDialog_->picker[High]->isShown()) + { + QWidget::repaint(highlightRect, false); + return; + } + if (colorDialog_->picker[HighText]->isShown()) + { + QWidget::repaint(highTextRect, false); + return; + } + if (colorDialog_->picker[Alternate]->isShown()) + { + QWidget::repaint(alternateRect, false); + return; + } + if (colorDialog_->picker[ButText]->isShown()) + { + QWidget::repaint(buttonTextRect, false); + return; + } +} + +QImage & DemoWindow::tintButton(QImage &src, QColor & c) +{ +// dest = QImage( src.width(), src.height(), 32, 0, _ENDIAN_ ); + unsigned int *data = ( unsigned int * ) src.bits(); + unsigned int *destData = ( unsigned int* ) dest.bits(); + int total = src.width() * src.height(); + int red, green, blue; + int destR, destG, destB, alpha; + int srcR = c.red(); + int srcG = c.green(); + int srcB = c.blue(); + int hue, s, v; + c.getHsv( &hue, &s, &v ); + int sq = CLAMP((int)((45.0/128.0)*s+55),0,100); + // float srcPercent, destPercent; + for ( int current = 0 ; current < total ; ++current ) { + alpha = qAlpha( data[ current ] ); + blue = qBlue( data[ current ] ); + red = qRed( data[ current ] ); + green = qGreen( data[ current ] ); + SATURATION_COLOR2(sq, red, green, blue); + // force back to valid colorspace ! + COLOR_SPACE(destR, destG, destB); + destData[ current ] = qRgba( destR, destG, destB, alpha ); + } + return ( dest ); +} diff --git a/config/colordialog.h b/config/colordialog.h new file mode 100644 index 0000000..23c4808 --- /dev/null +++ b/config/colordialog.h @@ -0,0 +1,90 @@ +#ifndef COLORDIALOG_H +#define COLORDIALOG_H + +#include <qdialog.h> +#include <qrect.h> +#include <qimage.h> + +class QPushButton; +class QComboBox; +class QGroupBox; +class QPainter; +class ColorDialog; +class QImage; +class QPixmap; + +enum Colors { Back = 0, Button, Base, Text, High, HighText, ButText, Alternate, NUMCOLORS }; + +class DemoWindow : public QWidget +{ + Q_OBJECT + +public: + DemoWindow( ColorDialog* parent = 0, const char* name = 0); + ~DemoWindow(); + +private slots: + void smartRepaint(); + +protected: + void mousePressEvent ( QMouseEvent * e ); + void paintEvent ( QPaintEvent * ); + +private: + QPainter *p; + QPainter *pp; + QPixmap *pm; + ColorDialog* colorDialog_; + QRect baseRect; + QRect buttonRect; + QRect buttonTextRect; + QRect highlightRect; + QRect textRect; + QRect highTextRect; + QRect alternateRect; + QImage baseImage; + QImage dest; + +private: + QImage & tintButton(QImage &src, QColor & c); + +signals: + void selected(Colors c); + +}; + +class ColorPicker; + +class ColorDialog : public QDialog +{ + friend class DemoWindow; + friend class AppSetter; + Q_OBJECT + +public: + ColorDialog( QWidget* parent = 0, const char* name = 0); + ~ColorDialog(); + QPushButton *buttonOk; + QPushButton *buttonCancel; + void show(); + +protected: + ColorPicker *picker[NUMCOLORS]; + void mouseReleaseEvent(QMouseEvent* me); + DemoWindow *demo; + +private: + QPushButton *buttonCP; + bool gettingColorFromScreen; + QComboBox *other; + +private slots: + void grabColor(); + void getFromOther( const QString & string ); + +signals: + void colorChanged(QColor color); + +}; + +#endif // COLORPICKER_H diff --git a/config/colorpicker.cpp b/config/colorpicker.cpp new file mode 100644 index 0000000..263ef0d --- /dev/null +++ b/config/colorpicker.cpp @@ -0,0 +1,81 @@ +#include "colorpicker.h" +#include <qcolor.h> +#include <qlayout.h> +#include <knuminput.h> + +ColorPicker::ColorPicker(QWidget* parent, const char* name) : QGroupBox( parent, name) +{ + setTitle(name); + setColumnLayout(0, Qt::Vertical ); + layout()->setSpacing( 6 ); + layout()->setMargin( 11 ); + + QVBoxLayout *vLayout = new QVBoxLayout(layout()); + + red = new KIntNumInput(this, "red"); + red->setRange(0, 255, 1, true); + red->setLabel("R"); + vLayout->addWidget(red); + green = new KIntNumInput(this, "green"); + green->setRange(0, 255, 1, true); + green->setLabel("G"); + vLayout->addWidget(green); + blue = new KIntNumInput(this, "blue"); + blue->setRange(0, 255, 1, true); + blue->setLabel("B"); + vLayout->addWidget(blue); + connect (red, SIGNAL(valueChanged( int )), this, SLOT(emitChange())); + connect (green, SIGNAL(valueChanged( int )), this, SLOT(emitChange())); + connect (blue, SIGNAL(valueChanged( int )), this, SLOT(emitChange())); +} + +ColorPicker::~ColorPicker() +{ +} + +void ColorPicker::emitChange() +{ + emit colorChanged(QColor(red->value(), green->value(), blue->value())); +} + +void ColorPicker::setColor(const QColor & color) +{ + red->setValue( color.red() ); + green->setValue( color.green() ); + blue->setValue( color.blue() ); + emit colorChanged(color); +} + +void ColorPicker::setRed(int r) +{ + red->setValue( r ); + emit colorChanged(QColor(r, green->value(), blue->value())); +} + +void ColorPicker::setGreen(int g) +{ + green->setValue( g ); + emit colorChanged(QColor(red->value(), g, blue->value())); +} + +void ColorPicker::setBlue(int b) +{ + blue->setValue( b ); + emit colorChanged(QColor(red->value(), green->value(), b)); +} + +QColor & ColorPicker::color() +{ + color__ = QColor(red->value(), green->value(), blue->value()); + return color__; +} + +void ColorPicker::reset() +{ + setColor(color_); +} + +void ColorPicker::init() +{ + color_ = color(); +} diff --git a/config/colorpicker.h b/config/colorpicker.h new file mode 100644 index 0000000..6f813b2 --- /dev/null +++ b/config/colorpicker.h @@ -0,0 +1,39 @@ +#ifndef COLORPICKER_H +#define COLORPICKER_H + +#include <qgroupbox.h> + +class KIntNumInput; +class QColor; + +class ColorPicker : public QGroupBox +{ + Q_OBJECT + +public: + ColorPicker( QWidget* parent = 0, const char* name = 0); + ~ColorPicker(); + QColor & color(); + +public slots: + void setColor(const QColor & color); + void setRed(int red); + void emitChange(); + void setGreen(int green); + void setBlue(int blue); + void reset(); + void init(); + +protected: + KIntNumInput *red; + KIntNumInput *green; + KIntNumInput *blue; + QColor color_; + QColor color__; + +signals: + void colorChanged(QColor color); + +}; + +#endif // COLORPICKER_H diff --git a/config/configdialog.ui b/config/configdialog.ui new file mode 100644 index 0000000..870e4cf --- /dev/null +++ b/config/configdialog.ui @@ -0,0 +1,3039 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>Config</class> +<widget class="QWidget"> + <property name="name"> + <cstring>Config</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>643</width> + <height>646</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>7</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="caption"> + <string>Configure Your Cat</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget" row="1" column="0"> + <property name="name"> + <cstring>layout55</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QPushButton"> + <property name="name"> + <cstring>buttonHelp</cstring> + </property> + <property name="text"> + <string>&Help</string> + </property> + <property name="accel"> + <string>F1</string> + </property> + <property name="autoDefault"> + <bool>true</bool> + </property> + </widget> + <widget class="QPushButton"> + <property name="name"> + <cstring>buttonAbout</cstring> + </property> + <property name="text"> + <string>About</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer37_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>210</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QLabel"> + <property name="name"> + <cstring>statusWarning</cstring> + </property> + <property name="font"> + <font> + <bold>1</bold> + </font> + </property> + <property name="text"> + <string></string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer35_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>160</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QPushButton"> + <property name="name"> + <cstring>buttonLoad</cstring> + </property> + <property name="text"> + <string>Load...</string> + </property> + </widget> + <widget class="QPushButton"> + <property name="name"> + <cstring>buttonSaveAs</cstring> + </property> + <property name="text"> + <string>Save As...</string> + </property> + </widget> + </hbox> + </widget> + <widget class="QTabWidget" row="0" column="0"> + <property name="name"> + <cstring>tabWidget</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>7</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <widget class="QWidget"> + <property name="name"> + <cstring>Widget8</cstring> + </property> + <attribute name="title"> + <string>General Design</string> + </attribute> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer row="4" column="2"> + <property name="name"> + <cstring>spacer35_5</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>38</height> + </size> + </property> + </spacer> + <widget class="QGroupBox" row="1" column="0" rowspan="1" colspan="3"> + <property name="name"> + <cstring>groupBox13</cstring> + </property> + <property name="title"> + <string>Groupboxes</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget" row="0" column="0"> + <property name="name"> + <cstring>layout22</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QCheckBox"> + <property name="name"> + <cstring>shadowGroups</cstring> + </property> + <property name="text"> + <string>Sink Groupboxes</string> + </property> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout7</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel5</cstring> + </property> + <property name="text"> + <string>Depth</string> + </property> + </widget> + <widget class="QSlider"> + <property name="name"> + <cstring>shadowIntensity</cstring> + </property> + <property name="maxValue"> + <number>10</number> + </property> + <property name="lineStep"> + <number>1</number> + </property> + <property name="pageStep"> + <number>1</number> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="tickmarks"> + <enum>Below</enum> + </property> + <property name="tickInterval"> + <number>10</number> + </property> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout6</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel6</cstring> + </property> + <property name="text"> + <string>Flat</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer3</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>81</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel7</cstring> + </property> + <property name="text"> + <string>Deep</string> + </property> + </widget> + </hbox> + </widget> + </vbox> + </widget> + </vbox> + </widget> + </grid> + </widget> + <widget class="QGroupBox" row="0" column="3"> + <property name="name"> + <cstring>groupBox12</cstring> + </property> + <property name="title"> + <string>Coloring</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel12</cstring> + </property> + <property name="text"> + <string>Color function</string> + </property> + </widget> + <widget class="QComboBox" row="1" column="0"> + <item> + <property name="text"> + <string>Aquarius</string> + </property> + </item> + <item> + <property name="text"> + <string>Liquid (depreached)</string> + </property> + </item> + <property name="name"> + <cstring>colorMode</cstring> + </property> + <property name="toolTip" stdset="0"> + <string>"Aquarius" is very Aqua like<br>"Liquid" bases upon mosfet's original Code</string> + </property> + </widget> + <widget class="QLayoutWidget" row="4" column="0"> + <property name="name"> + <cstring>layout123</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QComboBox"> + <item> + <property name="text"> + <string>Fixed</string> + </property> + </item> + <item> + <property name="text"> + <string>Background</string> + </property> + </item> + <item> + <property name="text"> + <string>Active Button</string> + </property> + </item> + <item> + <property name="text"> + <string>Custom</string> + </property> + </item> + <property name="name"> + <cstring>inactiveColorType</cstring> + </property> + <property name="toolTip" stdset="0"> + <string>"Background" is ok, as long as you don't use a very dark color scheme. In this case use "Fixed" or "Custom" to get more control over the appereance</string> + </property> + </widget> + <widget class="KColorButton"> + <property name="name"> + <cstring>customInactiveColor</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLabel" row="3" column="0"> + <property name="name"> + <cstring>textLabel13</cstring> + </property> + <property name="text"> + <string>Unhovered / Inactive Widget Color</string> + </property> + </widget> + <widget class="Line" row="2" column="0"> + <property name="name"> + <cstring>line14_2</cstring> + </property> + <property name="frameShape"> + <enum>HLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + </grid> + </widget> + <widget class="QGroupBox" row="1" column="3"> + <property name="name"> + <cstring>groupBox11</cstring> + </property> + <property name="title"> + <string>Scanlines</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QCheckBox" row="0" column="0"> + <property name="name"> + <cstring>stippleBackground</cstring> + </property> + <property name="text"> + <string>Use Scanlines in Aqua Design</string> + </property> + </widget> + <widget class="QLayoutWidget" row="2" column="0"> + <property name="name"> + <cstring>layout4</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel2</cstring> + </property> + <property name="text"> + <string>Scanline contrast</string> + </property> + </widget> + <widget class="QSlider"> + <property name="name"> + <cstring>stippleContrast</cstring> + </property> + <property name="maxValue"> + <number>10</number> + </property> + <property name="lineStep"> + <number>1</number> + </property> + <property name="pageStep"> + <number>1</number> + </property> + <property name="tracking"> + <bool>true</bool> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="tickmarks"> + <enum>NoMarks</enum> + </property> + <property name="tickInterval"> + <number>10</number> + </property> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout3</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel3</cstring> + </property> + <property name="text"> + <string>Low</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>221</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel4</cstring> + </property> + <property name="text"> + <string>High</string> + </property> + </widget> + </hbox> + </widget> + </vbox> + </widget> + <widget class="Line" row="1" column="0"> + <property name="name"> + <cstring>line13</cstring> + </property> + <property name="frameShape"> + <enum>HLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + </grid> + </widget> + <widget class="QGroupBox" row="3" column="0" rowspan="1" colspan="4"> + <property name="name"> + <cstring>groupButtonPreview</cstring> + </property> + <property name="title"> + <string>Button Color</string> + </property> + <property name="toolTip" stdset="0"> + <string><b>This now will affect your button color, but <i>not</i> touch the color settings</b></string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget" row="0" column="0"> + <property name="name"> + <cstring>layout59</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout58</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer38</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>10</height> + </size> + </property> + </spacer> + <widget class="QLabel"> + <property name="name"> + <cstring>pixmapButtonPreview</cstring> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer39</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>10</height> + </size> + </property> + </spacer> + </vbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout55</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel1_5</cstring> + </property> + <property name="text"> + <string>R</string> + </property> + </widget> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel2_5</cstring> + </property> + <property name="text"> + <string>G</string> + </property> + </widget> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel3_4</cstring> + </property> + <property name="text"> + <string>B</string> + </property> + </widget> + </vbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout53</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QSlider"> + <property name="name"> + <cstring>sliderButtonRed</cstring> + </property> + <property name="maxValue"> + <number>255</number> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + <widget class="QSlider"> + <property name="name"> + <cstring>sliderButtonGreen</cstring> + </property> + <property name="maxValue"> + <number>255</number> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + <widget class="QSlider"> + <property name="name"> + <cstring>sliderButtonBlue</cstring> + </property> + <property name="maxValue"> + <number>255</number> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + </vbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout56</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>valueButtonRed</cstring> + </property> + <property name="text"> + <string>0</string> + </property> + </widget> + <widget class="QLabel"> + <property name="name"> + <cstring>valueButtonGreen</cstring> + </property> + <property name="text"> + <string>0</string> + </property> + </widget> + <widget class="QLabel"> + <property name="name"> + <cstring>valueButtonBlue</cstring> + </property> + <property name="text"> + <string>0</string> + </property> + </widget> + </vbox> + </widget> + </hbox> + </widget> + </grid> + </widget> + <widget class="QLabel" row="2" column="0"> + <property name="name"> + <cstring>textLabel1_10</cstring> + </property> + <property name="text"> + <string>Color presets</string> + </property> + </widget> + <widget class="QComboBox" row="2" column="1"> + <property name="name"> + <cstring>colorPresets</cstring> + </property> + </widget> + <spacer row="2" column="2"> + <property name="name"> + <cstring>spacer36_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>207</width> + <height>20</height> + </size> + </property> + </spacer> + <spacer row="2" column="3"> + <property name="name"> + <cstring>spacer37_4</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>316</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QCheckBox" row="4" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>animateButtons</cstring> + </property> + <property name="text"> + <string>Animate Buttons</string> + </property> + </widget> + <widget class="QGroupBox" row="0" column="0" rowspan="1" colspan="3"> + <property name="name"> + <cstring>groupBox10</cstring> + </property> + <property name="title"> + <string>Generation</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="Line" row="0" column="1" rowspan="4" colspan="1"> + <property name="name"> + <cstring>line2</cstring> + </property> + <property name="frameShape"> + <enum>VLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + </widget> + <widget class="QLayoutWidget" row="0" column="0" rowspan="4" colspan="1"> + <property name="name"> + <cstring>layout48</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="text"> + <string>Default Design is</string> + </property> + </widget> + <widget class="QComboBox"> + <item> + <property name="text"> + <string>Jaguar</string> + </property> + </item> + <item> + <property name="text"> + <string>Panther</string> + </property> + </item> + <item> + <property name="text"> + <string>iTunes</string> + </property> + </item> + <item> + <property name="text"> + <string>Tiger</string> + </property> + </item> + <item> + <property name="text"> + <string>Milk</string> + </property> + </item> + <property name="name"> + <cstring>defaultStyle</cstring> + </property> + <property name="toolTip" stdset="0"> + <string></string> + </property> + </widget> + <widget class="Line"> + <property name="name"> + <cstring>line14</cstring> + </property> + <property name="frameShape"> + <enum>HLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer36_3</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>49</height> + </size> + </property> + </spacer> + </vbox> + </widget> + <widget class="QLabel" row="0" column="2"> + <property name="name"> + <cstring>textLabel1_9</cstring> + </property> + <property name="text"> + <string>Buttons look like</string> + </property> + </widget> + <widget class="QLabel" row="2" column="2"> + <property name="name"> + <cstring>textLabel2_8</cstring> + </property> + <property name="text"> + <string>Toolbuttons look like</string> + </property> + </widget> + <widget class="QComboBox" row="1" column="2"> + <item> + <property name="text"> + <string>Jaguar</string> + </property> + </item> + <item> + <property name="text"> + <string>Panther</string> + </property> + </item> + <item> + <property name="text"> + <string>iTunes</string> + </property> + </item> + <item> + <property name="text"> + <string>Tiger</string> + </property> + </item> + <item> + <property name="text"> + <string>Milk</string> + </property> + </item> + <property name="name"> + <cstring>buttonStyle</cstring> + </property> + </widget> + <widget class="QComboBox" row="3" column="2"> + <item> + <property name="text"> + <string>Jaguar</string> + </property> + </item> + <item> + <property name="text"> + <string>Panther</string> + </property> + </item> + <item> + <property name="text"> + <string>iTunes</string> + </property> + </item> + <item> + <property name="text"> + <string>Tiger</string> + </property> + </item> + <item> + <property name="text"> + <string>Milk</string> + </property> + </item> + <property name="name"> + <cstring>toolbuttonStyle</cstring> + </property> + </widget> + </grid> + </widget> + </grid> + </widget> + <widget class="QWidget"> + <property name="name"> + <cstring>Widget9</cstring> + </property> + <attribute name="title"> + <string>Special Widgets</string> + </attribute> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QGroupBox" row="2" column="1"> + <property name="name"> + <cstring>groupBox9</cstring> + </property> + <property name="title"> + <string>Tabs</string> + </property> + <property name="toolTip" stdset="0"> + <string><qt>Panther introduced so called choosers<br>Qt has only Tabs, but you can influence their appereance here a bit</qt></string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QComboBox" row="5" column="0"> + <item> + <property name="text"> + <string>Tabs</string> + </property> + </item> + <item> + <property name="text"> + <string>Clever</string> + </property> + </item> + <item> + <property name="text"> + <string>Choosers</string> + </property> + </item> + <property name="name"> + <cstring>brushedTabs</cstring> + </property> + </widget> + <widget class="QLabel" row="4" column="0"> + <property name="name"> + <cstring>textLabel3_7</cstring> + </property> + <property name="text"> + <string>Brushed Tabs are</string> + </property> + </widget> + <widget class="QComboBox" row="3" column="0"> + <item> + <property name="text"> + <string>Tabs</string> + </property> + </item> + <item> + <property name="text"> + <string>Clever</string> + </property> + </item> + <item> + <property name="text"> + <string>Choosers</string> + </property> + </item> + <property name="name"> + <cstring>aquaTabs</cstring> + </property> + </widget> + <widget class="QLabel" row="2" column="0"> + <property name="name"> + <cstring>textLabel2_7</cstring> + </property> + <property name="text"> + <string>Aqua tabs are</string> + </property> + </widget> + <widget class="Line" row="1" column="0"> + <property name="name"> + <cstring>line4</cstring> + </property> + <property name="frameShape"> + <enum>HLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + <widget class="QCheckBox" row="0" column="0"> + <property name="name"> + <cstring>centerTabs</cstring> + </property> + <property name="text"> + <string>Center Align Tabs</string> + </property> + </widget> + </grid> + </widget> + <widget class="QGroupBox" row="0" column="1" rowspan="2" colspan="1"> + <property name="name"> + <cstring>groupBox2</cstring> + </property> + <property name="title"> + <string>Scrollbars</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QCheckBox" row="0" column="0"> + <property name="name"> + <cstring>animateSlider</cstring> + </property> + <property name="text"> + <string>Animate Hovered Slider</string> + </property> + </widget> + <widget class="QCheckBox" row="2" column="0"> + <property name="name"> + <cstring>squeezeSlider</cstring> + </property> + <property name="text"> + <string>Squeeze pressed Slider</string> + </property> + </widget> + <widget class="QCheckBox" row="1" column="0"> + <property name="name"> + <cstring>shadowSlider</cstring> + </property> + <property name="text"> + <string>Shadow Slider</string> + </property> + </widget> + </grid> + </widget> + <spacer row="2" column="2"> + <property name="name"> + <cstring>spacer31_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QGroupBox" row="0" column="0"> + <property name="name"> + <cstring>groupBox1</cstring> + </property> + <property name="title"> + <string>ListViews</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget" row="2" column="0"> + <property name="name"> + <cstring>layout68</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout67</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QCheckBox"> + <property name="name"> + <cstring>drawTreeLines</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>4</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Draw Tree Lines</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer60</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>31</width> + <height>20</height> + </size> + </property> + </spacer> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout66</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel8</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>4</hsizetype> + <vsizetype>5</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Expanders look like</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer61</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>31</width> + <height>20</height> + </size> + </property> + </spacer> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout65</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QCheckBox"> + <property name="name"> + <cstring>useCustomExpanderColor</cstring> + </property> + <property name="text"> + <string>Use Custom Expander Color</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer59</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>31</width> + <height>20</height> + </size> + </property> + </spacer> + </hbox> + </widget> + </vbox> + </widget> + <widget class="QLayoutWidget" row="2" column="1"> + <property name="name"> + <cstring>layout71</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout70</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QComboBox"> + <item> + <property name="text"> + <string>Lines</string> + </property> + </item> + <item> + <property name="text"> + <string>Dots</string> + </property> + </item> + <property name="name"> + <cstring>treeLineMode</cstring> + </property> + </widget> + <widget class="KColorButton"> + <property name="name"> + <cstring>treeLineColor</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>4</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string></string> + </property> + </widget> + </hbox> + </widget> + <widget class="QComboBox"> + <item> + <property name="text"> + <string>Apple</string> + </property> + </item> + <item> + <property name="text"> + <string>M$</string> + </property> + </item> + <property name="name"> + <cstring>expanderMode</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip" stdset="0"> + <string>Expanders are the little icons you can click to open a new Layer in the tree</string> + </property> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout69</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer15</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>150</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="KColorButton"> + <property name="name"> + <cstring>customExpanderColor</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + </hbox> + </widget> + </vbox> + </widget> + <widget class="Line" row="1" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>line5</cstring> + </property> + <property name="frameShape"> + <enum>HLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>useRectLVH</cstring> + </property> + <property name="text"> + <string>Use flatter Listview Header</string> + </property> + <property name="toolTip" stdset="0"> + <string>Makes Listview Headers look like the rectangular Buttons</string> + </property> + </widget> + <widget class="QCheckBox" row="3" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>bevelHighlights</cstring> + </property> + <property name="text"> + <string>Use Bevel as Highlight Color</string> + </property> + </widget> + </grid> + </widget> + <widget class="QGroupBox" row="1" column="0" rowspan="2" colspan="1"> + <property name="name"> + <cstring>groupBox4</cstring> + </property> + <property name="title"> + <string>Kicker</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QCheckBox" row="3" column="0"> + <property name="name"> + <cstring>roundTasks</cstring> + </property> + <property name="text"> + <string>Use Round Taskbuttons</string> + </property> + </widget> + <widget class="Line" row="4" column="0"> + <property name="name"> + <cstring>line6</cstring> + </property> + <property name="frameShape"> + <enum>HLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + <widget class="QCheckBox" row="5" column="0"> + <property name="name"> + <cstring>replaceMenubar</cstring> + </property> + <property name="text"> + <string>Replace menubar extension (display app name)</string> + </property> + </widget> + <widget class="QLayoutWidget" row="6" column="0"> + <property name="name"> + <cstring>layout49</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel1_11</cstring> + </property> + <property name="text"> + <string>Maximum width</string> + </property> + </widget> + <widget class="QSpinBox"> + <property name="name"> + <cstring>menuMaxWidth</cstring> + </property> + <property name="suffix"> + <string>px</string> + </property> + <property name="maxValue"> + <number>10000</number> + </property> + </widget> + <widget class="QPushButton"> + <property name="name"> + <cstring>startKRuler</cstring> + </property> + <property name="text"> + <string>Start KRuler</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer37_5</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>80</width> + <height>20</height> + </size> + </property> + </spacer> + </hbox> + </widget> + <widget class="QCheckBox" row="2" column="0"> + <property name="name"> + <cstring>removeKickerBevel</cstring> + </property> + <property name="text"> + <string>Remove Bevel</string> + </property> + </widget> + </grid> + </widget> + <widget class="QLayoutWidget" row="3" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>layout53</cstring> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QGroupBox" row="0" column="0"> + <property name="name"> + <cstring>groupBox3</cstring> + </property> + <property name="title"> + <string>Progressbars</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget" row="0" column="0"> + <property name="name"> + <cstring>layout39</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel11</cstring> + </property> + <property name="text"> + <string>Style</string> + </property> + </widget> + <widget class="QComboBox"> + <item> + <property name="text"> + <string>Apple</string> + </property> + </item> + <item> + <property name="text"> + <string>Liquid</string> + </property> + </item> + <item> + <property name="text"> + <string>Baghira</string> + </property> + </item> + <property name="name"> + <cstring>progressType</cstring> + </property> + </widget> + </vbox> + </widget> + <widget class="QLayoutWidget" row="1" column="0"> + <property name="name"> + <cstring>layout52</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QCheckBox"> + <property name="name"> + <cstring>showProgressValue</cstring> + </property> + <property name="text"> + <string>Show Value</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer39_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>120</width> + <height>20</height> + </size> + </property> + </spacer> + </hbox> + </widget> + </grid> + </widget> + <widget class="QGroupBox" row="0" column="1"> + <property name="name"> + <cstring>groupBox5</cstring> + </property> + <property name="title"> + <string>Toolbars</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QComboBox" row="2" column="0"> + <item> + <property name="text"> + <string>Aqua</string> + </property> + </item> + <item> + <property name="text"> + <string>Brushed Metal</string> + </property> + </item> + <item> + <property name="text"> + <string>Both</string> + </property> + </item> + <item> + <property name="text"> + <string>None</string> + </property> + </item> + <property name="name"> + <cstring>unhoveredToolButtons</cstring> + </property> + </widget> + <widget class="QLabel" row="1" column="0"> + <property name="name"> + <cstring>textLabel1_8</cstring> + </property> + <property name="text"> + <string>Show unhovered buttons for</string> + </property> + </widget> + <widget class="QLayoutWidget" row="3" column="0"> + <property name="name"> + <cstring>layout50</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel1_12</cstring> + </property> + <property name="text"> + <string>Highlight Color</string> + </property> + </widget> + <widget class="KColorButton"> + <property name="name"> + <cstring>toolbuttonHighColor</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer38_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>91</width> + <height>20</height> + </size> + </property> + </spacer> + </hbox> + </widget> + </grid> + </widget> + </grid> + </widget> + </grid> + </widget> + <widget class="QWidget"> + <property name="name"> + <cstring>tab</cstring> + </property> + <attribute name="title"> + <string>Menus</string> + </attribute> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer row="0" column="0"> + <property name="name"> + <cstring>spacer36</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>16</width> + <height>20</height> + </size> + </property> + </spacer> + <spacer row="0" column="0"> + <property name="name"> + <cstring>spacer37_3</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>30</height> + </size> + </property> + </spacer> + <widget class="QGroupBox" row="1" column="0"> + <property name="name"> + <cstring>transGroup</cstring> + </property> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="title"> + <string>Look</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget" row="0" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>layout64</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel1_4</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>5</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Background</string> + </property> + </widget> + <widget class="QComboBox"> + <item> + <property name="text"> + <string>Default</string> + </property> + </item> + <item> + <property name="text"> + <string>Plain</string> + </property> + </item> + <item> + <property name="text"> + <string>Stipples</string> + </property> + </item> + <item> + <property name="text"> + <string>Gradient</string> + </property> + </item> + <property name="name"> + <cstring>menuBackground</cstring> + </property> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>3</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip" stdset="0"> + <string>Solid is fastest, Gradient is slowest - choose by your personal preferences and the speed of your machine</string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget" row="10" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>layout55</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QCheckBox"> + <property name="name"> + <cstring>drawMenuStripe</cstring> + </property> + <property name="text"> + <string>Draw menu stripe</string> + </property> + </widget> + <widget class="KColorButton"> + <property name="name"> + <cstring>menuStripeColor</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer27_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>481</width> + <height>20</height> + </size> + </property> + </spacer> + </hbox> + </widget> + <widget class="Line" row="1" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>line10</cstring> + </property> + <property name="frameShape"> + <enum>HLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + <widget class="Line" row="8" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>line7</cstring> + </property> + <property name="frameShape"> + <enum>HLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + <widget class="QLayoutWidget" row="7" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>layout61</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel2_2</cstring> + </property> + <property name="text"> + <string>Opacity</string> + </property> + </widget> + <widget class="QSlider"> + <property name="name"> + <cstring>menuOpacity</cstring> + </property> + <property name="maxValue"> + <number>100</number> + </property> + <property name="lineStep"> + <number>1</number> + </property> + <property name="pageStep"> + <number>1</number> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="tickmarks"> + <enum>NoMarks</enum> + </property> + <property name="tickInterval"> + <number>10</number> + </property> + <property name="toolTip" stdset="0"> + <string></string> + </property> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout28</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel3_2</cstring> + </property> + <property name="text"> + <string>Translucent</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer17</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>81</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel4_2</cstring> + </property> + <property name="text"> + <string>Opaque</string> + </property> + </widget> + </hbox> + </widget> + </vbox> + </widget> + <widget class="Line" row="6" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>line8</cstring> + </property> + <property name="frameShape"> + <enum>HLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + <widget class="QLayoutWidget" row="5" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>layout54</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel2_4</cstring> + </property> + <property name="text"> + <string>Text</string> + </property> + </widget> + <widget class="KColorButton"> + <property name="name"> + <cstring>menuTextColorHigh</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer29_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel3_6</cstring> + </property> + <property name="text"> + <string>Background</string> + </property> + </widget> + <widget class="KColorButton"> + <property name="name"> + <cstring>menuColorHigh</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLabel" row="4" column="0"> + <property name="name"> + <cstring>textLabel1_7</cstring> + </property> + <property name="text"> + <string>Highlighted</string> + </property> + </widget> + <widget class="Line" row="4" column="1"> + <property name="name"> + <cstring>line9</cstring> + </property> + <property name="frameShape"> + <enum>HLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + <widget class="QLayoutWidget" row="3" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>layout62</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel1_2</cstring> + </property> + <property name="text"> + <string>Text</string> + </property> + </widget> + <widget class="KColorButton"> + <property name="name"> + <cstring>menuTextColor</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>4</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string></string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer37</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>280</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel2_3</cstring> + </property> + <property name="text"> + <string>Background</string> + </property> + </widget> + <widget class="KColorButton"> + <property name="name"> + <cstring>menuColor</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel2_3_2</cstring> + </property> + <property name="text"> + <string>Background 2</string> + </property> + </widget> + <widget class="KColorButton"> + <property name="name"> + <cstring>menuColor2</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget" row="2" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>layout46</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel5_2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>4</hsizetype> + <vsizetype>5</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Color</string> + </property> + </widget> + <widget class="QComboBox"> + <item> + <property name="text"> + <string>Background</string> + </property> + </item> + <item> + <property name="text"> + <string>Button</string> + </property> + </item> + <item> + <property name="text"> + <string>Custom</string> + </property> + </item> + <property name="name"> + <cstring>menuColorMode</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>1</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip" stdset="0"> + <string>Qt usually uses the button color for the menus... well, Apple does not.</string> + </property> + </widget> + </hbox> + </widget> + <widget class="QCheckBox" row="11" column="0"> + <property name="name"> + <cstring>glossyMenus</cstring> + </property> + <property name="text"> + <string>Use glossy highlights</string> + </property> + </widget> + <widget class="QCheckBox" row="9" column="0" rowspan="1" colspan="2"> + <property name="name"> + <cstring>shadowMenuText</cstring> + </property> + <property name="text"> + <string>Shadow itemtext</string> + </property> + </widget> + </grid> + </widget> + <spacer row="3" column="0"> + <property name="name"> + <cstring>spacer34_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + <widget class="QGroupBox" row="2" column="0"> + <property name="name"> + <cstring>groupBox14</cstring> + </property> + <property name="title"> + <string>Sidebar</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QComboBox" row="0" column="4"> + <item> + <property name="text"> + <string>16x16</string> + </property> + </item> + <item> + <property name="text"> + <string>22x22</string> + </property> + </item> + <item> + <property name="text"> + <string>32x32</string> + </property> + </item> + <item> + <property name="text"> + <string>48x48</string> + </property> + </item> + <item> + <property name="text"> + <string>64x64</string> + </property> + </item> + <item> + <property name="text"> + <string>128x128</string> + </property> + </item> + <property name="name"> + <cstring>linkIconSize</cstring> + </property> + </widget> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel1_13</cstring> + </property> + <property name="text"> + <string>Hardware Iconsize</string> + </property> + </widget> + <widget class="QLabel" row="0" column="3"> + <property name="name"> + <cstring>textLabel2_9</cstring> + </property> + <property name="text"> + <string>Link Iconsize</string> + </property> + </widget> + <widget class="QComboBox" row="0" column="1"> + <item> + <property name="text"> + <string>16x16</string> + </property> + </item> + <item> + <property name="text"> + <string>22x22</string> + </property> + </item> + <item> + <property name="text"> + <string>32x32</string> + </property> + </item> + <item> + <property name="text"> + <string>48x48</string> + </property> + </item> + <item> + <property name="text"> + <string>64x64</string> + </property> + </item> + <item> + <property name="text"> + <string>128x128</string> + </property> + </item> + <property name="name"> + <cstring>hwIconSize</cstring> + </property> + </widget> + <spacer row="0" column="2"> + <property name="name"> + <cstring>spacer39_3</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>51</width> + <height>20</height> + </size> + </property> + </spacer> + </grid> + </widget> + </grid> + </widget> + <widget class="QWidget"> + <property name="name"> + <cstring>tab</cstring> + </property> + <attribute name="title"> + <string>Custom Colors</string> + </attribute> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QCheckBox" row="0" column="0"> + <property name="name"> + <cstring>useCustomColors</cstring> + </property> + <property name="text"> + <string>Use Custom Widget Colors</string> + </property> + <property name="toolTip" stdset="0"> + <string>These Widgets default to the Button Color, however you can customize them here</string> + </property> + </widget> + <widget class="QFrame" row="1" column="0"> + <property name="name"> + <cstring>colorFrame</cstring> + </property> + <property name="frameShape"> + <enum>StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>Raised</enum> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget" row="0" column="0"> + <property name="name"> + <cstring>layout62</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout58</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel4_3</cstring> + </property> + <property name="text"> + <string>Radiobutton ("Off")</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer27</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>61</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="KColorButton"> + <property name="name"> + <cstring>radioOffColor</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout60</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel5_3</cstring> + </property> + <property name="text"> + <string>Unchecked Box</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer31</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>71</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="KColorButton"> + <property name="name"> + <cstring>checkOffColor</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout62</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel7_3</cstring> + </property> + <property name="text"> + <string>Scrollbar Slider</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer30</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>121</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="KColorButton"> + <property name="name"> + <cstring>sliderColor</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout64</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel9_2</cstring> + </property> + <property name="text"> + <string>Pressed Slider</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer33</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>111</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="KColorButton"> + <property name="name"> + <cstring>pressedSliderColor</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout65</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel11_3</cstring> + </property> + <property name="text"> + <string>Inactive Tab</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer34</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>71</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="KColorButton"> + <property name="name"> + <cstring>inactiveTabColor</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + </hbox> + </widget> + </vbox> + </widget> + <widget class="QLayoutWidget" row="0" column="2"> + <property name="name"> + <cstring>layout61</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout59</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel3_3</cstring> + </property> + <property name="text"> + <string>Radiobutton ("On")</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer28</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>31</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="KColorButton"> + <property name="name"> + <cstring>radioOnColor</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout61</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel6_3</cstring> + </property> + <property name="text"> + <string>Checked Box</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer29</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>61</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="KColorButton"> + <property name="name"> + <cstring>checkOnColor</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout63</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel8_3</cstring> + </property> + <property name="text"> + <string>Hovered Slider</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer32</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>121</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="KColorButton"> + <property name="name"> + <cstring>hoverSliderColorColor</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout52</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel1_3</cstring> + </property> + <property name="text"> + <string>Slider Groove</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer35_3</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>231</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="KColorButton"> + <property name="name"> + <cstring>sliderGrooveColor</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout66</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel10</cstring> + </property> + <property name="text"> + <string>Active Tab</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer35</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>71</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="KColorButton"> + <property name="name"> + <cstring>activeTabColor</cstring> + </property> + <property name="text"> + <string></string> + </property> + </widget> + </hbox> + </widget> + </vbox> + </widget> + <widget class="Line" row="0" column="1"> + <property name="name"> + <cstring>line11</cstring> + </property> + <property name="frameShape"> + <enum>VLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + </widget> + <spacer row="4" column="2"> + <property name="name"> + <cstring>spacer32_2</cstring> + </property> + <property name="orientation"> + <enum>Vertical</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>20</width> + <height>51</height> + </size> + </property> + </spacer> + <widget class="QGroupBox" row="3" column="0" rowspan="1" colspan="3"> + <property name="name"> + <cstring>brushBox</cstring> + </property> + <property name="title"> + <string>Tint the Brush</string> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget" row="0" column="1"> + <property name="name"> + <cstring>layout62</cstring> + </property> + <vbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout59</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel1_6</cstring> + </property> + <property name="text"> + <string>R</string> + </property> + </widget> + <widget class="QSlider"> + <property name="name"> + <cstring>sliderBrushRed</cstring> + </property> + <property name="maxValue"> + <number>255</number> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout60</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel2_6</cstring> + </property> + <property name="text"> + <string>G</string> + </property> + </widget> + <widget class="QSlider"> + <property name="name"> + <cstring>sliderBrushGreen</cstring> + </property> + <property name="maxValue"> + <number>255</number> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + </hbox> + </widget> + <widget class="QLayoutWidget"> + <property name="name"> + <cstring>layout61</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLabel"> + <property name="name"> + <cstring>textLabel3_5</cstring> + </property> + <property name="text"> + <string>B</string> + </property> + </widget> + <widget class="QSlider"> + <property name="name"> + <cstring>sliderBrushBlue</cstring> + </property> + <property name="maxValue"> + <number>255</number> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + </hbox> + </widget> + </vbox> + </widget> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>pixmapBrushPreview</cstring> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + </widget> + </grid> + </widget> + <widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="3"> + <property name="name"> + <cstring>tintBrush</cstring> + </property> + <property name="text"> + <string>Tint Brushed Metal</string> + </property> + </widget> + <widget class="Line" row="1" column="0" rowspan="1" colspan="3"> + <property name="name"> + <cstring>line12</cstring> + </property> + <property name="frameShape"> + <enum>HLine</enum> + </property> + <property name="frameShadow"> + <enum>Sunken</enum> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + </widget> + </grid> + </widget> + </grid> + </widget> + </widget> + </grid> +</widget> +<customwidgets> +</customwidgets> +<layoutdefaults spacing="6" margin="11"/> +<includehints> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> + <includehint>kcolorbutton.h</includehint> +</includehints> +</UI> diff --git a/config/generatePixmaps.sh b/config/generatePixmaps.sh new file mode 100755 index 0000000..e0de14c --- /dev/null +++ b/config/generatePixmaps.sh @@ -0,0 +1,13 @@ +#!/bin/sh +top_srcdir="${1:-../..}" +imagebase="$top_srcdir/imagebase" +UIC=$(grep "UIC = " ../Makefile | cut -f3- -d" ") +echo -e "#ifndef SCPIXMAPS_H\n#define SCPIXMAPS_H\n" > pixmaps.h +$UIC -embed baghira \ +$imagebase/button-base \ +$imagebase/button-shadow \ +$imagebase/brush-me | \ +sed -e "s/void qInitImages_baghira()$/static void qInitImages_baghira()/" -e "s/void qCleanupImages_baghira()$/static void qCleanupImages_baghira()/ ">> pixmaps.h +echo -e "#endif //SCPIXMAPS_H\n" >> pixmaps.h + +#$imagebase/AboutBaghira \ diff --git a/config/help.ui b/config/help.ui new file mode 100644 index 0000000..5fdae0a --- /dev/null +++ b/config/help.ui @@ -0,0 +1,305 @@ +<!DOCTYPE UI><UI version="3.3" stdsetdef="1"> +<class>Help</class> +<widget class="QDialog"> + <property name="name"> + <cstring>Help</cstring> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>457</width> + <height>720</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>5</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>32767</width> + <height>32767</height> + </size> + </property> + <property name="caption"> + <string>Baghira Help</string> + </property> + <property name="sizeGripEnabled"> + <bool>false</bool> + </property> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget" row="1" column="0"> + <property name="name"> + <cstring>layout2</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer2_2</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>60</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QPushButton"> + <property name="name"> + <cstring>closeButton</cstring> + </property> + <property name="text"> + <string>Close</string> + </property> + </widget> + </hbox> + </widget> + <widget class="QTabWidget" row="0" column="0"> + <property name="name"> + <cstring>tabWidget2</cstring> + </property> + <widget class="QWidget"> + <property name="name"> + <cstring>tab</cstring> + </property> + <attribute name="title"> + <string>BAB</string> + </attribute> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="QLayoutWidget" row="1" column="0"> + <property name="name"> + <cstring>layout3</cstring> + </property> + <hbox> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <spacer> + <property name="name"> + <cstring>spacer3</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + <widget class="QPushButton"> + <property name="name"> + <cstring>startBAB</cstring> + </property> + <property name="text"> + <string>Start BAB</string> + </property> + </widget> + <spacer> + <property name="name"> + <cstring>spacer4</cstring> + </property> + <property name="orientation"> + <enum>Horizontal</enum> + </property> + <property name="sizeType"> + <enum>Expanding</enum> + </property> + <property name="sizeHint"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </hbox> + </widget> + <widget class="KActiveLabel" row="0" column="0"> + <property name="name"> + <cstring>kActiveLabel2</cstring> + </property> + <property name="sizePolicy"> + <sizepolicy> + <hsizetype>7</hsizetype> + <vsizetype>7</vsizetype> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="resizePolicy"> + <enum>Manual</enum> + </property> + <property name="vScrollBarMode"> + <enum>Auto</enum> + </property> + <property name="hScrollBarMode"> + <enum>Auto</enum> + </property> + <property name="text"> + <string><b>"BAB"</b> is a little Systray Application to give you more control about the look of your Baghiranced Desktop.<br> +You can start if from a shell or the KDE executor or by just simply clicking the button below.<br> +<br> +<b>How does it work?</b><br> +a) Simply leftclick the icon to switch between the different generations ( Blue:Jaguar, Black:Panther, Grey:Brushed Metal, Yellow:Tiger, White:Milk)<br><br> +b) Righclick to get a config menu, providing direct acces to Baghiras config dialog<br><br> +c) BAB is also a DCOP interface to the Baghira Style and Windeco</string> + </property> + </widget> + </grid> + </widget> + <widget class="QWidget"> + <property name="name"> + <cstring>tab</cstring> + </property> + <attribute name="title"> + <string>DCOP</string> + </attribute> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="KActiveLabel" row="0" column="0"> + <property name="name"> + <cstring>kActiveLabel4</cstring> + </property> + <property name="text"> + <string><br><b>How to acces bab via DCOP</br> +<br>Well, if you're a coder, i assume you know hot to access the dcop server from within your code +<br>If you're a user, the main way to acces dcop is the <b>dcop command line tool</b><br><br> +To see, which functions are provided by bab (the list will probably grow), open a shell and enter<br><br> +<i><b>dcop bab default</b></i><br> +<br> +The most interesting function is<br><br> +<i><b>start(QString name,QString settings)</b></i><br> +<br> +use it like:<br><br> +<i><b>start &lt;appName&gt; &lt;design&gt;</b></i><br><br> +where <i><b>&lt;appName&gt;</b></i> is the (KDE) application command (try "konqueror") you want to start and <i><b>&lt;design&gt;</b></i> is a predefined Design you set in the rules section (Baghiracomes with "Jaguar", "Panther", "Brushed", "Tiger" and "Milk")</string> + </property> + </widget> + </grid> + </widget> + <widget class="QWidget"> + <property name="name"> + <cstring>tab</cstring> + </property> + <attribute name="title"> + <string>Coloring</string> + </attribute> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="KActiveLabel" row="0" column="0"> + <property name="name"> + <cstring>kActiveLabel3</cstring> + </property> + <property name="text"> + <string>The new coloring Function <i>"Aquarius"</i> replaces the former "<i>icy</i>" style. +<br>Though you can use any color, i suggest to avoid very high or very low saturated colors. +<br>- High saturation will lead to a flat look +<br>- Low saturation will look uncolored +<br> +<br>I suggest to use a button color like rgb = 84,140,242 as a starting Point and modify the color to yoour wishes +<br><b>Notice</b> that the coloring function is probably not fixed yet - especially not in the high saturated area +<br>So please do not complain if you worked hard to optimize the color and get a different result in one of the next versions. +<br> +<br>Additionally, there are two color schemes by Christian Lehmann included.</string> + </property> + </widget> + </grid> + </widget> + <widget class="QWidget"> + <property name="name"> + <cstring>tab</cstring> + </property> + <attribute name="title"> + <string>Credits</string> + </attribute> + <grid> + <property name="name"> + <cstring>unnamed</cstring> + </property> + <widget class="KActiveLabel" row="1" column="0"> + <property name="name"> + <cstring>kActiveLabel1</cstring> + </property> + <property name="vScrollBarMode"> + <enum>Auto</enum> + </property> + <property name="hScrollBarMode"> + <enum>Auto</enum> + </property> + <property name="text"> + <string><b>Apple Computer, Inc.</b><br>For being such great Designers =)<p> +<b>Christian Lehmann</b><br>For the SuSE binaries and Supporting my Ego<p> +<b>Elias Probst</b><br>For the Gentoo ebuild<p> +<b>Mosfet</b> (Of Course)<br>For the initial Liquid Code<p> +<b>Narcis Tesa</b><br>For the Mandrake binaries and being the worst nitpicker on this Planet<p><b>Timur</b><br>For the cute icons<p> +Everyone else who supported me with suggestions, bug reports and Help on the fores.<p> +<a href="http://www.kde-look.org/">KDE-Look</a><br> +and<br> +<a href="http://www.sf.net/">Sourceforge</a><br> +for hosting the Project</string> + </property> + </widget> + <widget class="QLabel" row="0" column="0"> + <property name="name"> + <cstring>textLabel1</cstring> + </property> + <property name="font"> + <font> + <bold>1</bold> + </font> + </property> + <property name="text"> + <string>Thanks To (alphabetical):</string> + </property> + </widget> + </grid> + </widget> + </widget> + </grid> +</widget> +<customwidgets> +</customwidgets> +<connections> + <connection> + <sender>closeButton</sender> + <signal>clicked()</signal> + <receiver>Help</receiver> + <slot>close()</slot> + </connection> +</connections> +<layoutdefaults spacing="6" margin="11"/> +<includehints> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> + <includehint>kactivelabel.h</includehint> +</includehints> +</UI> diff --git a/config/kstyle_baghira_config.cpp b/config/kstyle_baghira_config.cpp new file mode 100644 index 0000000..1e838e8 --- /dev/null +++ b/config/kstyle_baghira_config.cpp @@ -0,0 +1,1243 @@ +/*************************************************************************** + * Copyright (C) 2004 by Thomas L�bking * + * thomas@home * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#include <qdesktopwidget.h> +#include <qlayout.h> +#include <qpushbutton.h> +#include <qcombobox.h> +#include <qcheckbox.h> +#include <qdir.h> +#include <qfile.h> +#include <qfileinfo.h> +#include <qgroupbox.h> +#include <kfiledialog.h> +#include <qpainter.h> +//#include <qpalette.h> +// #include <qsettings.h> +#include <qslider.h> +#include <qspinbox.h> +#include <qstringlist.h> +#include <qlabel.h> +#include <qlineedit.h> +#include <qpixmap.h> +#include <klistview.h> +#include <qtabwidget.h> +#include <qtimer.h> +#include <dcopclient.h> +#include <kapplication.h> +#include <kcolorbutton.h> +#include <kconfig.h> +#include <kimageeffect.h> +#include <klocale.h> +#include <kmessagebox.h> +#include <kglobal.h> +#include <kglobalsettings.h> +#include <kprocess.h> +#include <kparts/genericfactory.h> + +#include <X11/Xlib.h> +#include <X11/Xatom.h> +#include <X11/Xutil.h> +#include <fixx11h.h> + +#include "kstyle_baghira_config.h" +#include "pixmaps.h" +#include "colordialog.h" +#include "colorpicker.h" + +#include "config.h" + +//#define VERSION "0.7" + +#ifndef KDE_VERSION_STRING +#define KDE_VERSION_STRING "error" +#endif +#ifndef QT_BUILD_KEY +#define QT_BUILD_KEY "error error error error" +#endif + +#define CLAMP(x,l,u) x < l ? l :\ + x > u ? u :\ + x + +#define SATURATION_COLOR(R,G,B) \ + grey = (299 * R + 587 * G + 114 * B) / 1000; \ + delta = 255 - grey; \ + grey = (grey *(10 - 5)) / 10; \ + iGrey = 255 - grey;\ + destR = (iGrey * (srcR - delta) + grey * R) / 255; \ + destG = (iGrey * (srcG - delta) + grey * G) / 255; \ + destB = (iGrey * (srcB - delta) + grey * B) / 255; + +#define SATURATION_COLOR2(S,R,G,B) \ + int max = (int)(255+0.65*(100-S)); \ + destR = CLAMP((srcR + R - 128), 0, max); \ + destG = CLAMP((srcG + G - 128), 0, max); \ + destB = CLAMP((srcB + B - 128), 0, max); \ + destR = (S*destR + (100-S)*R)/100; \ + destG = (S*destG + (100-S)*G)/100; \ + destB = (S*destB + (100-S)*B)/100; + +#define COLOR_SPACE(R,G,B) \ + if ( R < 0 ) R = 0; else if ( R > 255 ) R = 255; \ + if ( G < 0 ) G = 0; else if ( G > 255 ) G = 255; \ + if ( B < 0 ) B = 0; else if ( B > 255 ) B = 255; + + +void kstyle_baghira_config::openHtml1() +{ + QStringList args; + args << "exec" << "http://baghira.sf.net/"; + kapp->kdeinitExec("kfmclient", args); +} + +void kstyle_baghira_config::openHtml2() +{ + QStringList args; + args << "exec" << "http://www.sf.net/projects/baghira/files/"; + kapp->kdeinitExec("kfmclient", args); +} + +void kstyle_baghira_config::startBab() +{ + kapp->kdeinitExec("bab"); +} + +void kstyle_baghira_config::startKRuler() +{ + kapp->kdeinitExec("kruler"); +} + +QImage* kstyle_baghira_config::tintButton(QImage &src, QColor c) +{ + QImage *dest = new QImage( src.width(), src.height(), 32, 0 ); + dest->setAlphaBuffer( true ); + unsigned int *data = ( unsigned int * ) src.bits(); + unsigned int *destData = ( unsigned int* ) dest->bits(); + int total = src.width() * src.height(); + int red, green, blue; + int destR, destG, destB, alpha; + int srcR = c.red(); + int srcG = c.green(); + int srcB = c.blue(); + int hue, s, v; + c.getHsv( &hue, &s, &v ); + int sq = CLAMP((int)((45.0/128.0)*s+55),0,100); + // float srcPercent, destPercent; + for ( int current = 0 ; current < total ; ++current ) { + alpha = qAlpha( data[ current ] ); + blue = qBlue( data[ current ] ); + red = qRed( data[ current ] ); + green = qGreen( data[ current ] ); + SATURATION_COLOR2(sq, red, green, blue); + // force back to valid colorspace ! + COLOR_SPACE(destR, destG, destB); + destData[ current ] = qRgba( destR, destG, destB, alpha ); + } + return ( dest ); +} + +QImage* kstyle_baghira_config::tintBrush( QImage &img, QColor c) +{ + QImage *dest = new QImage( img.width(), img.height(), 32, 0 ); + unsigned int *data = ( unsigned int * ) img.bits(); + unsigned int *destData = ( unsigned int* ) dest->bits(); + int total = img.width() * img.height(); + int current; + int delta; + int red, green, blue, grey, iGrey; + int destR, destG, destB, alpha; + + int srcR = c.red(); + int srcG = c.green(); + int srcB = c.blue(); + + + // float srcPercent, destPercent; + for ( current = 0 ; current < total ; ++current ) { + alpha = qAlpha( data[ current ] ); + blue = qBlue( data[ current ] ); + red = qRed( data[ current ] ); + green = qGreen( data[ current ] ); + SATURATION_COLOR(red, green, blue); + // force back to valid colorspace ! + COLOR_SPACE(destR, destG, destB); + destData[ current ] = qRgba( destR, destG, destB, alpha ); + } + return ( dest ); +} + +void kstyle_baghira_config::sliderButtonRedChanged(int value) +{ + sliderButtonRedValue = value; + dialog_->valueButtonRed->setNum(value); + dialog_->pixmapButtonPreview->setPixmap(*tintButton(baseImage, QColor(sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue))); + dialog_->pixmapButtonPreview->repaint(false); + configChanged(); +} + +void kstyle_baghira_config::sliderButtonGreenChanged(int value) +{ + sliderButtonGreenValue = value; + dialog_->valueButtonGreen->setNum(value); + dialog_->pixmapButtonPreview->setPixmap(*tintButton(baseImage, QColor(sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue))); + dialog_->pixmapButtonPreview->repaint(false); + configChanged(); +} + +void kstyle_baghira_config::sliderButtonBlueChanged(int value) +{ + sliderButtonBlueValue = value; + dialog_->valueButtonBlue->setNum(value); + dialog_->pixmapButtonPreview->setPixmap(*tintButton(baseImage, QColor(sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue))); + dialog_->pixmapButtonPreview->repaint(false); + configChanged(); +} + +void kstyle_baghira_config::sliderBrushRedChanged(int value) +{ + sliderBrushRedValue = value; + dialog_->pixmapBrushPreview->setPixmap(*tintBrush(baseImage2, QColor(sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue))); + dialog_->pixmapBrushPreview->repaint(false); + configChanged(); +} + +void kstyle_baghira_config::sliderBrushGreenChanged(int value) +{ + sliderBrushGreenValue = value; + dialog_->pixmapBrushPreview->setPixmap(*tintBrush(baseImage2, QColor(sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue))); + dialog_->pixmapBrushPreview->repaint(false); + configChanged(); +} + +void kstyle_baghira_config::sliderBrushBlueChanged(int value) +{ + sliderBrushBlueValue = value; + dialog_->pixmapBrushPreview->setPixmap(*tintBrush(baseImage2, QColor(sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue))); + dialog_->pixmapBrushPreview->repaint(false); + configChanged(); +} + +// void kstyle_baghira_config::sliderBrushSaturationChanged(int value) +// { +// sliderBrushSaturationValue = value; +// dialog_->pixmapBrushPreview->setPixmap(*tintBrush(baseImage2, QColor(sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue), sliderBrushSaturationValue)); +// dialog_->pixmapBrushPreview->repaint(false); +// emit changed(true); +// } + +// button color preset table - internal only, AND DON'T CHANGE ONLY ONE! + +enum ColorPreset {Aqua = 0, Graphite, GraphiteDark, Orange, Lime, Black, Smoke, Girlie, Smaragd, Emerald, Yellow, DeepBlueSea, Blood, Turquoise, Lilac, NUMBEROFCOLORS}; + +const char * presetColorName[NUMBEROFCOLORS] = { + "Aqua", "Graphite", "Graphite (Dark)", "Orange", "Lime", "Black", "Smoke", "Girlie", "Smaragd", "Emerald", "Yellow", "Deep Blue Sea", "Blood", "Turquoise", "Lilac" +}; + +int presetColor[NUMBEROFCOLORS][3] = {{84,144,218},{130,170,190},{103,118,134},{200,130,30},{130,180,80},{0,0,0},{106,110,120},{255,130,200},{100,160,75},{255,100,90},{160,160,70},{50,100,200},{150,25,25},{60,170,190},{150,130,220}}; + +// -------------------------------- + +typedef KGenericFactory<kstyle_baghira_config, QWidget> kstyle_baghira_configFactory; +K_EXPORT_COMPONENT_FACTORY( kcm_kstyle_baghira_config, kstyle_baghira_configFactory("kcmkstyle_baghira_config")) + +//extern QImage uic_findImage(const QString& name); +//extern void qInitImages_baghira(); +//extern void qCleanupImages_baghira(); + +void kstyle_baghira_config::updateCR() +{ + if (!about_->isShown()) + { + timer->stop(); + return; + } + if (crCurrent < 2) + crCurrent++; + else + crCurrent = 0; + about_->crLabel->setText(crNotes[crCurrent]); +} + +void kstyle_baghira_config::showAbout() +{ + crCurrent = 0; + about_->crLabel->setText(crNotes[0]); + timer->start( 4000 ); + about_->exec(); +} + +kstyle_baghira_config::kstyle_baghira_config(QWidget *parent, const char *name, const QStringList&) : QWidget(parent, name )//, myAboutData(0) +{ + loadDone = false; + if (parent) parent->setCaption("Configure Your Cat"); + QVBoxLayout *layout = new QVBoxLayout(this); + dialog_ = new Config(this); + + for (int i = 0; i < NUMBEROFCOLORS; i++) + dialog_->colorPresets->insertItem ( presetColorName[i], i ); + + QWidget *rulesWidget = new QWidget(dialog_->tabWidget); + QHBoxLayout *rwlh = new QHBoxLayout(rulesWidget); + applist = new KListView(rulesWidget); + applist->setFullWidth(true); +#if KDE_IS_VERSION(3,3,91) + applist->setShadeSortColumn(false); +#endif + applist->setAllColumnsShowFocus( true ); + applist->setSelectionMode(QListView::Single); + applist->addColumn ( i18n("Name") ); + applist->addColumn ( i18n("Links to") ); + QDir d( QDir::homeDirPath() + "/.baghira", 0L, QDir::Name | QDir::IgnoreCase, QDir::Files | QDir::Readable | QDir::Writable ); + if (!d.exists()) + d.mkdir(QDir::homeDirPath() + "/.baghira"); + else + { + for ( uint i = 0; i < d.count(); i++ ) + { + QFileInfo FI = QFileInfo(d, d[i]); + if (FI.isSymLink()) + applist->insertItem(new KListViewItem(applist, d[i], FI.readLink().section('/',-1,-1))); + else + applist->insertItem(new KListViewItem(applist, d[i])); + } + } + rwlh->addWidget(applist); +// rwlh->addLayout(rwlv); + QVBoxLayout *rwlv = new QVBoxLayout(rwlh); + rwlv->addStretch(); + QPushButton *btnNew = new QPushButton("New...", rulesWidget); + QPushButton *btnEdit = new QPushButton("Edit...", rulesWidget); + QPushButton *btnDel = new QPushButton("Remove", rulesWidget); + QPushButton *btnDet = new QPushButton("Detect", rulesWidget); + rwlv->addWidget(btnNew); + rwlv->addWidget(btnEdit); + rwlv->addWidget(btnDel); + rwlv->addSpacing( 5 ); + rwlv->addWidget(btnDet); + rwlv->addStretch(); + dialog_->tabWidget->addTab( rulesWidget, QString("Rules") ); + appsetter = new AppSetter(this); + connect(btnNew, SIGNAL(clicked()), appsetter, SLOT(show())); + connect(btnEdit, SIGNAL(clicked()), this, SLOT(editApp())); + connect(this, SIGNAL(editApp(QString, QString)), appsetter, SLOT(show(QString, QString))); + connect(btnDel, SIGNAL(clicked()), this, SLOT(removeApp())); + connect(btnDet, SIGNAL(clicked()), this, SLOT(selectWindow())); + connect(appsetter, SIGNAL(addApp(QString, QString)), this, SLOT(addApp(QString, QString))); + connect(appsetter, SIGNAL(removeApp(QString)), this, SLOT(removeApp(QString))); + // preview stuff + baseImage = uic_findImage("button-base"); + + layout->addWidget(dialog_); + + dialog_->show(); + help_ = new Help(dialog_); + about_ = new About(dialog_); + about_->versionLabel->setText(VERSION); + about_->kdeLabel->setText(KDE_VERSION_STRING); + crCurrent = 0; + crNotes[0] = "<qt>� 2003-2005 by Thomas L�bking<br>http://baghira.SourceForge.net</qt>"; + crNotes[1] = "<qt>� \"Design\" 2001-2005 by Apple inc.<br>http://www.apple.com"; + crNotes[2] = "<qt>� \"Milk\" 2002-2005 by Max Rudberg<br>http://www.maxthemes.com</qt>"; + timer = new QTimer(); + connect( timer, SIGNAL(timeout()), this, SLOT(updateCR()) ); + QString tmpString(QT_BUILD_KEY); + about_->systemLabel->setText(tmpString.section(' ',1,1)); + about_->cpuLabel->setText(tmpString.section(' ',0,0)); + about_->setFixedSize (380, 430); + + // connections + // buttons + connect(dialog_->buttonHelp, SIGNAL(clicked()), help_, SLOT(exec())); + connect(dialog_->buttonAbout, SIGNAL(clicked()), this, SLOT(showAbout())); + connect(about_->buttonInfo, SIGNAL(clicked()), this, SLOT(openHtml1())); + connect(about_->buttonDownload, SIGNAL(clicked()), this, SLOT(openHtml2())); + connect(help_->startBAB, SIGNAL(clicked()), this, SLOT(startBab())); + connect(dialog_->startKRuler, SIGNAL(clicked()), this, SLOT(startKRuler())); + connect(dialog_->buttonLoad, SIGNAL(clicked()), this, SLOT(buttonLoadAction())); + connect(dialog_->buttonSaveAs, SIGNAL(clicked()), this, SLOT(buttonSaveAsAction())); + connect(dialog_->colorPresets, SIGNAL(activated(int)), this, SLOT(setPresetColor(int))); + + // changes + connect(dialog_->defaultStyle, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->buttonStyle, SIGNAL(activated(int)), this, SLOT(handleButtonStyles(int))); + connect(dialog_->toolbuttonStyle, SIGNAL(activated(int)), this, SLOT(handleButtonStyles(int))); + connect(dialog_->animateButtons, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->stippleBackground, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->bevelHighlights, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->stippleContrast, SIGNAL(valueChanged (int)), this, SLOT(configChanged())); + connect(dialog_->shadowGroups, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->shadowIntensity, SIGNAL(valueChanged (int)), this, SLOT(configChanged())); + connect(dialog_->centerTabs, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->colorMode, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->inactiveColorType, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->animateSlider, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->shadowSlider, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->squeezeSlider, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->unhoveredToolButtons, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->aquaTabs, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->brushedTabs, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->drawTreeLines, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->useCustomExpanderColor, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->treeLineMode, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->expanderMode, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->useCustomExpanderColor, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->useRectLVH, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->removeKickerBevel, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->replaceMenubar, SIGNAL(toggled(bool)), this, SLOT(menuToggled(bool))); + connect(dialog_->roundTasks, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->showProgressValue, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->progressType, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->menuBackground, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->menuOpacity, SIGNAL(valueChanged (int)), this, SLOT(configChanged())); + connect(dialog_->shadowMenuText, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->menuColorMode, SIGNAL(activated(int)), this, SLOT(configChanged())); + connect(dialog_->useCustomColors, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->drawMenuStripe, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + connect(dialog_->glossyMenus, SIGNAL(stateChanged(int)), this, SLOT(configChanged())); + + connect(dialog_->customInactiveColor, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); +connect(dialog_->toolbuttonHighColor, SIGNAL(changed(const QColor &)), this, SLOT(changeTooluttonHighlightColor(const QColor &))); + connect(dialog_->treeLineColor, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + connect(dialog_->customExpanderColor, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + connect(dialog_->menuTextColor, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + connect(dialog_->menuTextColorHigh, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + connect(dialog_->menuColor, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + connect(dialog_->menuColorHigh, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + connect(dialog_->menuColor2, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + connect(dialog_->radioOffColor, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + connect(dialog_->radioOnColor, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + connect(dialog_->checkOffColor, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + connect(dialog_->checkOnColor, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + connect(dialog_->sliderColor, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + connect(dialog_->hoverSliderColorColor, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + connect(dialog_->pressedSliderColor, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + connect(dialog_->inactiveTabColor, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + connect(dialog_->activeTabColor, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + connect(dialog_->menuStripeColor, SIGNAL(changed(const QColor &)), this, SLOT(configChanged())); + + connect(dialog_->sliderButtonRed, SIGNAL(valueChanged (int)), this, SLOT(sliderButtonRedChanged(int))); + connect(dialog_->sliderButtonGreen, SIGNAL(valueChanged (int)), this, SLOT(sliderButtonGreenChanged(int))); + connect(dialog_->sliderButtonBlue, SIGNAL(valueChanged (int)), this, SLOT(sliderButtonBlueChanged(int))); + + connect(dialog_->sliderBrushRed, SIGNAL(valueChanged (int)), this, SLOT(sliderBrushRedChanged(int))); + connect(dialog_->sliderBrushGreen, SIGNAL(valueChanged (int)), this, SLOT(sliderBrushGreenChanged(int))); + connect(dialog_->sliderBrushBlue, SIGNAL(valueChanged (int)), this, SLOT(sliderBrushBlueChanged(int))); + + // GUI + connect (dialog_->defaultStyle, SIGNAL(activated(int)), this, SLOT(setDesign(int))); + connect (dialog_->inactiveColorType, SIGNAL(activated(int)), this, SLOT(enableInButtonColor(int))); + connect (dialog_->drawTreeLines, SIGNAL(toggled(bool)), dialog_->treeLineMode, SLOT(setEnabled(bool))); + connect (dialog_->drawTreeLines, SIGNAL(toggled(bool)), dialog_->treeLineColor, SLOT(setEnabled(bool))); + connect (dialog_->useCustomExpanderColor, SIGNAL(toggled(bool)), dialog_->customExpanderColor, SLOT(setEnabled(bool))); + connect (dialog_->menuColorMode, SIGNAL(activated(int)), this, SLOT(enableMenuColorStuff(int))); + connect (dialog_->menuBackground, SIGNAL(activated(int)), this, SLOT(enableMenuColorStuff(int))); + connect (dialog_->drawMenuStripe, SIGNAL(toggled(bool)), dialog_->menuStripeColor, SLOT(setEnabled(bool))); +// connect (dialog_->tintBrush, SIGNAL(toggled(bool)), dialog_->brushBox, SLOT(setEnabled(bool))); + connect (dialog_->useCustomColors, SIGNAL(toggled(bool)), dialog_->colorFrame, SLOT(setEnabled(bool))); + + // load settings + load(); + loadDone = true; + + dialog_->pixmapButtonPreview->setPixmap(*tintButton(baseImage, QColor(sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue))); + +}; + +kstyle_baghira_config::~kstyle_baghira_config() +{ + if (timer) delete timer; +} + +void kstyle_baghira_config::setPresetColor(int i) +{ + dialog_->sliderButtonRed->setValue(presetColor[i][0]); + dialog_->sliderButtonGreen->setValue(presetColor[i][1]); + dialog_->sliderButtonBlue->setValue(presetColor[i][2]); +} + +void kstyle_baghira_config::load() +{ + QString tmpString = QDir::homeDirPath() + "/.qt/baghirarc"; + load (tmpString); +} + +void kstyle_baghira_config::load(QString &fileName) +{ + KConfig *config = new KConfig(fileName); +// QSettings config; + config->setGroup("BAB"); + // general Design + dialog_->defaultStyle->setCurrentItem(config->readNumEntry("defaultState", 0 )); +// config->endGroup(); + config->setGroup("Style"); + dialog_->buttonStyle->setCurrentItem(config->readNumEntry("Special_ButtonStyle", 1 )); + dialog_->toolbuttonStyle->setCurrentItem(config->readNumEntry("Special_ToolbuttonStyle", 1 )); + dialog_->stippleBackground->setChecked( config->readBoolEntry( "Design_StippleBackground", true)); + dialog_->animateButtons->setChecked( config->readBoolEntry( "Design_AnimateButtons", true)); + dialog_->stippleContrast->setValue( config->readNumEntry( "Design_StippleContrast", 3)); + dialog_->shadowGroups->setChecked( config->readBoolEntry( "Design_ShadowGroupBoxes", true)); + dialog_->shadowIntensity->setValue( config->readNumEntry( "Design_GroupBoxeShadowDarkness", 6)); + dialog_->bevelHighlights->setChecked( config->readBoolEntry( "Design_BevelAsHighlight", true)); + dialog_->colorMode->setCurrentItem(config->readNumEntry("Design_ButtonStyle", 0)); + dialog_->inactiveColorType->setCurrentItem(config->readNumEntry( "Design_InactiveButtonStyle", 1)); + dialog_->customInactiveColor->setColor(QColor(config->readNumEntry("Design_InactiveButtonColor",(int)colorGroup().background().rgb()))); + dialog_->centerTabs->setChecked( config->readBoolEntry( "Design_CenterTabs", true)); + // button color stuff + QColor tmpColor = QColor(config->readNumEntry("Design_ButtonColor",(int)colorGroup().button().rgb())); + dialog_->sliderButtonRed->setValue(sliderButtonRedValue = tmpColor.red()); + dialog_->sliderButtonGreen->setValue(sliderButtonGreenValue = tmpColor.green()); + dialog_->sliderButtonBlue->setValue(sliderButtonBlueValue = tmpColor.blue()); + dialog_->valueButtonRed->setNum(sliderButtonRedValue); + dialog_->valueButtonGreen->setNum(sliderButtonGreenValue); + dialog_->valueButtonBlue->setNum(sliderButtonBlueValue); + + // special Widgets + //ListViews + dialog_->useRectLVH->setChecked( config->readBoolEntry( "Special_UseFlatLVH", false)); + dialog_->drawTreeLines->setChecked( config->readBoolEntry( "Special_DrawTreeLines", false)); + dialog_->treeLineMode->setCurrentItem(config->readNumEntry( "Special_TreelineStyle", 0)); + dialog_->treeLineColor->setColor( QColor( config->readNumEntry( "Special_TreelineColor", (int) colorGroup().mid().rgb()))); + dialog_->expanderMode->setCurrentItem(config->readNumEntry( "Special_ExpanderStyle", 0)); + dialog_->useCustomExpanderColor->setChecked( config->readBoolEntry( "Special_CustomExpanderColor", false)); + dialog_->customExpanderColor->setColor( QColor( config->readNumEntry( "Special_ExpanderColor", (int) colorGroup().text().rgb()))); + //Kicker + dialog_->removeKickerBevel->setChecked( config->readBoolEntry( "Special_RemoveKickerBevel", true)); + dialog_->roundTasks->setChecked( config->readBoolEntry( "Special_RoundTaskbuttons", false)); + QFile file(QDir::homeDirPath() + "/.kde/share/apps/kicker/applets/menuapplet.desktop"); + dialog_->replaceMenubar->setChecked( menuReplaced = file.exists() ); + //Scrollbars + dialog_->animateSlider->setChecked( config->readBoolEntry( "Special_AnimateSlider", true)); + dialog_->shadowSlider->setChecked( config->readBoolEntry( "Special_ShadowSlider", false)); + dialog_->squeezeSlider->setChecked( config->readBoolEntry( "Special_SqueezeSlider", false)); + //Progress + dialog_->progressType->setCurrentItem( config->readNumEntry( "Special_ProgressStyle", 0)); + dialog_->showProgressValue->setChecked( config->readBoolEntry( "Special_ShowProgressValue", false)); + //Toolbars + dialog_->unhoveredToolButtons->setCurrentItem(config->readNumEntry( "Special_UnhoveredToolButtons", 2)); + //Tabs + dialog_->aquaTabs->setCurrentItem(config->readNumEntry("Design_TabStyleAqua", 0 )); + dialog_->brushedTabs->setCurrentItem(config->readNumEntry("Design_TabStyleBrushed", 1 )); + + // menus + dialog_->menuBackground->setCurrentItem( config->readNumEntry( "Menu_Background", 0)); + dialog_->menuOpacity->setValue( config->readNumEntry( "Menu_Opacity", 70)); + //Look + dialog_->shadowMenuText->setChecked( config->readBoolEntry( "Menu_ShadowText", true)); + dialog_->menuColorMode->setCurrentItem(config->readNumEntry("Menu_ColorStyle")); + dialog_->menuTextColor->setColor( QColor( config->readNumEntry( "Menu_TextColor", (int) colorGroup().text().rgb()))); + dialog_->menuTextColorHigh->setColor( QColor( config->readNumEntry( "Menu_TextColorHighlight", (int) colorGroup().highlightedText().rgb()))); + dialog_->menuColor->setColor( QColor( config->readNumEntry( "Menu_Color1", (int) colorGroup().background().rgb()))); + dialog_->menuColor2->setColor( QColor( config->readNumEntry( "Menu_Color2", (int) colorGroup().background().dark(130).rgb()))); + dialog_->menuColorHigh->setColor( QColor( config->readNumEntry( "Menu_ColorHighlight", (int) colorGroup().highlight().rgb()))); + dialog_->drawMenuStripe->setChecked(config->readBoolEntry( "Menu_DrawMenuStripe", false)); + dialog_->glossyMenus->setChecked(config->readBoolEntry( "Menu_Glossy", true)); + dialog_->menuStripeColor->setColor( QColor( config->readNumEntry( "Menu_StripeColor", (int) Qt::white.rgb()))); + + // custom colors + dialog_->useCustomColors->setChecked( config->readBoolEntry( "Colors_UseCustomColors", false)); + dialog_->radioOffColor->setColor( QColor( config->readNumEntry( "Colors_RadioOff", ( int ) colorGroup().background().rgb()))); + dialog_->radioOnColor->setColor( QColor( config->readNumEntry( "Colors_RadioOn", ( int ) colorGroup().button().rgb()))); + dialog_->checkOffColor->setColor( QColor( config->readNumEntry( "Colors_CheckOff", ( int ) colorGroup().background().rgb()))); + dialog_->checkOnColor->setColor( QColor( config->readNumEntry( "Colors_CheckOn", ( int ) colorGroup().button().rgb()))); + dialog_->sliderColor->setColor( QColor( config->readNumEntry( "Colors_Slider", ( int ) colorGroup().button().rgb()))); + dialog_->hoverSliderColorColor->setColor(QColor(config->readNumEntry("Colors_SliderHovered",(int)colorGroup().button().rgb()))); + dialog_->pressedSliderColor->setColor(QColor(config->readNumEntry("Colors_SliderPressed",(int) colorGroup().button().dark(110).rgb()))); + dialog_->sliderGrooveColor->setColor(QColor(config->readNumEntry("Colors_SliderGroove",(int)colorGroup().background().rgb()))); + dialog_->inactiveTabColor->setColor(QColor(config->readNumEntry("Colors_TabInactive",(int) colorGroup().background().rgb()))); + dialog_->activeTabColor->setColor(QColor(config->readNumEntry("Colors_TabActive",(int)colorGroup().button().rgb()))); + dialog_->tintBrush->setChecked( config->readBoolEntry( "Colors_TintBrushedMetal", false)); + brushTint = QColor(config->readNumEntry("Colors_BrushTint",(int)colorGroup().background().rgb())); +// dialog_->brushTintSaturaion->setValue(settings.readNumEntry( "/qt/Baghira/brushTintSaturation", 3)); + baseImage2 = uic_findImage("brush-me"); + dialog_->pixmapBrushPreview->setPixmap(*tintBrush(baseImage2, brushTint)); + dialog_->sliderBrushRed->setValue(sliderBrushRedValue = brushTint.red()); + dialog_->sliderBrushGreen->setValue(sliderBrushGreenValue = brushTint.green()); + dialog_->sliderBrushBlue->setValue(sliderBrushBlueValue = brushTint.blue()); + config->setGroup("Menubar"); + dialog_->menuMaxWidth->setValue(config->readNumEntry("Width", QDesktopWidget().availableGeometry().width())); + config->setGroup("Sidebar"); + delete config; + + config = new KConfig("kdeglobals"); + config->setGroup( "Toolbar style" ); + dialog_->toolbuttonHighColor->setColor(config->readColorEntry("HighlightColor", new QColor(103,141,178)) ); + delete config; +} + + +void kstyle_baghira_config::defaults() +{ + dialog_->defaultStyle->setCurrentItem(0); + dialog_->buttonStyle->setCurrentItem(1); + dialog_->toolbuttonStyle->setCurrentItem(1); + dialog_->animateButtons->setChecked( true); + dialog_->stippleBackground->setChecked( true); + dialog_->stippleContrast->setValue( 30); + dialog_->shadowGroups->setChecked( true); + dialog_->shadowIntensity->setValue( 50); + dialog_->bevelHighlights->setChecked( true ); + dialog_->centerTabs->setChecked( true); + dialog_->colorMode->setCurrentItem(0); + dialog_->inactiveColorType->setCurrentItem(1); + dialog_->customInactiveColor->setColor(colorGroup().background().rgb()); + // button color stuff + dialog_->sliderButtonRed->setValue(sliderButtonRedValue = colorGroup().button().red()); + dialog_->sliderButtonGreen->setValue(sliderButtonGreenValue = colorGroup().button().green()); + dialog_->sliderButtonBlue->setValue(sliderButtonBlueValue = colorGroup().button().blue()); + dialog_->valueButtonRed->setNum(sliderButtonRedValue); + dialog_->valueButtonGreen->setNum(sliderButtonGreenValue); + dialog_->valueButtonBlue->setNum(sliderButtonBlueValue); + + // special Widgets +// dialog_->animateSlider; + dialog_->shadowSlider->setChecked( false); + dialog_->squeezeSlider->setChecked( false); + dialog_->unhoveredToolButtons->setCurrentItem(2); + dialog_->toolbuttonHighColor->setColor( QColor(103,141,178) ); + dialog_->drawTreeLines->setChecked( false); + dialog_->useCustomExpanderColor->setChecked( false); + dialog_->treeLineMode->setCurrentItem(0); + dialog_->treeLineColor->setColor( colorGroup().mid().rgb()); + dialog_->expanderMode->setCurrentItem(0); + dialog_->customExpanderColor->setColor( colorGroup().text().rgb()); + dialog_->useRectLVH->setChecked( false); + dialog_->removeKickerBevel->setChecked( true); + dialog_->roundTasks->setChecked( false); + dialog_->showProgressValue->setChecked( false); + dialog_->progressType->setCurrentItem( 0); + dialog_->aquaTabs->setCurrentItem( 0 ); + dialog_->brushedTabs->setCurrentItem(1); + + // menus +// dialog_->transGroup; + dialog_->menuBackground->setCurrentItem(0); + dialog_->menuOpacity->setValue( 70); + dialog_->shadowMenuText->setChecked( true); + dialog_->menuColorMode->setCurrentItem(0); + dialog_->menuTextColor->setColor( colorGroup().text().rgb()); + dialog_->menuTextColorHigh->setColor( colorGroup().highlightedText().rgb()); + dialog_->menuColor->setColor( colorGroup().background().rgb()); + dialog_->menuColor2->setColor( colorGroup().background().dark(130).rgb()); + dialog_->menuColorHigh->setColor( colorGroup().highlight().rgb()); + dialog_->drawMenuStripe->setChecked(false); + dialog_->glossyMenus->setChecked(true); + dialog_->menuStripeColor->setColor( Qt::white.rgb()); + + // custom colors + dialog_->useCustomColors->setChecked( false); + dialog_->radioOffColor->setColor( colorGroup().background().rgb()); + dialog_->radioOnColor->setColor( colorGroup().button().rgb()); + dialog_->checkOffColor->setColor( colorGroup().background().rgb()); + dialog_->checkOnColor->setColor( colorGroup().button().rgb()); + dialog_->sliderColor->setColor( colorGroup().button().rgb()); + dialog_->hoverSliderColorColor->setColor(colorGroup().button().rgb()); + dialog_->pressedSliderColor->setColor(colorGroup().button().dark(110).rgb()); + dialog_->sliderGrooveColor->setColor(colorGroup().background().rgb()); + dialog_->inactiveTabColor->setColor(colorGroup().background().rgb()); + dialog_->activeTabColor->setColor(colorGroup().button().rgb()); + dialog_->tintBrush->setChecked( false); + emit changed(true); +} + +void kstyle_baghira_config::save() +{ + QString tmpString = QDir::homeDirPath() + "/.qt/baghirarc"; + save(tmpString); +// emit changed(true); +} + +void kstyle_baghira_config::changeTooluttonHighlightColor(const QColor & color) +{ + KConfig *config = new KConfig("kdeglobals"); + config->setGroup( "Toolbar style" ); + config->writeEntry("HighlightColor", color); + delete config; +} + +void kstyle_baghira_config::handleButtonStyles(int i) +{ + if (i != 2 && sender() == dialog_->buttonStyle && dialog_->toolbuttonStyle->currentItem() != 2) + dialog_->toolbuttonStyle->setCurrentItem(i); + else if (i != 2 && sender() == dialog_->toolbuttonStyle && dialog_->buttonStyle->currentItem() != 2) + dialog_->buttonStyle->setCurrentItem(i); + configChanged(); +} + +void kstyle_baghira_config::save(QString &fileName) +{ +// QSettings *config = new QSettings; + KConfig *config = new KConfig(fileName); + config->setGroup("BAB"); + //General Design + config->writeEntry("defaultState", dialog_->defaultStyle->currentItem()); +// config->endGroup(); + config->setGroup("Style"); + config->writeEntry("Special_ButtonStyle", dialog_->buttonStyle->currentItem()); + config->writeEntry("Special_ToolbuttonStyle", dialog_->toolbuttonStyle->currentItem()); + config->writeEntry("Design_AnimateButtons", dialog_->animateButtons->isOn()); + config->writeEntry("Design_Default", dialog_->defaultStyle->currentItem()); + config->writeEntry("Design_StippleBackground", dialog_->stippleBackground->isOn()); + config->writeEntry("Design_StippleContrast", dialog_->stippleContrast->value()); + config->writeEntry("Design_ShadowGroupBoxes", dialog_->shadowGroups->isOn()); + config->writeEntry("Design_GroupBoxeShadowDarkness", dialog_->shadowIntensity->value()); + config->writeEntry("Design_BevelAsHighlight", dialog_->bevelHighlights->isOn()); + config->writeEntry("Design_ButtonStyle", dialog_->colorMode->currentItem()); + config->writeEntry("Design_InactiveButtonStyle", dialog_->inactiveColorType->currentItem()); + config->writeEntry("Design_InactiveButtonColor", (int)dialog_->customInactiveColor->color().rgb()); + config->writeEntry("Design_CenterTabs", dialog_->centerTabs->isOn()); + //button color stuff + config->writeEntry("Design_ButtonColor", (int)(QColor(sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue).rgb())); + + // special Widgets + //listviews +// dialog_->animateSlider; + config->writeEntry("Special_UseFlatLVH", dialog_->useRectLVH->isOn()); + config->writeEntry("Special_DrawTreeLines", dialog_->drawTreeLines->isOn()); + config->writeEntry("Special_TreelineStyle", dialog_->treeLineMode->currentItem()); + config->writeEntry("Special_TreelineColor", (int)dialog_->treeLineColor->color().rgb()); + config->writeEntry("Special_ExpanderStyle", dialog_->expanderMode->currentItem()); + config->writeEntry("Special_CustomExpanderColor", dialog_->useCustomExpanderColor->isOn()); + config->writeEntry("Special_ExpanderColor", (int)dialog_->customExpanderColor->color().rgb()); + //Kicker + config->writeEntry("Special_RemoveKickerBevel", dialog_->removeKickerBevel->isOn()); + config->writeEntry("Special_RoundTaskbuttons", dialog_->roundTasks->isOn()); + QDir tmpDir(QDir::homeDirPath() + "/.kde"); + if (!tmpDir.exists()) tmpDir.mkdir(QDir::homeDirPath() + "/.kde"); + tmpDir.setPath(QDir::homeDirPath() + "/.kde/share"); + if (!tmpDir.exists()) tmpDir.mkdir(QDir::homeDirPath() + "/.kde/share"); + tmpDir.setPath(QDir::homeDirPath() + "/.kde/share/apps"); + if (!tmpDir.exists()) tmpDir.mkdir(QDir::homeDirPath() + "/.kde/share/apps"); + tmpDir.setPath(QDir::homeDirPath() + "/.kde/share/apps/kicker"); + if (!tmpDir.exists()) tmpDir.mkdir(QDir::homeDirPath() + "/.kde/share/apps/kicker"); + tmpDir.setPath(QDir::homeDirPath() + "/.kde/share/apps/kicker/applets"); + if (!tmpDir.exists()) tmpDir.mkdir(QDir::homeDirPath() + "/.kde/share/apps/kicker/applets"); + QFile file(QDir::homeDirPath() + "/.kde/share/apps/kicker/applets/menuapplet.desktop"); + if (dialog_->replaceMenubar->isOn()) + { + file.open(IO_WriteOnly); + const char *msg = +"[Desktop Entry]\n\ +Hidden=true\n\ +Type=Plugin\n\ +Encoding=UTF-8\n\ +Name=BaghiraMenu\n\ +X-KDE-Library=b_menu_panelapplet\n\ +X-KDE-UniqueApplet=true\n"; + file.writeBlock( msg, qstrlen(msg) ); + file.close(); + } + else + file.remove(); + if (dialog_->replaceMenubar->isOn() != menuReplaced) + KApplication::dcopClient()->send("kicker", "default", "restart()", ""); + //Srollbars + config->writeEntry("Special_AnimateSlider", dialog_->animateSlider->isOn()); + config->writeEntry("Special_ShadowSlider", dialog_->shadowSlider->isOn()); + config->writeEntry("Special_SqueezeSlider", dialog_->squeezeSlider->isOn()); + //Progress + config->writeEntry("Special_ProgressStyle", dialog_->progressType->currentItem()); + config->writeEntry("Special_ShowProgressValue", dialog_->showProgressValue->isOn()); + //Toolbars + config->writeEntry("Special_UnhoveredToolButtons", dialog_->unhoveredToolButtons->currentItem()); + //Tabs + config->writeEntry("Design_TabStyleAqua", dialog_->aquaTabs->currentItem() ); + config->writeEntry("Design_TabStyleBrushed", dialog_->brushedTabs->currentItem() ); + // menus + config->writeEntry("Menu_Background", dialog_->menuBackground->currentItem()); + config->writeEntry("Menu_Opacity", dialog_->menuOpacity->value()); + //Look + config->writeEntry("Menu_ShadowText", dialog_->shadowMenuText->isOn()); + config->writeEntry("Menu_ColorStyle", dialog_->menuColorMode->currentItem()); + config->writeEntry("Menu_TextColor", (int)dialog_->menuTextColor->color().rgb()); + config->writeEntry("Menu_TextColorHighlight", (int)dialog_->menuTextColorHigh->color().rgb()); + config->writeEntry("Menu_Color1", (int)dialog_->menuColor->color().rgb()); + config->writeEntry("Menu_Color2", (int)dialog_->menuColor2->color().rgb()); + config->writeEntry("Menu_ColorHighlight", (int)dialog_->menuColorHigh->color().rgb()); + config->writeEntry("Menu_DrawMenuStripe", dialog_->drawMenuStripe->isOn()); + config->writeEntry("Menu_Glossy", dialog_->glossyMenus->isOn()); + config->writeEntry("Menu_StripeColor", (int)dialog_->menuStripeColor->color().rgb()); + + // custom colors + config->writeEntry("Colors_UseCustomColors", dialog_->useCustomColors->isOn()); + config->writeEntry("Colors_RadioOff", (int)dialog_->radioOffColor->color().rgb()); + config->writeEntry("Colors_RadioOn", (int)dialog_->radioOnColor->color().rgb()); + config->writeEntry("Colors_CheckOff",(int) dialog_->checkOffColor->color().rgb()); + config->writeEntry("Colors_CheckOn", (int)dialog_->checkOnColor->color().rgb()); + config->writeEntry("Colors_Slider",(int) dialog_->sliderColor->color().rgb()); + config->writeEntry("Colors_SliderHovered", (int)dialog_->hoverSliderColorColor->color().rgb()); + config->writeEntry("Colors_SliderPressed", (int)dialog_->pressedSliderColor->color().rgb()); + config->writeEntry("Colors_SliderGroove",(int) dialog_->sliderGrooveColor->color().rgb()); + config->writeEntry("Colors_TabInactive",(int) dialog_->inactiveTabColor->color().rgb()); + config->writeEntry("Colors_TabActive", (int)dialog_->activeTabColor->color().rgb()); + config->writeEntry("Colors_TintBrushedMetal", dialog_->tintBrush->isOn()); + config->writeEntry("Colors_BrushTint",(int)qRgb(sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue)); + config->setGroup("Menubar"); + config->writeEntry("Width", dialog_->menuMaxWidth->value()); + config->sync(); +// config->endGroup(); + delete config; +} + + +void kstyle_baghira_config::configChanged() +{ + if (loadDone) + { + dialog_->statusWarning->setText("Config changed"); + emit changed(true); + } +} + + +QString kstyle_baghira_config::quickHelp() const +{ + return i18n("Configure Your Cat"); +} + +void kstyle_baghira_config::setDesign(int d) +{ + bool b = (d == 0); + dialog_->stippleBackground->setEnabled(b); + dialog_->stippleContrast->setEnabled(b); + dialog_->shadowGroups->setEnabled(b); + dialog_->shadowIntensity->setEnabled(b); +} + +void kstyle_baghira_config::enableInButtonColor(int d) +{ + dialog_->customInactiveColor->setEnabled(d == 3); +} + +void kstyle_baghira_config::enableMenuColorStuff(int d) +{ + bool b = (d == 2); + dialog_->menuTextColor->setEnabled(b); + dialog_->menuColor->setEnabled(b && dialog_->menuBackground->currentItem() > 0); + dialog_->menuColor2->setEnabled(b && dialog_->menuBackground->currentItem() > 1); +} + +void kstyle_baghira_config::buttonLoadAction() +{ + QString tmpString = KFileDialog::getOpenFileName(QDir::homeDirPath(), "*", this, "Select a Baghira config file"); + if (!tmpString.isEmpty()) + load(tmpString); +} + +void kstyle_baghira_config::buttonSaveAsAction() +{ + QString tmpString = KFileDialog::getSaveFileName(QDir::homeDirPath(), "*", this, "Save current Baghira configuration as"); + save(tmpString); +} + +void kstyle_baghira_config::editApp() +{ + emit editApp(applist->currentItem()->text(0), applist->currentItem()->text(1)); +} + +void kstyle_baghira_config::removeApp() +{ + QString string = QDir::homeDirPath() + "/.baghira/" + applist->currentItem()->text(0); + QFile::remove(string); + applist->takeItem(applist->currentItem()); +} + +void kstyle_baghira_config::removeApp(QString name) +{ + QString string = QDir::homeDirPath() + "/.baghira/" + name; + QFile::remove(string); + applist->takeItem(applist->findItem(name, 0, Qt::ExactMatch)); +} + +void kstyle_baghira_config::addApp(QString string, QString linkString) +{ + applist->insertItem(new KListViewItem(applist, string, linkString)); + applist->sort(); +} + +void kstyle_baghira_config::selectWindow() +// taken from kcmkwin +{ + // use a dialog, so that all user input is blocked + // use WX11BypassWM and moving away so that it's not actually visible + // grab only mouse, so that keyboard can be used e.g. for switching windows + grabber = new QDialog( NULL, NULL, true, WX11BypassWM ); + grabber->move( -1000, -1000 ); + grabber->show(); + grabber->grabMouse( crossCursor ); + grabber->installEventFilter( this ); +} + +Atom wm_state = XInternAtom( qt_xdisplay(), "WM_STATE", False ); +// Atom wm_state = XInternAtom( qt_xdisplay(), "WM_COMMAND", False ); + +bool kstyle_baghira_config::eventFilter( QObject* o, QEvent* e ) +// adapted from kcmkwin... again ;) +{ + if( o != grabber ) + return false; + if( e->type() != QEvent::MouseButtonRelease ) + return false; + delete grabber; + grabber = NULL; + if( static_cast< QMouseEvent* >( e )->button() != LeftButton ) + return true; + WId winId = findWindow(); + XClassHint classHint; + if (XGetClassHint(qt_xdisplay(), winId, &classHint)) + { + QString tmpString = QString( classHint.res_class ).lower() + " (uncertain)"; + appsetter->show(tmpString, QString()); +// qWarning("class: %s",QString( classHint.res_class ).lower().ascii()); + XFree( classHint.res_name ); + XFree( classHint.res_class ); + } + return true; +} + +WId kstyle_baghira_config::findWindow() +// taken from kcmkwin... as well =) +{ + Window root; + Window child; + uint mask; + int rootX, rootY, x, y; + Window parent = qt_xrootwin(); +// Atom wm_state = XInternAtom( qt_xdisplay(), "WM_STATE", False ); + for( int i = 0; + i < 10; + ++i ) + { + XQueryPointer( qt_xdisplay(), parent, &root, &child, + &rootX, &rootY, &x, &y, &mask ); + if( child == None ) + return 0; + Atom type; + int format; + unsigned long nitems, after; + unsigned char* prop; + if( XGetWindowProperty( qt_xdisplay(), child, wm_state, 0, 0, False, AnyPropertyType, &type, &format, &nitems, &after, &prop ) == Success ) + { + if( prop != NULL ) + XFree( prop ); + if( type != None ) + return child; + } + parent = child; + } + return 0; +} + + +void kstyle_baghira_config::menuToggled(bool active) +{ + if (!active || !loadDone) + return; + KConfigGroup menuConfig(KGlobal::config(), "KDE"); + if (!menuConfig.readBoolEntry("macStyle", false)) + if (KMessageBox::questionYesNo(0, i18n("<qt>You just selected to replace kickers menu applet for the Mac like Menubar on top of the screen, but the Mac like style isn't selected anyway<br>Do you want to activate it now?</qt>"), 0L, KStdGuiItem::yes(), KStdGuiItem::no()) == KMessageBox::Yes) + { + KProcess proc; + proc << "kcmshell" << "desktopbehavior"; + proc.start(KProcess::DontCare); + proc.detach(); + } + configChanged(); +} + +////////////////////////////////////////////////////////////////////////////// +// Plugin Stuff // +////////////////////////////////////////////////////////////////////////////// + +extern "C" +{ + QWidget* allocate_kstyle_config(QWidget* parent){ + return(new kstyle_baghira_config(parent, "BaghiraConfig")); + } +} + +AppSetter::AppSetter(QWidget *parent, const char *name) : QWidget(parent, name, Qt::WType_Dialog | Qt::WShowModal ) +{ + isEdit = FALSE; + + QLabel *label1 = new QLabel(i18n("<qt><b>Application Name</b></qt>"), this); + command = new QLineEdit(this); + + QLabel *linkTo = new QLabel(i18n("<qt><b>Just like</b></qt>"),this); + link = new QComboBox(this); + + box = new QGroupBox(2,Qt::Horizontal,i18n("Custom Settings"),this); + box->setCheckable( true ); + + new QLabel(i18n("<qt><b>Style</b></qt>"), box); + new QLabel("<qt><b>Deco</b></qt>", box); + + style = new QComboBox(box); + style->insertItem(i18n("Don't set")); + style->insertItem("Jaguar"); + style->insertItem("Panther"); + style->insertItem("Brushed Metal"); + style->insertItem("Tiger"); + style->insertItem("Milk"); + + deco = new QComboBox(box); + deco->insertItem(i18n("Don't set")); + deco->insertItem("Jaguar"); + deco->insertItem("Panther"); + deco->insertItem("Brushed Metal"); + deco->insertItem("Tiger"); + deco->insertItem("Milk"); + + new QLabel(i18n("<qt><b>Buttons</b></qt>"), box); + new QLabel(i18n("<qt><b>Toolbuttons</b></qt>"), box); + + buttons = new QComboBox(box); + buttons->insertItem("Jaguar"); + buttons->insertItem("Panther"); + buttons->insertItem("iTunes"); + buttons->insertItem("Tiger"); + buttons->insertItem("Milk"); + + + toolButtons = new QComboBox(box); + toolButtons->insertItem("Jaguar"); + toolButtons->insertItem("Panther"); + toolButtons->insertItem("iTunes"); + toolButtons->insertItem("Tiger"); + toolButtons->insertItem("Milk"); + + new QLabel(i18n("<qt><b>Tab vs. Chooser</b></qt>"), box); + new QLabel(i18n("<qt>Inactive Button</qt>"), box); + + tabs = new QComboBox(box); + tabs->insertItem(i18n("Don't set")); + tabs->insertItem("Tabs"); + tabs->insertItem("Adaptive"); + tabs->insertItem("Choosers"); + + + inbutton = new QComboBox(box); + inbutton->insertItem("Fixed"); + inbutton->insertItem("Background"); + inbutton->insertItem("Active Button"); + + scanlines = new QCheckBox("Show scanlines", box); + + QWidget *dumb = new QWidget(box); + customColors = new QCheckBox(dumb); + buttonColors = new QPushButton("Custom Colors", dumb); + QHBoxLayout *clh = new QHBoxLayout(dumb); + clh->addWidget(customColors); + clh->addWidget(buttonColors); + + QVBoxLayout *lv = new QVBoxLayout(this,11,6); + lv->addWidget(label1); + lv->addWidget(command); + QHBoxLayout *lh0 = new QHBoxLayout(lv); + lh0->addWidget(linkTo); + lh0->addWidget(link); + lv->addWidget(box); + QHBoxLayout *lh = new QHBoxLayout(lv); + QPushButton *cancel = new QPushButton("Cancel",this); + lh->addWidget(cancel); + QPushButton *ok = new QPushButton("Ok",this); + lh->addWidget(ok); + + colorDialog = new ColorDialog(this); + + connect(box, SIGNAL(toggled( bool )), link, SLOT(setDisabled(bool))); + connect(box, SIGNAL(toggled( bool )), linkTo, SLOT(setDisabled(bool))); + connect(style, SIGNAL(activated( int )), this, SLOT(handler(int))); + connect(buttons, SIGNAL(activated( int )), this, SLOT(handleButtonStyles(int))); + connect(toolButtons, SIGNAL(activated( int )), this, SLOT(handleButtonStyles(int))); + connect(cancel, SIGNAL(clicked()), this, SLOT(reset())); + connect(ok, SIGNAL(clicked()), this, SLOT(save())); + connect(customColors, SIGNAL(toggled( bool )), buttonColors, SLOT(setEnabled(bool))); + connect(buttonColors, SIGNAL(clicked()), colorDialog, SLOT(exec())); + connect(colorDialog->buttonOk, SIGNAL(clicked()), this, SLOT(updateColors())); + connect(colorDialog->buttonCancel, SIGNAL(clicked()), this, SLOT(resetColorPicker())); + reset(); +} + +AppSetter::~AppSetter() +{ +} + +void AppSetter::handleButtonStyles(int i) +{ + if (i != 2 && sender() == buttons && toolButtons->currentItem() != 2) + toolButtons->setCurrentItem(i); + else if (i != 2 && sender() == toolButtons && buttons->currentItem() != 2) + buttons->setCurrentItem(i); +} + +void AppSetter::handler(int i) +{ + scanlines->setEnabled(i != 3); +} + +void AppSetter::updateColors() +{ + for (int i = 0; i < 8; i++) + colors[i] = (int)colorDialog->picker[i]->color().rgb(); +} + +void AppSetter::show() +{ + link->clear(); + QDir d( QDir::homeDirPath() + "/.baghira", 0L, QDir::Name | QDir::IgnoreCase, QDir::Files | QDir::NoSymLinks | QDir::Readable | QDir::Writable ); + for ( uint i = 0; i < d.count(); i++ ) + link->insertItem(d[i]); + QWidget::show(); +} + +void AppSetter::show(QString appName, QString linkString) +{ + isEdit = true; + oldName = appName; + oldLink = linkString; + command->setText(appName); + FILE *file = NULL; + QString tmpString = QDir::homeDirPath() + "/.baghira/" + appName; + if( (file = fopen(tmpString.latin1(), "r")) != NULL ) + { + uint s, d, b, t, tc, sc, ib; + s = d = 4; + b = t = sc = 2; + tc = 3; + for (int i = 0; i < 8; i++) + colors[i] = -1; + fscanf(file,"%u\n%u\n%u\n%u\n%u\n%u\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n",&s,&d,&b,&t,&tc,&sc,&colors[0],&colors[1],&colors[2],&colors[3],&colors[4],&colors[5],&colors[6],&colors[7],&ib); + fclose(file); + if (s < 5) style->setCurrentItem(s+1); + if (d < 5) deco->setCurrentItem(d+1); + if (b < 5) buttons->setCurrentItem(b); + if (t < 5) toolButtons->setCurrentItem(t); + if (tc < 3) tabs->setCurrentItem(tc+1); + if (ib < 3) inbutton->setCurrentItem(ib); + scanlines->setChecked(sc < 2 ? sc : true); + scanlines->setEnabled(s != 2); + customColors->setChecked(colors[0] != -1); + buttonColors->setEnabled(customColors->isChecked()); + resetColorPicker(); + } + show(); + if (!linkString.isNull()) + { + for (int i = 0; i < link->count(); i++) + { + if (link->text(i) == linkString) + { + link->setCurrentItem(i); + break; + } + } + } + else + { + box->setChecked(true); + } +} + +void AppSetter::resetColorPicker() +{ + if (colors[0] != -1) + { + for (int i = 0; i < 8; i++) + { + colorDialog->picker[i]->blockSignals(true); + colorDialog->picker[i]->setColor(QColor(colors[i])); + colorDialog->picker[i]->blockSignals(false); + } + ((QWidget*)colorDialog->demo)->repaint(false); + } + else + { + for (int i = 0; i < 8; i++) + colorDialog->picker[i]->blockSignals(true); + colorDialog->picker[Back]->setColor(colorGroup().background()); + colorDialog->picker[Button]->setColor(colorGroup().button()); + colorDialog->picker[Base]->setColor(colorGroup().base()); + colorDialog->picker[Text]->setColor(colorGroup().text()); + colorDialog->picker[High]->setColor(colorGroup().highlight()); + colorDialog->picker[HighText]->setColor(colorGroup().highlightedText()); + colorDialog->picker[ButText]->setColor(colorGroup().buttonText ()); + colorDialog->picker[Alternate]->setColor(KGlobalSettings::alternateBackgroundColor()); + for (int i = 0; i < 8; i++) + colorDialog->picker[i]->blockSignals(false); + ((QWidget*)colorDialog->demo)->repaint(false); + } +} + +void AppSetter::save() +{ + if (command->text() != "" && (!box->isChecked() || (style->currentItem() != 0 && deco->currentItem() != 0))) + { + if (!isEdit) + emit addApp(command->text(), box->isChecked() ? QString() : link->currentText()); + else if (command->text() != oldName || link->currentText() != oldLink) + { + emit removeApp(oldName); + emit addApp(command->text(), box->isChecked() ? QString() : link->currentText()); + } + if (!customColors->isChecked()) + { + for (int i = 0; i < 8; i++) + colors[i] = -1; + } + FILE *file = NULL; + QString tmpString = QDir::homeDirPath() + "/.baghira/" + command->text(); + if (box->isChecked()) // custom settings + { + if( (file = fopen(tmpString.latin1(), "w")) != NULL ) + { + fprintf(file,"%u\n%u\n%u\n%u\n%u\n%u\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n",style->currentItem()-1, deco->currentItem()-1, buttons->currentItem(), toolButtons->currentItem(), tabs->currentItem()-1, scanlines->isChecked(), colors[0], colors[1], colors[2], colors[3], colors[4], colors[5], colors[6], colors[7], inbutton->currentItem()); + fclose(file); + } + } + else // just link + { + QString tmpString2 = QDir::homeDirPath() + "/.baghira/" + link->currentText(); + QFile::remove(tmpString); // just to be sure ;) + symlink (tmpString2.latin1(), tmpString.latin1()); + } + } + reset(); +} + +void AppSetter::reset() +{ + hide(); + isEdit = false; + style->setCurrentItem(0); + deco->setCurrentItem(0); + buttons->setCurrentItem(1); + inbutton->setCurrentItem(0); + toolButtons->setCurrentItem(1); + tabs->setCurrentItem(0); + scanlines->setChecked(false); + command->clear(); + customColors->setChecked(false); + for (int i = 0; i < 8; i++) + colors[i] = -1; + box->setChecked ( false ); +} + +#include "kstyle_baghira_config.moc" diff --git a/config/kstyle_baghira_config.h b/config/kstyle_baghira_config.h new file mode 100644 index 0000000..35830dd --- /dev/null +++ b/config/kstyle_baghira_config.h @@ -0,0 +1,163 @@ +/*************************************************************************** + * Copyright (C) 2004 by Thomas L�bking * + * thomas@home * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#ifndef _KSTYLE_BAGHIRA_CONFIG_H_ +#define _KSTYLE_BAGHIRA_CONFIG_H_ + +//#include <kcmodule.h> +#include <qcolor.h> +#include <qimage.h> +#include <kaboutdata.h> +#include "configdialog.h" +#include "help.h" +#include "about.h" + +class KListView; +class QPushButton; +class AppSetter; +class QTimer; +class QCheckBox; +class QComboBox; +class QGroupBox; + +class kstyle_baghira_config: public QWidget +{ + Q_OBJECT + +public: + kstyle_baghira_config( QWidget *parent=0, const char *name=0, const QStringList& = QStringList() ); + ~kstyle_baghira_config(); + + virtual void load(); + void load(QString &fileName); + void save(QString &fileName); +// virtual int buttons(); + virtual QString quickHelp() const; + virtual const KAboutData *aboutData()const + { return myAboutData; }; + +public slots: + void configChanged(); + void openHtml1(); + void openHtml2(); + void startBab(); + void startKRuler(); + void sliderButtonRedChanged(int); + void sliderButtonGreenChanged(int); + void sliderButtonBlueChanged(int); + void sliderBrushRedChanged(int); + void sliderBrushGreenChanged(int); + void sliderBrushBlueChanged(int); + virtual void save(); + virtual void defaults(); + +signals: + void changed(bool); + void editApp(QString, QString); + +protected: + bool eventFilter( QObject* o, QEvent* e ); + +private: + QString crNotes[3]; + AppSetter *appsetter; + KListView *applist; + QImage* tintButton(QImage &src, QColor c); + QImage* tintBrush( QImage &img, QColor c/*, int saturation*/ ); + WId findWindow(); + KAboutData *myAboutData; + Config *dialog_; + Help* help_; + About* about_; + QImage baseImage, baseImage2; + QDialog *grabber; + QColor buttonColor; + QColor brushTint; + int sliderButtonRedValue, sliderButtonGreenValue, sliderButtonBlueValue; + int sliderBrushRedValue, sliderBrushGreenValue, sliderBrushBlueValue/*, sliderBrushSaturationValue*/; + bool loadDone; + bool menuReplaced; + QTimer *timer; + int crCurrent; +private slots: + void updateCR(); + void showAbout(); + void editApp(); + void addApp(QString, QString); + void removeApp(); + void removeApp(QString); + void setDesign(int); + void menuToggled(bool); + void enableInButtonColor(int d); + void enableMenuColorStuff(int d); + void buttonLoadAction(); + void buttonSaveAsAction(); + void setPresetColor(int i); + void selectWindow(); + void changeTooluttonHighlightColor(const QColor &); + void handleButtonStyles(int i); +}; + +class ColorDialog; + +class AppSetter : public QWidget +{ +Q_OBJECT +public: + AppSetter(QWidget *parent=0, const char *name=0); + ~AppSetter(); +public slots: + void show(); + void show(QString appName, QString link); + +private: + bool isEdit; + int index_; + int colors[8]; + QString oldName; + QString oldLink; + QLineEdit *command; + QComboBox *link; + QGroupBox *box; + QComboBox *style; + QComboBox *deco; + QComboBox *buttons; + QComboBox *toolButtons; + QComboBox *tabs; + QComboBox *inbutton; + QCheckBox *scanlines; + QCheckBox *customColors; + QPushButton *buttonColors; + ColorDialog *colorDialog; + +signals: + void addApp(QString, QString); + void removeApp(QString); + +private slots: + void save(); + void reset(); + void handler(int); + void updateColors(); + void resetColorPicker(); + void handleButtonStyles(int i); +}; + +#endif |