src/mui/MixedConfigPage.c
/***************************************************************************
YAM - Yet Another Mailer
Copyright (C) 1995-2000 Marcel Beck
Copyright (C) 2000-2022 YAM Open Source Team
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
YAM Official Support Site : http://www.yam.ch
YAM OpenSource project : http://sourceforge.net/projects/yamos/
$Id$
Superclass: MUIC_ConfigPage
Description: "Mixed" configuration page
***************************************************************************/
#include "MixedConfigPage_cl.h"
#include <string.h>
#include <proto/asl.h>
#include <proto/muimaster.h>
#include <proto/wb.h>
#include <proto/xpkmaster.h>
#include <mui/BetterString_mcc.h>
#include "SDI_hook.h"
#include "YAM.h"
#include "mui/CodesetPopup.h"
#include "mui/ConfigPage.h"
#include "mui/ConfigPageList.h"
#include "mui/PlaceholderPopup.h"
#include "mui/PlaceholderPopupList.h"
#include "Config.h"
#include "Debug.h"
/* CLASSDATA
struct Data
{
Object *ST_TEMPDIR;
Object *ST_DETACHDIR;
Object *ST_ATTACHDIR;
Object *ST_UPDATEDOWNLOADPATH;
Object *ST_EDITOR;
Object *PO_DEFCODESET_EDITOR;
Object *CH_WBAPPICON;
Object *PO_APPICON;
Object *CH_APPICONPOS;
Object *ST_APPX;
Object *ST_APPY;
Object *BT_APPICONGETPOS;
Object *CH_CLGADGET;
Object *CH_CONFIRM;
Object *NB_CONFIRMDEL;
Object *CH_REMOVE;
Object *TX_PACKER;
Object *NB_PACKER;
Object *TX_ENCPACK;
Object *NB_ENCPACK;
Object *PO_ARCHIVER;
Object *CH_ARCHIVERPROGRESS;
Object *CY_TRANSWIN;
#if defined(__amigaos4__)
Object *CH_DOCKYICON;
#endif
};
*/
/* Private functions */
/// PO_XPKOpenHook
// Sets a popup listview accordingly to its string gadget
HOOKPROTONH(PO_XPKOpenFunc, BOOL, Object *listview, Object *str)
{
char *s;
Object *list;
ENTER();
if((s = (char *)xget(str, MUIA_Text_Contents)) != NULL &&
(list = (Object *)xget(listview, MUIA_Listview_List)) != NULL)
{
int i;
for(i=0;;i++)
{
char *x;
DoMethod(list, MUIM_List_GetEntry, i, &x);
if(!x)
{
set(list, MUIA_List_Active, MUIV_List_Active_Off);
break;
}
else if(!stricmp(x, s))
{
set(list, MUIA_List_Active, i);
break;
}
}
}
RETURN(TRUE);
return TRUE;
}
MakeStaticHook(PO_XPKOpenHook, PO_XPKOpenFunc);
///
/// PO_XPKCloseHook
// Copies XPK sublibrary id from list to string gadget
HOOKPROTONH(PO_XPKCloseFunc, void, Object *listview, Object *text)
{
Object *list;
ENTER();
if((list = (Object *)xget(listview, MUIA_Listview_List)) != NULL)
{
char *entry = NULL;
DoMethod(list, MUIM_List_GetEntry, MUIV_List_GetEntry_Active, &entry);
if(entry != NULL)
set(text, MUIA_Text_Contents, entry);
}
LEAVE();
}
MakeStaticHook(PO_XPKCloseHook, PO_XPKCloseFunc);
///
/// MakeXPKPop
// creates a popup list of available XPK sublibraries
static Object *MakeXPKPop(Object **text, BOOL encrypt)
{
Object *lv;
Object *list;
Object *po;
Object *but;
ENTER();
if((po = PopobjectObject,
MUIA_Popstring_String, *text = TextObject,
TextFrame,
MUIA_Background, MUII_TextBack,
MUIA_FixWidthTxt, "MMMM",
End,
MUIA_Popstring_Button, but = PopButton(MUII_PopUp),
MUIA_Popobject_StrObjHook, &PO_XPKOpenHook,
MUIA_Popobject_ObjStrHook, &PO_XPKCloseHook,
MUIA_Popobject_WindowHook, &PO_WindowHook,
MUIA_Popobject_Object, lv = ListviewObject,
MUIA_Listview_List, list = ListObject,
InputListFrame,
MUIA_List_AutoVisible, TRUE,
MUIA_List_ConstructHook, MUIV_List_ConstructHook_String,
MUIA_List_DestructHook, MUIV_List_DestructHook_String,
End,
End,
End))
{
// disable the XPK popups if xpkmaster.library is not available
if(XpkBase == NULL)
{
set(po, MUIA_Disabled, TRUE);
set(but, MUIA_Disabled, TRUE);
}
else
{
struct xpkPackerNode *xpkNode;
IterateList(G->xpkPackerList, struct xpkPackerNode *, xpkNode)
{
BOOL suits = TRUE;
D(DBF_XPK, "XPK lib '%s' has flags %08lx", xpkNode->info.xpi_Name, xpkNode->info.xpi_Flags);
if(encrypt == TRUE && isFlagClear(xpkNode->info.xpi_Flags, XPKIF_ENCRYPTION))
{
D(DBF_XPK, "'%s' has no encryption capabilities, excluded from encryption list", xpkNode->info.xpi_Name);
suits = FALSE;
}
if(suits == TRUE)
DoMethod(list, MUIM_List_InsertSingle, xpkNode->info.xpi_Name, MUIV_List_Insert_Sorted);
}
DoMethod(lv, MUIM_Notify, MUIA_Listview_DoubleClick, TRUE, po, 2, MUIM_Popstring_Close, TRUE);
}
}
RETURN(po);
return po;
}
///
/* Overloaded Methods */
/// OVERLOAD(OM_NEW)
OVERLOAD(OM_NEW)
{
static const char *trwopt[4];
Object *ST_TEMPDIR;
Object *ST_DETACHDIR;
Object *ST_ATTACHDIR;
Object *ST_UPDATEDOWNLOADPATH;
Object *ST_EDITOR;
Object *PO_DEFCODESET_EDITOR;
Object *CH_WBAPPICON;
Object *PO_APPICON;
Object *CH_APPICONPOS;
Object *ST_APPX;
Object *ST_APPY;
Object *BT_APPICONGETPOS;
Object *CH_CLGADGET;
Object *CH_CONFIRM;
Object *NB_CONFIRMDEL;
Object *CH_REMOVE;
Object *TX_PACKER;
Object *NB_PACKER;
Object *TX_ENCPACK;
Object *NB_ENCPACK;
Object *PO_ARCHIVER;
Object *CH_ARCHIVERPROGRESS;
Object *CY_TRANSWIN;
#if defined(__amigaos4__)
Object *CH_DOCKYICON;
#endif
ENTER();
trwopt[TWM_HIDE] = tr(MSG_CO_TWNever);
trwopt[TWM_AUTO] = tr(MSG_CO_TWAuto);
trwopt[TWM_SHOW] = tr(MSG_CO_TWAlways);
trwopt[3] = NULL;
if((obj = DoSuperNew(cl, obj,
MUIA_HelpNode, "Configuration#Miscellaneous",
MUIA_ConfigPage_Page, cp_Mixed,
MUIA_ConfigPage_Contents, VGroup,
Child, ColGroup(2), GroupFrameT(tr(MSG_CO_Paths)),
Child, Label2(tr(MSG_CO_TempDir)),
Child, PopaslObject,
MUIA_Popasl_Type, ASL_FileRequest,
MUIA_Popstring_String, ST_TEMPDIR = MakeString(SIZE_PATH, tr(MSG_CO_TempDir)),
MUIA_Popstring_Button, PopButton(MUII_PopDrawer),
ASLFR_DrawersOnly, TRUE,
End,
Child, Label2(tr(MSG_CO_Detach)),
Child, PopaslObject,
MUIA_Popasl_Type, ASL_FileRequest,
MUIA_Popstring_String, ST_DETACHDIR = MakeString(SIZE_PATH, tr(MSG_CO_Detach)),
MUIA_Popstring_Button, PopButton(MUII_PopDrawer),
ASLFR_DrawersOnly, TRUE,
End,
Child, Label2(tr(MSG_CO_Attach)),
Child, PopaslObject,
MUIA_Popasl_Type, ASL_FileRequest,
MUIA_Popstring_String, ST_ATTACHDIR = MakeString(SIZE_PATH, tr(MSG_CO_Attach)),
MUIA_Popstring_Button, PopButton(MUII_PopDrawer),
ASLFR_DrawersOnly, TRUE,
End,
Child, Label2(tr(MSG_CO_UPDATE_DOWNLOAD_PATH)),
Child, PopaslObject,
MUIA_Popasl_Type, ASL_FileRequest,
MUIA_Popstring_String, ST_UPDATEDOWNLOADPATH = MakeString(SIZE_PATH, tr(MSG_CO_UPDATE_DOWNLOAD_PATH)),
MUIA_Popstring_Button, PopButton(MUII_PopDrawer),
ASLFR_DrawersOnly, TRUE,
End,
End,
Child, VGroup, GroupFrameT(tr(MSG_CO_EXTEDITOR)),
Child, ColGroup(2),
Child, Label2(tr(MSG_CO_ExternalEditor)),
Child, PopaslObject,
MUIA_Popasl_Type, ASL_FileRequest,
MUIA_Popstring_String, ST_EDITOR = MakeString(SIZE_PATHFILE, tr(MSG_CO_ExternalEditor)),
MUIA_Popstring_Button, PopButton(MUII_PopFile),
End,
Child, Label2(tr(MSG_CO_EXTEDITOR_CODESET)),
Child, PO_DEFCODESET_EDITOR = CodesetPopupObject,
MUIA_CodesetPopup_ControlChar, tr(MSG_CO_EXTEDITOR_CODESET),
End,
End,
End,
Child, VGroup, GroupFrameT(tr(MSG_CO_AppIcon)),
Child, ColGroup(2),
Child, CH_WBAPPICON = MakeCheck(tr(MSG_CO_WBAPPICON)),
Child, LLabel1(tr(MSG_CO_WBAPPICON)),
Child, HSpace(0),
Child, ColGroup(2),
Child, Label2(tr(MSG_CO_APPICONTEXT)),
Child, PO_APPICON = PlaceholderPopupObject,
MUIA_String_MaxLen, SIZE_DEFAULT/2,
MUIA_PlaceholderPopup_Mode, PHM_MAILSTATS,
MUIA_PlaceholderPopup_ControlChar, ShortCut(tr(MSG_CO_APPICONTEXT)),
End,
Child, HGroup,
Child, CH_APPICONPOS = MakeCheck(tr(MSG_CO_PositionX)),
Child, Label2(tr(MSG_CO_PositionX)),
End,
Child, HGroup,
Child, ST_APPX = BetterStringObject,
StringFrame,
MUIA_CycleChain, TRUE,
MUIA_ControlChar, ShortCut("_X"),
MUIA_FixWidthTxt, "0000",
MUIA_String_MaxLen, 4+1,
MUIA_String_AdvanceOnCR, TRUE,
MUIA_String_Integer, 0,
MUIA_String_Accept, "0123456789",
End,
Child, Label2("_Y"),
Child, HGroup,
MUIA_Group_Spacing, 0,
Child, ST_APPY = BetterStringObject,
StringFrame,
MUIA_CycleChain, TRUE,
MUIA_ControlChar, ShortCut("_Y"),
MUIA_FixWidthTxt, "0000",
MUIA_String_MaxLen, 4+1,
MUIA_String_AdvanceOnCR, TRUE,
MUIA_String_Integer, 0,
MUIA_String_Accept, "0123456789",
End,
Child, BT_APPICONGETPOS = PopButton(MUII_PopUp),
End,
Child, HSpace(0),
End,
End,
End,
#if defined(__amigaos4__)
Child, MakeCheckGroup(&CH_DOCKYICON, tr(MSG_CO_DOCKYICON)),
#endif
Child, MakeCheckGroup(&CH_CLGADGET, tr(MSG_CO_CloseGadget)),
End,
Child, VGroup, GroupFrameT(tr(MSG_CO_SaveDelete)),
Child, HGroup,
Child, CH_CONFIRM = MakeCheck(tr(MSG_CO_ConfirmDelPart1)),
Child, Label2(tr(MSG_CO_ConfirmDelPart1)),
Child, NB_CONFIRMDEL = MakeNumeric(1, 50, FALSE),
Child, Label2(tr(MSG_CO_ConfirmDelPart2)),
Child, HSpace(0),
End,
Child, MakeCheckGroup(&CH_REMOVE, tr(MSG_CO_Remove)),
End,
Child, HGroup, GroupFrameT(tr(MSG_CO_XPK)),
Child, ColGroup(2),
Child, Label1(tr(MSG_CO_XPKPack)),
Child, HGroup,
Child, MakeXPKPop(&TX_PACKER, FALSE),
Child, NB_PACKER = MakeNumeric(0, 100, TRUE),
Child, HSpace(0),
End,
Child, Label1(tr(MSG_CO_XPKPackEnc)),
Child, HGroup,
Child, MakeXPKPop(&TX_ENCPACK, TRUE),
Child, NB_ENCPACK = MakeNumeric(0, 100, TRUE),
Child, HSpace(0),
End,
Child, Label1(tr(MSG_CO_Archiver)),
Child, HGroup,
Child, PO_ARCHIVER = PlaceholderPopupObject,
MUIA_String_MaxLen, SIZE_COMMAND,
MUIA_PlaceholderPopup_Mode, PHM_ARCHIVE,
MUIA_PlaceholderPopup_ControlChar, ShortCut(tr(MSG_CO_Archiver)),
End,
Child, MakeCheckGroup(&CH_ARCHIVERPROGRESS, tr(MSG_CO_SHOW_ARCHIVER_PROGRESS)),
End,
End,
End,
Child, ColGroup(2), GroupFrameT(tr(MSG_CO_MIXED_CONNECTIONS)),
Child, Label(tr(MSG_CO_TransferWin)),
Child, CY_TRANSWIN = MakeCycle(trwopt, tr(MSG_CO_TransferWin)),
End,
End,
TAG_MORE, inittags(msg))) != NULL)
{
GETDATA;
data->ST_TEMPDIR = ST_TEMPDIR;
data->ST_DETACHDIR = ST_DETACHDIR;
data->ST_ATTACHDIR = ST_ATTACHDIR;
data->ST_UPDATEDOWNLOADPATH = ST_UPDATEDOWNLOADPATH;
data->ST_EDITOR = ST_EDITOR;
data->PO_DEFCODESET_EDITOR = PO_DEFCODESET_EDITOR;
data->CH_WBAPPICON = CH_WBAPPICON;
data->PO_APPICON = PO_APPICON;
data->CH_APPICONPOS = CH_APPICONPOS;
data->ST_APPX = ST_APPX;
data->ST_APPY = ST_APPY;
data->BT_APPICONGETPOS = BT_APPICONGETPOS;
data->CH_CLGADGET = CH_CLGADGET;
data->CH_CONFIRM = CH_CONFIRM;
data->NB_CONFIRMDEL = NB_CONFIRMDEL;
data->CH_REMOVE = CH_REMOVE;
data->TX_PACKER = TX_PACKER;
data->NB_PACKER = NB_PACKER;
data->TX_ENCPACK = TX_ENCPACK;
data->NB_ENCPACK = NB_ENCPACK;
data->PO_ARCHIVER = PO_ARCHIVER;
data->CH_ARCHIVERPROGRESS = CH_ARCHIVERPROGRESS;
data->CY_TRANSWIN = CY_TRANSWIN;
#if defined(__amigaos4__)
data->CH_DOCKYICON = CH_DOCKYICON;
#endif // __amigaos4__
SetHelp(ST_TEMPDIR, MSG_HELP_CO_ST_TEMPDIR);
SetHelp(ST_DETACHDIR, MSG_HELP_CO_ST_DETACHDIR);
SetHelp(ST_ATTACHDIR, MSG_HELP_CO_ST_ATTACHDIR);
SetHelp(CH_WBAPPICON, MSG_HELP_CO_CH_WBAPPICON);
SetHelp(ST_APPX, MSG_HELP_CO_ST_APP);
SetHelp(ST_APPY, MSG_HELP_CO_ST_APP);
SetHelp(CH_APPICONPOS, MSG_HELP_CO_ST_APP);
#if defined(__amigaos4__)
SetHelp(CH_DOCKYICON, MSG_HELP_CO_CH_DOCKYICON);
#endif // __amigaos4__
SetHelp(CH_CLGADGET, MSG_HELP_CO_CH_CLGADGET);
SetHelp(CH_CONFIRM, MSG_HELP_CO_CH_CONFIRM);
SetHelp(NB_CONFIRMDEL, MSG_HELP_CO_NB_CONFIRMDEL);
SetHelp(CH_REMOVE, MSG_HELP_CO_CH_REMOVE);
SetHelp(TX_ENCPACK, MSG_HELP_CO_TX_ENCPACK);
SetHelp(TX_PACKER, MSG_HELP_CO_TX_PACKER);
SetHelp(NB_ENCPACK, MSG_HELP_CO_NB_ENCPACK);
SetHelp(NB_PACKER, MSG_HELP_CO_NB_ENCPACK);
SetHelp(PO_ARCHIVER, MSG_HELP_CO_ST_ARCHIVER);
SetHelp(PO_APPICON, MSG_HELP_CO_ST_APPICON);
SetHelp(BT_APPICONGETPOS, MSG_HELP_CO_BT_APPICONGETPOS);
SetHelp(CY_TRANSWIN, MSG_HELP_CO_CH_TRANSWIN);
SetHelp(ST_EDITOR, MSG_HELP_CO_ST_EDITOR_EXT);
SetHelp(PO_DEFCODESET_EDITOR, MSG_HELP_CO_TX_DEFCODESET_EDITOR);
DoMethod(obj, MUIM_MultiSet, MUIA_Disabled, TRUE,
ST_APPX,
ST_APPY,
PO_APPICON,
BT_APPICONGETPOS,
NULL);
DoMethod(CH_WBAPPICON, MUIM_Notify, MUIA_Selected, MUIV_EveryTime, obj, 9, MUIM_MultiSet, MUIA_Disabled, MUIV_NotTriggerValue, ST_APPX, ST_APPY, PO_APPICON, CH_APPICONPOS, BT_APPICONGETPOS, NULL);
DoMethod(BT_APPICONGETPOS, MUIM_Notify, MUIA_Pressed, FALSE, obj, 1, METHOD(GetAppIconPos));
DoMethod(CH_CONFIRM, MUIM_Notify, MUIA_Selected, MUIV_EveryTime, NB_CONFIRMDEL, 3, MUIM_Set, MUIA_Disabled, MUIV_NotTriggerValue);
#if defined(__amigaos4__)
set(CH_DOCKYICON, MUIA_Disabled, G->applicationID == 0);
#endif // __amigaos4__
// disable the XPK popups if xpkmaster.library is not available
if(XpkBase == NULL)
{
set(NB_PACKER, MUIA_Disabled, TRUE);
set(NB_ENCPACK, MUIA_Disabled, TRUE);
}
}
RETURN((IPTR)obj);
return (IPTR)obj;
}
///
/// OVERLOAD(MUIM_ConfigPage_ConfigToGUI)
OVERLOAD(MUIM_ConfigPage_ConfigToGUI)
{
GETDATA;
ENTER();
setstring(data->ST_TEMPDIR, CE->TempDir);
setstring(data->ST_DETACHDIR, CE->DetachDir);
setstring(data->ST_ATTACHDIR, CE->AttachDir);
setstring(data->ST_UPDATEDOWNLOADPATH, CE->UpdateDownloadPath);
setcheckmark(data->CH_WBAPPICON, CE->WBAppIcon);
set(data->ST_APPX, MUIA_String_Integer, abs(CE->IconPositionX));
set(data->ST_APPY, MUIA_String_Integer, abs(CE->IconPositionY));
setcheckmark(data->CH_APPICONPOS, CE->IconPositionX >= 0 && CE->IconPositionY >= 0);
setstring(data->PO_APPICON, CE->AppIconText);
#if defined(__amigaos4__)
setcheckmark(data->CH_DOCKYICON, CE->DockyIcon);
#endif // __amigaos4__
setcheckmark(data->CH_CLGADGET, CE->IconifyOnQuit);
setcheckmark(data->CH_CONFIRM, CE->Confirm);
xset(data->NB_CONFIRMDEL, MUIA_Numeric_Value, CE->ConfirmDelete,
MUIA_Disabled, CE->Confirm == FALSE);
setcheckmark(data->CH_REMOVE, CE->RemoveAtOnce);
set(data->TX_PACKER, MUIA_Text_Contents, CE->XPKPack);
set(data->TX_ENCPACK, MUIA_Text_Contents, CE->XPKPackEncrypt);
setslider(data->NB_PACKER, CE->XPKPackEff);
setslider(data->NB_ENCPACK, CE->XPKPackEncryptEff);
setstring(data->PO_ARCHIVER, CE->PackerCommand);
setcheckmark(data->CH_ARCHIVERPROGRESS, CE->ShowPackerProgress);
set(data->CH_APPICONPOS, MUIA_Disabled, CE->WBAppIcon == FALSE);
setcycle(data->CY_TRANSWIN, CE->TransferWindow);
setstring(data->ST_EDITOR, CE->Editor);
set(data->PO_DEFCODESET_EDITOR, MUIA_CodesetPopup_Codeset, CE->DefaultEditorCodeset);
RETURN(0);
return 0;
}
///
/// OVERLOAD(MUIM_ConfigPage_GUIToConfig)
OVERLOAD(MUIM_ConfigPage_GUIToConfig)
{
GETDATA;
ENTER();
GetMUIString(CE->TempDir, data->ST_TEMPDIR, sizeof(CE->TempDir));
GetMUIString(CE->DetachDir, data->ST_DETACHDIR, sizeof(CE->DetachDir));
GetMUIString(CE->AttachDir, data->ST_ATTACHDIR, sizeof(CE->AttachDir));
GetMUIString(CE->UpdateDownloadPath, data->ST_UPDATEDOWNLOADPATH, sizeof(CE->UpdateDownloadPath));
CE->WBAppIcon = GetMUICheck(data->CH_WBAPPICON);
CE->IconPositionX = GetMUIInteger(data->ST_APPX);
CE->IconPositionY = GetMUIInteger(data->ST_APPY);
if(GetMUICheck(data->CH_APPICONPOS) == FALSE)
{
CE->IconPositionX = -CE->IconPositionX;
CE->IconPositionY = -CE->IconPositionY;
}
GetMUIString(CE->AppIconText, data->PO_APPICON, sizeof(CE->AppIconText));
#if defined(__amigaos4__)
CE->DockyIcon = GetMUICheck(data->CH_DOCKYICON);
#endif // __amigaos4__
CE->IconifyOnQuit = GetMUICheck(data->CH_CLGADGET);
CE->Confirm = GetMUICheck(data->CH_CONFIRM);
CE->ConfirmDelete = GetMUINumer(data->NB_CONFIRMDEL);
CE->RemoveAtOnce = GetMUICheck(data->CH_REMOVE);
GetMUIText(CE->XPKPack, data->TX_PACKER, sizeof(CE->XPKPack));
GetMUIText(CE->XPKPackEncrypt, data->TX_ENCPACK, sizeof(CE->XPKPackEncrypt));
CE->XPKPackEff = GetMUINumer(data->NB_PACKER);
CE->XPKPackEncryptEff = GetMUINumer(data->NB_ENCPACK);
GetMUIString(CE->PackerCommand, data->PO_ARCHIVER, sizeof(CE->PackerCommand));
CE->ShowPackerProgress = GetMUICheck(data->CH_ARCHIVERPROGRESS);
CE->TransferWindow = GetMUICycle(data->CY_TRANSWIN);
GetMUIString(CE->Editor, data->ST_EDITOR, sizeof(CE->Editor));
strlcpy(CE->DefaultEditorCodeset, (char *)xget(data->PO_DEFCODESET_EDITOR, MUIA_CodesetPopup_Codeset), sizeof(CE->DefaultEditorCodeset));
RETURN(0);
return 0;
}
///
/// DECLARE(GetAppIconPos)
// Retrieves the position x/y of the AppIcon and
// sets the position label accordingly
DECLARE(GetAppIconPos)
{
GETDATA;
struct DiskObject *dobj;
ENTER();
if((dobj = G->theme.icons[G->currentAppIcon]) != NULL)
{
// set the position
set(data->ST_APPX, MUIA_String_Integer, dobj->do_CurrentX);
set(data->ST_APPY, MUIA_String_Integer, dobj->do_CurrentY);
// enable the checkbox
setcheckmark(data->CH_APPICONPOS, TRUE);
}
RETURN(0);
return 0;
}
///