129
131
if(0==memcmp(str, "true", 4) || 0==memcmp(str, "colored", 7))
130
132
return MO_COLORED;
133
if(0==memcmp(str, "thickcolored", 12))
134
return MO_COLORED_THICK;
131
135
if(0==memcmp(str, "plastik", 7))
132
136
return MO_PLASTIK;
133
137
if(0==memcmp(str, "glow", 4))
170
174
int i=atoi(&str[14]);
172
if(i>=1 && i<(QTC_NUM_CUSTOM_GRAD+1))
173
return (EAppearance)(APPEARANCE_CUSTOM1+(i-1));
177
if(i>=0 && i<QTC_NUM_CUSTOM_GRAD)
178
return (EAppearance)(APPEARANCE_CUSTOM1+i);
179
static EShade toShade(const char *str, bool allowDarken, EShade def)
184
static EShade toShade(const char *str, bool allowDarken, EShade def, bool menuShade, color *col)
183
188
/* true/false is from 0.25... */
184
if(0==memcmp(str, "true", 4) || 0==memcmp(str, "selected", 8))
189
if((!menuShade && 0==memcmp(str, "true", 4)) || 0==memcmp(str, "selected", 8))
185
190
return SHADE_BLEND_SELECTED;
186
191
if(0==memcmp(str, "origselected", 12))
187
192
return SHADE_SELECTED;
188
if(allowDarken && 0==memcmp(str, "darken", 6))
193
if(allowDarken && (0==memcmp(str, "darken", 6) || (menuShade && 0==memcmp(str, "true", 4))))
189
194
return SHADE_DARKEN;
190
195
if(0==memcmp(str, "custom", 6))
191
196
return SHADE_CUSTOM;
197
if('#'==str[0] && col)
192
202
if(0==memcmp(str, "none", 4))
193
203
return SHADE_NONE;
321
333
if(0==memcmp(str, "standard", 8))
322
334
return FOCUS_STANDARD;
323
if(0==memcmp(str, "highlight", 9))
324
return FOCUS_HIGHLIGHT;
325
if(0==memcmp(str, "background", 10))
326
return FOCUS_BACKGROUND;
335
if(0==memcmp(str, "rect", 4) || 0==memcmp(str, "highlight", 9))
336
return FOCUS_RECTANGLE;
327
337
if(0==memcmp(str, "filled", 6))
328
338
return FOCUS_FILLED;
329
339
if(0==memcmp(str, "full", 4))
348
static ETabMo toTabMo(const char *str, ETabMo def)
352
if(0==memcmp(str, "top", 3))
354
if(0==memcmp(str, "bot", 3))
355
return TAB_MO_BOTTOM;
356
if(0==memcmp(str, "glow", 4))
338
363
static EGradientBorder toGradientBorder(const char *str)
344
369
if(0==memcmp(str, "none", 4))
371
if(0==memcmp(str, "3dfull", 6))
346
373
if(0==memcmp(str, "3d", 2) || 0==memcmp(str, "false", 5))
398
#if defined QTC_CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000))
399
static ETitleBarIcon toTitlebarIcon(const char *str, ETitleBarIcon def)
403
if(0==memcmp(str, "none", 4))
404
return TITLEBAR_ICON_NONE;
405
if(0==memcmp(str, "menu", 4))
406
return TITLEBAR_ICON_MENU_BUTTON;
407
if(0==memcmp(str, "title", 5))
408
return TITLEBAR_ICON_NEXT_TO_TITLE;
372
416
#ifdef CONFIG_WRITE
722
766
#define QTC_CFG_READ_LINE(ENTRY) \
723
767
opts->ENTRY=toLine(QTC_LATIN1(readStringEntry(cfg, #ENTRY)), def->ENTRY);
725
#define QTC_CFG_READ_SHADE(ENTRY, AD) \
726
opts->ENTRY=toShade(QTC_LATIN1(readStringEntry(cfg, #ENTRY)), AD, def->ENTRY);
769
#define QTC_CFG_READ_SHADE(ENTRY, AD, MENU_STRIPE, COL) \
770
opts->ENTRY=toShade(QTC_LATIN1(readStringEntry(cfg, #ENTRY)), AD, def->ENTRY, MENU_STRIPE, COL);
728
772
#define QTC_CFG_READ_SCROLLBAR(ENTRY) \
729
773
opts->ENTRY=toScrollbar(QTC_LATIN1(readStringEntry(cfg, #ENTRY)), def->ENTRY);
731
775
#define QTC_CFG_READ_EFFECT(ENTRY) \
732
776
opts->ENTRY=toEffect(QTC_LATIN1(readStringEntry(cfg, #ENTRY)), def->ENTRY);
734
#ifdef QTC_CONFIG_DIALOG
735
#define QTC_CFG_READ_SHADING(ENTRY, UNUSED) \
778
#define QTC_CFG_READ_SHADING(ENTRY) \
736
779
opts->ENTRY=toShading(QTC_LATIN1(readStringEntry(cfg, #ENTRY)), def->ENTRY);
738
#define QTC_CFG_READ_SHADING(ENTRY, DEF) \
739
ENTRY=toShading(QTC_LATIN1(readStringEntry(cfg, #ENTRY)), DEF);
742
781
#define QTC_CFG_READ_ECOLOR(ENTRY) \
743
782
opts->ENTRY=toEColor(QTC_LATIN1(readStringEntry(cfg, #ENTRY)), def->ENTRY);
745
784
#define QTC_CFG_READ_FOCUS(ENTRY) \
746
785
opts->ENTRY=toFocus(QTC_LATIN1(readStringEntry(cfg, #ENTRY)), def->ENTRY);
787
#define QTC_CFG_READ_TAB_MO(ENTRY) \
788
opts->ENTRY=toTabMo(QTC_LATIN1(readStringEntry(cfg, #ENTRY)), def->ENTRY);
748
790
#ifdef __cplusplus
749
791
#define QTC_CFG_READ_ALIGN(ENTRY) \
750
792
opts->ENTRY=toAlign(QTC_LATIN1(readStringEntry(cfg, #ENTRY)), def->ENTRY);
795
#if defined QTC_CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000))
796
#define QTC_CFG_READ_TB_ICON(ENTRY) \
797
opts->ENTRY=toTitlebarIcon(QTC_LATIN1(readStringEntry(cfg, #ENTRY)), def->ENTRY);
753
800
static void checkAppearance(EAppearance *ap, Options *opts)
755
802
if(*ap>=APPEARANCE_CUSTOM1 && *ap<(APPEARANCE_CUSTOM1+QTC_NUM_CUSTOM_GRAD))
769
816
static void defaultSettings(Options *opts);
819
static void copyGradients(Options *src, Options *dest)
821
if(src && dest && src!=dest)
825
for(i=0; i<QTC_NUM_CUSTOM_GRAD; ++i)
826
if(src->customGradient[i] && src->customGradient[i]->numStops>0)
828
dest->customGradient[i]=malloc(sizeof(Gradient));
829
dest->customGradient[i]->numStops=src->customGradient[i]->numStops;
830
dest->customGradient[i]->stops=malloc(sizeof(GradientStop) * dest->customGradient[i]->numStops*2);
831
memcpy(dest->customGradient[i]->stops, src->customGradient[i]->stops,
832
sizeof(GradientStop) * dest->customGradient[i]->numStops*2);
833
dest->customGradient[i]->border=src->customGradient[i]->border;
836
dest->customGradient[i]=NULL;
840
static void copyOpts(Options *src, Options *dest)
842
if(src && dest && src!=dest)
844
memcpy(dest, src, sizeof(Options));
845
memcpy(dest->customShades, src->customShades, sizeof(double)*NUM_STD_SHADES);
846
copyGradients(src, dest);
771
851
#ifdef __cplusplus
772
852
static bool readConfig(const QString &file, Options *opts, Options *defOpts=0L)
827
907
Options *def=&newOpts;
829
opts->customGradient=def->customGradient;
910
opts->customGradient=def->customGradient;
832
*def=defOpts ? defOpts : &newOpts;
913
Options *def=&newOpts;
835
defaultSettings(def);
836
for(i=0; i<QTC_NUM_CUSTOM_GRAD+1; ++i)
837
if(def->customGradient[i] && def->customGradient[i]->numStops>0)
839
opts->customGradient[i]=malloc(sizeof(Gradient));
840
opts->customGradient[i]->numStops=def->customGradient[i]->numStops;
841
opts->customGradient[i]->stops=malloc(sizeof(GradientStop) * opts->customGradient[i]->numStops*2);
842
memcpy(opts->customGradient[i]->stops, def->customGradient[i]->stops, sizeof(GradientStop) * opts->customGradient[i]->numStops*2);
843
opts->customGradient[i]->border=def->customGradient[i]->border;
916
copyOpts(defOpts, &newOpts);
918
defaultSettings(&newOpts);
920
copyGradients(def, opts);
846
922
/* Check if the config file expects old default values... */
923
if(version<QTC_MAKE_VERSION(0, 63))
925
def->tabMouseOver=TAB_MO_TOP;
926
def->sliderStyle=SLIDER_TRIANGULAR;
928
def->titlebarAlignment=ALIGN_LEFT;
847
931
if(version<QTC_MAKE_VERSION(0, 62))
849
933
#ifdef __cplusplus
889
973
opts->highlightTab=true;
892
opts->customShades[0]=0;
893
if(QTC_USE_CUSTOM_SHADES(*def))
894
memcpy(opts->customShades, def->customShades, sizeof(double)*NUM_STD_SHADES);
978
opts->customShades[0]=0;
979
if(QTC_USE_CUSTOM_SHADES(*def))
980
memcpy(opts->customShades, def->customShades, sizeof(double)*NUM_STD_SHADES);
896
983
QTC_CFG_READ_NUM(passwordChar)
897
984
QTC_CFG_READ_ROUND(round)
898
985
QTC_CFG_READ_INT(highlightFactor)
986
QTC_CFG_READ_INT(menuDelay)
899
987
QTC_CFG_READ_INT_BOOL(lighterPopupMenuBgnd)
900
988
QTC_CFG_READ_TB_BORDER(toolbarBorders)
901
989
QTC_CFG_READ_APPEARANCE(appearance, false)
909
997
QTC_CFG_READ_LINE(handles)
910
998
QTC_CFG_READ_BOOL(highlightTab)
911
999
QTC_CFG_READ_BOOL(colorSelTab)
912
QTC_CFG_READ_SHADE(shadeSliders, false)
913
QTC_CFG_READ_SHADE(shadeMenubars, true)
914
QTC_CFG_READ_SHADE(shadeCheckRadio, false)
1000
QTC_CFG_READ_BOOL(roundAllTabs)
1001
QTC_CFG_READ_TAB_MO(tabMouseOver)
1002
QTC_CFG_READ_SHADE(shadeSliders, true, false, &opts->customSlidersColor)
1003
QTC_CFG_READ_SHADE(shadeMenubars, true, false, &opts->customMenubarsColor)
1004
QTC_CFG_READ_SHADE(shadeCheckRadio, false, false, &opts->customCheckRadioColor)
915
1005
QTC_CFG_READ_APPEARANCE(menubarAppearance, false)
916
1006
QTC_CFG_READ_APPEARANCE(menuitemAppearance, true)
917
1007
QTC_CFG_READ_APPEARANCE(toolbarAppearance, false)
926
1016
QTC_CFG_READ_BOOL(useHighlightForMenu)
927
1017
QTC_CFG_READ_BOOL(shadeMenubarOnlyWhenActive)
928
1018
QTC_CFG_READ_BOOL(thinnerMenuItems)
929
QTC_CFG_READ_COLOR(customSlidersColor)
930
QTC_CFG_READ_COLOR(customMenubarsColor)
1019
if(version<QTC_MAKE_VERSION(0, 63))
1021
if(QTC_IS_BLACK(opts->customSlidersColor))
1022
QTC_CFG_READ_COLOR(customSlidersColor)
1023
if(QTC_IS_BLACK(opts->customMenubarsColor))
1024
QTC_CFG_READ_COLOR(customMenubarsColor)
1025
if(QTC_IS_BLACK(opts->customCheckRadioColor))
1026
QTC_CFG_READ_COLOR(customCheckRadioColor)
931
1028
QTC_CFG_READ_COLOR(customMenuSelTextColor)
932
1029
QTC_CFG_READ_COLOR(customMenuNormTextColor)
933
QTC_CFG_READ_COLOR(customCheckRadioColor)
934
1030
QTC_CFG_READ_SCROLLBAR(scrollbarType)
935
1031
QTC_CFG_READ_EFFECT(buttonEffect)
936
1032
QTC_CFG_READ_APPEARANCE(lvAppearance, false)
941
1037
QTC_CFG_READ_APPEARANCE(progressGrooveAppearance, false)
942
1038
QTC_CFG_READ_APPEARANCE(grooveAppearance, false)
943
1039
QTC_CFG_READ_APPEARANCE(sunkenAppearance, false)
1040
QTC_CFG_READ_APPEARANCE(sbarBgndAppearance, false)
1042
if(version<QTC_MAKE_VERSION(0, 63))
1043
opts->sliderFill=IS_FLAT(opts->appearance) ? opts->grooveAppearance : APPEARANCE_GRADIENT;
1046
QTC_CFG_READ_APPEARANCE(sliderFill, false)
944
1048
QTC_CFG_READ_ECOLOR(progressGrooveColor)
945
1049
QTC_CFG_READ_FOCUS(focus)
1050
QTC_CFG_READ_BOOL(lvButton)
946
1051
QTC_CFG_READ_BOOL(lvLines)
947
1052
QTC_CFG_READ_BOOL(drawStatusBarFrames)
948
1053
QTC_CFG_READ_BOOL(fillSlider)
956
1061
#if defined QTC_CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000)) || !defined __cplusplus
957
1062
QTC_CFG_READ_BOOL(fadeLines)
959
QTC_CFG_READ_BOOL(inactiveHighlight)
960
1064
QTC_CFG_READ_BOOL(colorMenubarMouseOver)
961
1065
QTC_CFG_READ_BOOL(crHighlight)
962
1066
QTC_CFG_READ_BOOL(crButton)
966
1070
QTC_CFG_READ_BOOL(highlightScrollViews)
967
1071
QTC_CFG_READ_BOOL(sunkenScrollViews)
968
1072
QTC_CFG_READ_BOOL(flatSbarButtons)
1073
QTC_CFG_READ_BOOL(popupBorder)
1074
QTC_CFG_READ_BOOL(unifySpinBtns)
1075
QTC_CFG_READ_BOOL(thinSbarGroove)
1076
QTC_CFG_READ_BOOL(colorSliderMouseOver)
1077
#if defined QTC_CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000))
1078
QTC_CFG_READ_BOOL(titlebarBorder)
1079
QTC_CFG_READ_INT(titlebarButtons)
1080
QTC_CFG_READ_TB_ICON(titlebarIcon)
969
1082
#if defined __cplusplus || defined QTC_GTK2_MENU_STRIPE
970
QTC_CFG_READ_BOOL(menuStripe)
1083
QTC_CFG_READ_SHADE(menuStripe, true, true, &opts->customMenuStripeColor)
971
1084
QTC_CFG_READ_APPEARANCE(menuStripeAppearance, false)
1085
if(version<QTC_MAKE_VERSION(0, 63) && QTC_IS_BLACK(opts->customMenuStripeColor))
1086
QTC_CFG_READ_COLOR(customMenuStripeColor)
1088
QTC_CFG_READ_SHADE(comboBtn, true, false, &opts->customComboBtnColor);
973
1089
QTC_CFG_READ_BOOL(gtkScrollViews)
974
1090
#ifdef __cplusplus
975
1091
QTC_CFG_READ_ALIGN(titlebarAlignment)
1002
1118
else if(APPEARANCE_RAISED==opts->inactiveTitlebarAppearance)
1003
1119
opts->inactiveTitlebarAppearance=APPEARANCE_FLAT;
1005
QTC_CFG_READ_SHADING(shading, shading);
1121
QTC_CFG_READ_SHADING(shading);
1007
1123
#ifdef __cplusplus
1124
#if defined QTC_CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000))
1125
if(opts->titlebarButtons&QTC_TITLEBAR_BUTTON_COLOR)
1127
#if (defined QT_VERSION && (QT_VERSION >= 0x040000))
1128
QStringList cols(readStringEntry(cfg, "titlebarButtonColors").split(',', QString::SkipEmptyParts));
1130
QStringList cols(QStringList::split(',', readStringEntry(cfg, "titlebarButtonColors")));
1132
if(NUM_TITLEBAR_BUTTONS==cols.count())
1134
QStringList::ConstIterator it(cols.begin()),
1138
for(int i=0; it!=end; ++it, ++i)
1141
setRgb(&col, QTC_LATIN1((*it)));
1142
cols[(ETitleBarButtons)i]=col;
1144
opts->titlebarButtonColors=cols;
1147
opts->titlebarButtons&=~QTC_TITLEBAR_BUTTON_COLOR;
1008
1151
#if (defined QT_VERSION && (QT_VERSION >= 0x040000))
1009
1152
QStringList shades(readStringEntry(cfg, "customShades").split(',', QString::SkipEmptyParts));
1023
1166
if(!ok && shades.size())
1024
1167
opts->customShades[0]=0;
1026
for(i=APPEARANCE_CUSTOM1; i<(APPEARANCE_CUSTOM1+QTC_NUM_CUSTOM_GRAD+1); ++i)
1169
for(i=APPEARANCE_CUSTOM1; i<(APPEARANCE_CUSTOM1+QTC_NUM_CUSTOM_GRAD); ++i)
1028
1171
QString gradKey;
1030
if(i==QTC_NUM_CUSTOM_GRAD)
1031
gradKey="sunkengradient";
1033
gradKey.sprintf("customgradient%d", (i-APPEARANCE_CUSTOM1)+1);
1173
gradKey.sprintf("customgradient%d", (i-APPEARANCE_CUSTOM1)+1);
1035
1175
#if (defined QT_VERSION && (QT_VERSION >= 0x040000))
1036
1176
QStringList vals(readStringEntry(cfg, gradKey).split(',', QString::SkipEmptyParts));
1113
for(i=0; i<QTC_NUM_CUSTOM_GRAD+1; ++i)
1253
for(i=0; i<QTC_NUM_CUSTOM_GRAD; ++i)
1115
1255
char gradKey[18];
1118
if(i==QTC_NUM_CUSTOM_GRAD)
1119
sprintf(gradKey, "sunkengradient");
1121
sprintf(gradKey, "customgradient%d", i+1);
1258
sprintf(gradKey, "customgradient%d", i+1);
1122
1259
if((str=readStringEntry(cfg, gradKey)))
1242
1379
checkAppearance(&opts->progressGrooveAppearance, opts);
1243
1380
checkAppearance(&opts->grooveAppearance, opts);
1244
1381
checkAppearance(&opts->sunkenAppearance, opts);
1382
checkAppearance(&opts->sbarBgndAppearance, opts);
1383
checkAppearance(&opts->sliderFill, opts);
1245
1384
#ifndef __cplusplus
1246
1385
releaseConfig(cfg);
1248
if(SHADE_SELECTED==opts->shadeCheckRadio)
1249
opts->shadeCheckRadio=SHADE_BLEND_SELECTED;
1387
if(SHADE_BLEND_SELECTED==opts->shadeCheckRadio)
1388
opts->shadeCheckRadio=SHADE_SELECTED;
1251
1390
checkColor(&opts->shadeMenubars, &opts->customMenubarsColor);
1252
1391
checkColor(&opts->shadeSliders, &opts->customSlidersColor);
1253
1392
checkColor(&opts->shadeCheckRadio, &opts->customCheckRadioColor);
1393
#if defined __cplusplus || defined QTC_GTK2_MENU_STRIPE
1394
checkColor(&opts->menuStripe, &opts->customMenuStripeColor);
1396
checkColor(&opts->comboBtn, &opts->customComboBtnColor);
1255
1397
if(APPEARANCE_BEVELLED==opts->toolbarAppearance)
1256
1398
opts->toolbarAppearance=APPEARANCE_GRADIENT;
1257
1399
else if(APPEARANCE_RAISED==opts->toolbarAppearance)
1286
1428
if(opts->highlightFactor<MIN_HIGHLIGHT_FACTOR || opts->highlightFactor>MAX_HIGHLIGHT_FACTOR)
1287
1429
opts->highlightFactor=DEFAULT_HIGHLIGHT_FACTOR;
1431
if(opts->menuDelay<MIN_MENU_DELAY || opts->menuDelay>MAX_MENU_DELAY)
1432
opts->menuDelay=DEFAULT_MENU_DELAY;
1289
1434
if(opts->lighterPopupMenuBgnd>MAX_LIGHTER_POPUP_MENU)
1290
1435
opts->lighterPopupMenuBgnd=DEF_POPUPMENU_LIGHT_FACTOR;
1317
1462
if(opts->round>ROUND_EXTRA)
1318
1463
opts->focus=FOCUS_LINE;
1320
if(opts->round>ROUND_FULL && IND_COLORED==opts->defBtnIndicator)
1321
opts->defBtnIndicator=IND_TINT;
1323
1465
if(opts->squareScrollViews || EFFECT_NONE==opts->buttonEffect)
1324
1466
opts->sunkenScrollViews=false;
1398
1543
opts->contrast=7;
1399
1544
opts->passwordChar=0x25CF;
1400
1545
opts->highlightFactor=DEFAULT_HIGHLIGHT_FACTOR;
1546
opts->menuDelay=DEFAULT_MENU_DELAY;
1401
1547
#if defined QTC_CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000)) || !defined __cplusplus
1402
1548
opts->round=ROUND_EXTRA;
1403
1549
opts->fadeLines=true;
1409
1555
opts->lighterPopupMenuBgnd=DEF_POPUPMENU_LIGHT_FACTOR;
1410
1556
opts->animatedProgress=false;
1411
1557
opts->stripedProgress=STRIPE_NONE;
1412
opts->sliderStyle=SLIDER_TRIANGULAR;
1558
opts->sliderStyle=SLIDER_PLAIN;
1413
1559
opts->highlightTab=false;
1414
1560
opts->colorSelTab=false;
1561
opts->roundAllTabs=false;
1562
opts->tabMouseOver=TAB_MO_BOTTOM;
1415
1563
opts->embolden=false;
1416
1564
opts->appearance=APPEARANCE_SOFT_GRADIENT;
1417
1565
opts->lvAppearance=APPEARANCE_BEVELLED;
1426
1574
opts->progressGrooveColor=ECOLOR_DARK;
1427
1575
opts->grooveAppearance=APPEARANCE_INVERTED;
1428
1576
opts->sunkenAppearance=APPEARANCE_SOFT_GRADIENT;
1577
opts->sbarBgndAppearance=APPEARANCE_FLAT;
1578
opts->sliderFill=APPEARANCE_GRADIENT;
1429
1579
opts->defBtnIndicator=IND_GLOW;
1430
1580
opts->sliderThumbs=LINE_FLAT;
1431
1581
opts->handles=LINE_SUNKEN;
1465
1615
opts->highlightScrollViews=false;
1466
1616
opts->sunkenScrollViews=true;
1467
1617
opts->flatSbarButtons=true;
1618
opts->popupBorder=true;
1619
opts->unifySpinBtns=false;
1620
opts->thinSbarGroove=false;
1621
opts->colorSliderMouseOver=false;
1622
#if defined QTC_CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000))
1623
opts->titlebarBorder=true;
1624
opts->titlebarButtons=QTC_TITLEBAR_BUTTON_HOVER_FRAME;
1625
opts->titlebarIcon=TITLEBAR_ICON_MENU_BUTTON;
1468
1627
#if defined __cplusplus || defined QTC_GTK2_MENU_STRIPE
1469
opts->menuStripe=false;
1628
opts->menuStripe=SHADE_NONE;
1470
1629
opts->menuStripeAppearance=APPEARANCE_GRADIENT;
1630
opts->customMenuStripeColor.setRgb(0, 0, 0);
1472
#ifdef QTC_CONFIG_DIALOG
1473
1632
opts->shading=SHADING_HSL;
1476
1633
opts->gtkScrollViews=false;
1634
opts->comboBtn=SHADE_NONE;
1477
1635
#ifdef __cplusplus
1478
1636
opts->stdSidebarButtons=false;
1479
1637
opts->gtkComboMenus=false;
1483
1641
opts->customMenuNormTextColor.setRgb(0, 0, 0);
1484
1642
opts->customMenuSelTextColor.setRgb(0, 0, 0);
1485
1643
opts->customCheckRadioColor.setRgb(0, 0, 0);
1486
opts->titlebarAlignment=ALIGN_LEFT;
1644
opts->customComboBtnColor.setRgb(0, 0, 0);
1645
opts->titlebarAlignment=ALIGN_FULL_CENTER;
1489
1648
opts->setDialogButtonOrder=false;
1493
1652
opts->customMenuNormTextColor.red=opts->customMenuNormTextColor.green=opts->customMenuNormTextColor.blue=0;
1494
1653
opts->customMenuSelTextColor.red=opts->customMenuSelTextColor.green=opts->customMenuSelTextColor.blue=0;
1495
1654
opts->customCheckRadioColor.red=opts->customCheckRadioColor.green=opts->customCheckRadioColor.blue=0;
1655
opts->customComboBtnColor.red=opts->customCheckRadioColor.green=opts->customCheckRadioColor.blue=0;
1498
1658
#if !defined __cplusplus || defined QTC_CONFIG_DIALOG
1630
static const char *toStr(EShade exp, bool dark, bool convertBlendSelToSel)
1794
static QString toStr(const QColor &col)
1798
colorStr.sprintf("#%02X%02X%02X", col.red(), col.green(), col.blue());
1802
static QString toStr(EShade exp, const QColor &col)
1697
1870
inline const char * toStr(bool b) { return b ? "true" : "false"; }
1699
static QString toStr(const QColor &col)
1703
colorStr.sprintf("#%02X%02X%02X", col.red(), col.green(), col.blue());
1707
1872
static const char *toStr(EShading s)
1834
2029
CFG.writeEntry(#ENTRY, toStr(opts.ENTRY, B));
1836
#define CFG_WRITE_ENTRY_SHADE(ENTRY, DARK, CONVERT_SHADE) \
1837
if (!exportingStyle && def.ENTRY==opts.ENTRY) \
1838
CFG.deleteEntry(#ENTRY); \
1840
CFG.writeEntry(#ENTRY, toStr(opts.ENTRY, DARK, CONVERT_SHADE));
1842
2031
#define CFG_WRITE_ENTRY_NUM(ENTRY) \
1843
2032
if (!exportingStyle && def.ENTRY==opts.ENTRY) \
1844
2033
CFG.deleteEntry(#ENTRY); \
1846
2035
CFG.writeEntry(#ENTRY, opts.ENTRY);
2037
#define CFG_WRITE_SHADE_ENTRY(ENTRY, COL) \
2038
if (!exportingStyle && def.ENTRY==opts.ENTRY) \
2039
CFG.deleteEntry(#ENTRY); \
2041
CFG.writeEntry(#ENTRY, toStr(opts.ENTRY, opts.COL));
1848
2043
bool static writeConfig(KConfig *cfg, const Options &opts, const Options &def, bool exportingStyle=false)
1877
2072
CFG_WRITE_ENTRY_NUM(passwordChar)
1878
2073
CFG_WRITE_ENTRY(round)
1879
2074
CFG_WRITE_ENTRY_NUM(highlightFactor)
2075
CFG_WRITE_ENTRY_NUM(menuDelay)
1880
2076
CFG_WRITE_ENTRY(toolbarBorders)
1881
2077
CFG_WRITE_ENTRY(appearance)
1882
2078
CFG_WRITE_ENTRY(fixParentlessDialogs)
1890
2086
CFG_WRITE_ENTRY_B(handles, true)
1891
2087
CFG_WRITE_ENTRY(highlightTab)
1892
2088
CFG_WRITE_ENTRY(colorSelTab)
1893
CFG_WRITE_ENTRY_SHADE(shadeSliders, false, false)
1894
CFG_WRITE_ENTRY_SHADE(shadeMenubars, true, false)
1895
CFG_WRITE_ENTRY_SHADE(shadeCheckRadio, false, true)
2089
CFG_WRITE_ENTRY(roundAllTabs)
2090
CFG_WRITE_ENTRY(tabMouseOver)
1896
2091
CFG_WRITE_ENTRY(menubarAppearance)
1897
2092
CFG_WRITE_ENTRY(menuitemAppearance)
1898
2093
CFG_WRITE_ENTRY(toolbarAppearance)
1906
2101
CFG_WRITE_ENTRY(useHighlightForMenu)
1907
2102
CFG_WRITE_ENTRY(shadeMenubarOnlyWhenActive)
1908
2103
CFG_WRITE_ENTRY(thinnerMenuItems)
1909
CFG_WRITE_ENTRY(customSlidersColor)
1910
CFG_WRITE_ENTRY(customMenubarsColor)
2104
CFG_WRITE_SHADE_ENTRY(shadeSliders, customSlidersColor)
2105
CFG_WRITE_SHADE_ENTRY(shadeMenubars, customMenubarsColor)
1911
2106
CFG_WRITE_ENTRY(customMenuSelTextColor)
1912
2107
CFG_WRITE_ENTRY(customMenuNormTextColor)
1913
CFG_WRITE_ENTRY(customCheckRadioColor)
2108
CFG_WRITE_SHADE_ENTRY(shadeCheckRadio, customCheckRadioColor)
1914
2109
CFG_WRITE_ENTRY(scrollbarType)
1915
2110
CFG_WRITE_ENTRY(buttonEffect)
1916
2111
CFG_WRITE_ENTRY(lvAppearance)
1921
2116
CFG_WRITE_ENTRY(progressGrooveAppearance)
1922
2117
CFG_WRITE_ENTRY(grooveAppearance)
1923
2118
CFG_WRITE_ENTRY(sunkenAppearance)
2119
CFG_WRITE_ENTRY(sbarBgndAppearance)
2120
CFG_WRITE_ENTRY(sliderFill)
1924
2121
CFG_WRITE_ENTRY(progressGrooveColor)
1925
2122
CFG_WRITE_ENTRY(focus)
2123
CFG_WRITE_ENTRY(lvButton)
1926
2124
CFG_WRITE_ENTRY(lvLines)
1927
2125
CFG_WRITE_ENTRY(drawStatusBarFrames)
1928
2126
CFG_WRITE_ENTRY(fillSlider)
1934
2132
CFG_WRITE_ENTRY(framelessGroupBoxes)
1935
2133
CFG_WRITE_ENTRY(groupBoxLine)
1936
2134
CFG_WRITE_ENTRY(fadeLines)
1937
CFG_WRITE_ENTRY(inactiveHighlight)
1938
2135
CFG_WRITE_ENTRY(crHighlight)
1939
2136
CFG_WRITE_ENTRY(crButton)
1940
2137
CFG_WRITE_ENTRY(fillProgress)
1943
2140
CFG_WRITE_ENTRY(highlightScrollViews)
1944
2141
CFG_WRITE_ENTRY(sunkenScrollViews)
1945
2142
CFG_WRITE_ENTRY(flatSbarButtons)
1946
CFG_WRITE_ENTRY(menuStripe)
2143
CFG_WRITE_ENTRY(popupBorder)
2144
CFG_WRITE_ENTRY(unifySpinBtns)
2145
CFG_WRITE_ENTRY(thinSbarGroove)
2146
CFG_WRITE_ENTRY(colorSliderMouseOver)
2147
#if defined QTC_CONFIG_DIALOG || (defined QT_VERSION && (QT_VERSION >= 0x040000))
2148
CFG_WRITE_ENTRY(titlebarBorder)
2149
CFG_WRITE_ENTRY_NUM(titlebarButtons)
2150
CFG_WRITE_ENTRY(titlebarIcon)
2152
if(opts.titlebarButtons&QTC_TITLEBAR_BUTTON_COLOR && NUM_TITLEBAR_BUTTONS==opts.titlebarButtonColors.size())
2155
#if QT_VERSION >= 0x040000
2156
QTextStream str(&val);
2158
QTextStream str(&val, IO_WriteOnly);
2160
for(int i=0; i<NUM_TITLEBAR_BUTTONS; ++i)
2162
TBCols::const_iterator c(opts.titlebarButtonColors.find((ETitleBarButtons)i));
2164
if(c!=opts.titlebarButtonColors.end())
2168
str << toStr((*c).second);
2171
CFG.writeEntry("titlebarButtonColors", val);
2174
CFG.deleteEntry("titlebarButtonColors");
2176
CFG_WRITE_SHADE_ENTRY(menuStripe, customMenuStripeColor)
2177
CFG_WRITE_SHADE_ENTRY(comboBtn, customComboBtnColor)
1947
2178
CFG_WRITE_ENTRY(stdSidebarButtons)
1948
2179
CFG_WRITE_ENTRY(titlebarAppearance)
1949
2180
CFG_WRITE_ENTRY(inactiveTitlebarAppearance)
1956
2187
CFG_WRITE_ENTRY(shading)
1957
2188
CFG_WRITE_ENTRY(titlebarAlignment)
1959
for(int i=APPEARANCE_CUSTOM1; i<(APPEARANCE_CUSTOM1+QTC_NUM_CUSTOM_GRAD+1); ++i)
2190
for(int i=APPEARANCE_CUSTOM1; i<(APPEARANCE_CUSTOM1+QTC_NUM_CUSTOM_GRAD); ++i)
1961
2192
GradientCont::const_iterator cg(opts.customGradient.find((EAppearance)i));
1962
2193
QString gradKey;
1964
if(i==(APPEARANCE_CUSTOM1+QTC_NUM_CUSTOM_GRAD))
1965
gradKey="sunkengradient";
1967
gradKey.sprintf("customgradient%d", (i-APPEARANCE_CUSTOM1)+1);
2195
gradKey.sprintf("customgradient%d", (i-APPEARANCE_CUSTOM1)+1);
1969
2197
if(cg==opts.customGradient.end())
1970
2198
CFG.deleteEntry(gradKey);
1986
2214
GradientStopCont stops((*cg).second.stops.fix());
1987
2215
GradientStopCont::const_iterator it(stops.begin()),
1990
2218
for(; it!=end; ++it)
1991
2219
str << ',' << (*it).pos << ',' << (*it).val;