Ejemplo n.º 1
0
int WMGetBrowserSelectedRowInColumn(WMBrowser * bPtr, int column)
{
	if (column >= 0 && column < bPtr->columnCount) {
		return WMGetListSelectedItemRow(bPtr->columns[column]);
	} else {
		return -1;
	}
}
Ejemplo n.º 2
0
static void
pushButton(WMWidget *w, void *data)
{
    _Panel *panel = (_Panel*)data;
    int i;

    /* icon paths */
    if (w == panel->icorB) {
        i = WMGetListSelectedItemRow(panel->icoL);

        if (i>=0)
            WMRemoveListItem(panel->icoL, i);
    }

    /* pixmap paths */
    if (w == panel->pixrB) {
        i = WMGetListSelectedItemRow(panel->pixL);

        if (i>=0)
            WMRemoveListItem(panel->pixL, i);
    }
}
Ejemplo n.º 3
0
static void icommandLClicked(WMWidget * w, void *data)
{
	_Panel *panel = (_Panel *) data;
	int cmd;

	cmd = WMGetListSelectedItemRow(w);
	if (cmd == 3 || cmd == 4) {
		WMMapWidget(panel->quickB);
	} else {
		WMUnmapWidget(panel->quickB);
	}
	if (cmd == 6) {
		WMMapWidget(panel->paramF);
	} else {
		WMUnmapWidget(panel->paramF);
	}
}
Ejemplo n.º 4
0
static void
browseForFile(WMWidget *w, void *data)
{
    _Panel *panel = (_Panel*)data;
    WMFilePanel *filePanel;

    filePanel = WMGetOpenPanel(WMWidgetScreen(w));

    WMSetFilePanelCanChooseFiles(filePanel, False);

    if (WMRunModalFilePanelForDirectory(filePanel, panel->parent, "/",
                                        _("Select directory"), NULL) == True) {
        char *str = WMGetFilePanelFileName(filePanel);

        if (str) {
            int len = strlen(str);

            /* Remove the trailing '/' except if the path is exactly / */
            if (len > 1 && str[len-1] == '/') {
                str[len-1] = '\0';
                len--;
            }
            if (len > 0) {
                WMList *lPtr;
                int i;

                if (w == panel->icoaB)
                    lPtr = panel->icoL;
                else if (w == panel->pixaB)
                    lPtr = panel->pixL;

                i = WMGetListSelectedItemRow(lPtr);
                if (i >= 0) i++;
                addPathToList(lPtr, i, str);
                WMSetListBottomPosition(lPtr, WMGetListNumberOfRows(lPtr));

                wfree(str);
            }
        }
    }
}
Ejemplo n.º 5
0
static void updateMenuItem(_Panel * panel, WEditMenuItem * item, WMWidget * changedWidget)
{
	ItemData *data = WGetEditMenuItemData(item);

	assert(data != NULL);

#define REPLACE(v, d) if (v) wfree(v); v = d

	switch (data->type) {
	case ExecInfo:
		if (changedWidget == panel->commandT) {
			REPLACE(data->param.exec.command, WMGetTextFieldText(panel->commandT));
		}
		if (changedWidget == panel->shortT) {
			REPLACE(data->param.exec.shortcut, WMGetTextFieldText(panel->shortT));
		}
		break;

	case CommandInfo:
		if (changedWidget == panel->icommandL) {
			data->param.command.command = WMGetListSelectedItemRow(panel->icommandL);
		}
		switch (data->param.command.command) {
		case 3:
		case 4:
			if (changedWidget == panel->quickB) {
				REPLACE(data->param.command.parameter, WMGetButtonSelected(panel->quickB)
					? wstrdup("QUICK") : NULL);
			}
			break;

		case 6:
			if (changedWidget == panel->paramT) {
				REPLACE(data->param.command.parameter, WMGetTextFieldText(panel->paramT));
			}
			break;
		}
		if (changedWidget == panel->shortT) {
			REPLACE(data->param.command.shortcut, WMGetTextFieldText(panel->shortT));
		}

		break;

	case PipeInfo:
		if (changedWidget == panel->pipeT) {
			REPLACE(data->param.pipe.command, WMGetTextFieldText(panel->pipeT));
		}
		if (changedWidget == panel->pipeCacheB) {
			data->param.pipe.cached = WMGetButtonSelected(panel->pipeCacheB);
		}
		break;

	case PLPipeInfo:
		if (changedWidget == panel->plpipeT) {
			REPLACE(data->param.pipe.command, WMGetTextFieldText(panel->plpipeT));
		}
		if (changedWidget == panel->plpipeCacheB) {
			data->param.pipe.cached = WMGetButtonSelected(panel->plpipeCacheB);
		}
		break;

	case ExternalInfo:
		if (changedWidget == panel->pathT) {
			REPLACE(data->param.external.path, WMGetTextFieldText(panel->pathT));
		}
		break;

	case DirectoryInfo:
		if (changedWidget == panel->dpathT) {
			REPLACE(data->param.directory.directory, WMGetTextFieldText(panel->dpathT));
		}
		if (changedWidget == panel->dcommandT) {
			REPLACE(data->param.directory.command, WMGetTextFieldText(panel->dcommandT));
		}
		if (changedWidget == panel->dstripB) {
			data->param.directory.stripExt = WMGetButtonSelected(panel->dstripB);
		}
		break;

	default:
		assert(0);
		break;
	}

#undef REPLACE
}