1
0
mirror of https://github.com/gryf/wmaker.git synced 2026-01-07 22:34:18 +01:00

More WPrefs updates (should I commit changes this often?)

This commit is contained in:
kojima
1999-03-16 12:17:14 +00:00
parent 5298849122
commit 4eda694989
2 changed files with 64 additions and 48 deletions

View File

@@ -313,7 +313,13 @@ wfindfileinarray(proplist_t array, char *file)
flen = strlen(file); flen = strlen(file);
for (i=0; PLGetNumberOfElements(array); i++) { for (i=0; PLGetNumberOfElements(array); i++) {
char *p = PLGetString(PLGetArrayElement(array, i)); proplist_t prop;
char *p;
prop = PLGetArrayElement(array, i);
if (!prop)
continue;
p = PLGetString(prop);
len = strlen(p); len = strlen(p);
path = wmalloc(len+flen+2); path = wmalloc(len+flen+2);

View File

@@ -51,15 +51,6 @@ typedef struct _Panel {
WMButton *ripB; WMButton *ripB;
WMButton *delB; WMButton *delB;
proplist_t ftitleTex;
proplist_t utitleTex;
proplist_t ptitleTex;
proplist_t iconTex;
proplist_t menuTex;
proplist_t mtitleTex;
proplist_t backTex;
int textureIndex[8]; int textureIndex[8];
WMFont *smallFont; WMFont *smallFont;
@@ -370,9 +361,11 @@ updatePreviewBox(_Panel *panel, int elements)
int refresh = 0; int refresh = 0;
Pixmap pix; Pixmap pix;
GC gc; GC gc;
WMListItem *item;
TextureListItem *titem;
gc = XCreateGC(dpy, WMWidgetXID(panel->win), 0, NULL); gc = XCreateGC(dpy, WMWidgetXID(panel->win), 0, NULL);
if (!panel->preview) { if (!panel->preview) {
WMColor *color; WMColor *color;
@@ -389,40 +382,50 @@ updatePreviewBox(_Panel *panel, int elements)
} }
if (elements & FTITLE) { if (elements & FTITLE) {
pix = renderTexture(scr, panel->ftitleTex, 180, 20, NULL, item = WMGetListItem(panel->texLs, 0);
RBEV_RAISED2); titem = (TextureListItem*)item->clientData;
pix = renderTexture(scr, titem->prop, 180, 20, NULL, RBEV_RAISED2);
XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 180, 20, 5, 10); XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 180, 20, 5, 10);
XFreePixmap(dpy, pix); XFreePixmap(dpy, pix);
} }
if (elements & UTITLE) { if (elements & UTITLE) {
pix = renderTexture(scr, panel->utitleTex, 180, 20, NULL, item = WMGetListItem(panel->texLs, 1);
RBEV_RAISED2); titem = (TextureListItem*)item->clientData;
pix = renderTexture(scr, titem->prop, 180, 20, NULL, RBEV_RAISED2);
XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 180, 20, 10, 35); XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 180, 20, 10, 35);
XFreePixmap(dpy, pix); XFreePixmap(dpy, pix);
} }
if (elements & OTITLE) { if (elements & OTITLE) {
pix = renderTexture(scr, panel->ptitleTex, 180, 20, NULL, item = WMGetListItem(panel->texLs, 2);
RBEV_RAISED2); titem = (TextureListItem*)item->clientData;
pix = renderTexture(scr, titem->prop, 180, 20, NULL, RBEV_RAISED2);
XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 180, 20, 15, 60); XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 180, 20, 15, 60);
XFreePixmap(dpy, pix); XFreePixmap(dpy, pix);
} }
if (elements & MTITLE) { if (elements & MTITLE) {
pix = renderTexture(scr, panel->mtitleTex, 100, 20, NULL, item = WMGetListItem(panel->texLs, 3);
RBEV_RAISED2); titem = (TextureListItem*)item->clientData;
pix = renderTexture(scr, titem->prop, 100, 20, NULL, RBEV_RAISED2);
XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 100, 20, 20, 95); XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 100, 20, 20, 95);
XFreePixmap(dpy, pix); XFreePixmap(dpy, pix);
} }
if (elements & MITEM) { if (elements & MITEM) {
pix = renderTexture(scr, panel->menuTex, 100, 18, NULL, item = WMGetListItem(panel->texLs, 4);
RBEV_RAISED2); titem = (TextureListItem*)item->clientData;
pix = renderTexture(scr, titem->prop, 100, 18, NULL, RBEV_RAISED2);
XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 100, 20, 20, 115); XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 100, 20, 20, 115);
XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 100, 20, 20, 115+18); XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 100, 20, 20, 115+18);
@@ -431,8 +434,10 @@ updatePreviewBox(_Panel *panel, int elements)
XFreePixmap(dpy, pix); XFreePixmap(dpy, pix);
} }
if (elements & ICON) { if (elements & ICON) {
pix = renderTexture(scr, panel->iconTex, 64, 64, NULL, item = WMGetListItem(panel->texLs, 5);
RBEV_RAISED3); titem = (TextureListItem*)item->clientData;
pix = renderTexture(scr, titem->prop, 64, 64, NULL, RBEV_RAISED3);
XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 64, 64, 130, 100); XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 64, 64, 130, 100);
@@ -440,14 +445,15 @@ updatePreviewBox(_Panel *panel, int elements)
} }
if (refresh < 0) {
if (refresh<0) { WMPixmap *p;
WMPixmap *pix; p = WMCreatePixmapFromXPixmaps(scr, panel->preview, None,
pix = WMCreatePixmapFromXPixmaps(scr, panel->preview, None, 220-4, 185-4, WMScreenDepth(scr));
220-4, 185-4, WMScreenDepth(scr));
WMSetLabelImage(panel->prevL, pix); WMSetLabelImage(panel->prevL, p);
WMReleasePixmap(pix); WMReleasePixmap(p);
} else {
WMRedisplayWidget(panel->prevL);
} }
XFreeGC(dpy, gc); XFreeGC(dpy, gc);
@@ -465,6 +471,8 @@ cancelNewTexture(void *data)
} }
static char* static char*
makeFileName(char *prefix, char *name) makeFileName(char *prefix, char *name)
{ {
@@ -488,6 +496,8 @@ makeFileName(char *prefix, char *name)
} }
static void static void
okNewTexture(void *data) okNewTexture(void *data)
{ {
@@ -565,6 +575,9 @@ okEditTexture(void *data)
titem->path, 0); titem->path, 0);
WMRedisplayWidget(panel->texLs); WMRedisplayWidget(panel->texLs);
if (titem->selectedFor)
updatePreviewBox(panel, titem->selectedFor);
} }
@@ -826,6 +839,7 @@ loadRImage(WMScreen *scr, char *path)
} }
static void static void
fillTextureList(WMList *lPtr) fillTextureList(WMList *lPtr)
{ {
@@ -1017,7 +1031,7 @@ createPanel(Panel *p)
static proplist_t static void
setupTextureFor(WMList *list, char *key, char *defValue, char *title, setupTextureFor(WMList *list, char *key, char *defValue, char *title,
int index) int index)
{ {
@@ -1043,8 +1057,6 @@ setupTextureFor(WMList *list, char *key, char *defValue, char *title,
item = WMAddListItem(list, ""); item = WMAddListItem(list, "");
item->clientData = titem; item->clientData = titem;
return titem->prop;
} }
@@ -1054,33 +1066,31 @@ showData(_Panel *panel)
{ {
int i = 0; int i = 0;
panel->ftitleTex = setupTextureFor(panel->texLs, "FTitleBack", setupTextureFor(panel->texLs, "FTitleBack", "(solid, black)",
"(solid, black)", "[Focused]", i); "[Focused]", i);
panel->textureIndex[i] = i++; panel->textureIndex[i] = i++;
panel->utitleTex = setupTextureFor(panel->texLs, "UTitleBack", setupTextureFor(panel->texLs, "UTitleBack", "(solid, gray)",
"(solid, gray)", "[Unfocused]", i); "[Unfocused]", i);
panel->textureIndex[i] = i++; panel->textureIndex[i] = i++;
panel->ptitleTex = setupTextureFor(panel->texLs, "PTitleBack", setupTextureFor(panel->texLs, "PTitleBack", "(solid, \"#616161\")",
"(solid, \"#616161\")", "[Owner of Focused]", i);
"[Owner of Focused]", i);
panel->textureIndex[i] = i++; panel->textureIndex[i] = i++;
panel->mtitleTex = setupTextureFor(panel->texLs, "MenuTitleBack", setupTextureFor(panel->texLs, "MenuTitleBack", "(solid, black)",
"(solid, black)", "[Menu Title]", i); "[Menu Title]", i);
panel->textureIndex[i] = i++; panel->textureIndex[i] = i++;
panel->menuTex = setupTextureFor(panel->texLs, "MenuTextBack", setupTextureFor(panel->texLs, "MenuTextBack", "(solid, gray)",
"(solid, gray)", "[Menu Item]", i); "[Menu Item]", i);
panel->textureIndex[i] = i++; panel->textureIndex[i] = i++;
panel->iconTex = setupTextureFor(panel->texLs, "IconBack", setupTextureFor(panel->texLs, "IconBack", "(solid, gray)", "[Icon]", i);
"(solid, gray)", "[Icon]", i);
panel->textureIndex[i] = i++; panel->textureIndex[i] = i++;
/* /*
panel->backTex = setupTextureFor(panel->texLs, "WorkspaceBack", setupTextureFor(panel->texLs, "WorkspaceBack", "(solid, black)",
"(solid, black)", "[Workspace]", i); "[Workspace]", i);
panel->textureIndex[i] = i++; panel->textureIndex[i] = i++;
*/ */