91 lines
3.1 KiB
C
91 lines
3.1 KiB
C
|
/*
|
|||
|
* settings.c
|
|||
|
*
|
|||
|
* Created on: 6 июл. 2022 г.
|
|||
|
* Author: alexander
|
|||
|
*/
|
|||
|
|
|||
|
#include <iup.h>
|
|||
|
#include <stdlib.h>
|
|||
|
#include <stdbool.h>
|
|||
|
|
|||
|
#include "settings.h"
|
|||
|
#include "arguments.h"
|
|||
|
|
|||
|
static int settingsClose(Ihandle *bt_close)
|
|||
|
{
|
|||
|
IupSetAttribute(IupGetDialog(bt_close), "SIMULATEMODAL", "OFF");
|
|||
|
IupHide(IupGetDialog(bt_close));
|
|||
|
return IUP_DEFAULT;
|
|||
|
}
|
|||
|
|
|||
|
static int settingsSave(Ihandle *self)
|
|||
|
{
|
|||
|
return IUP_DEFAULT;
|
|||
|
}
|
|||
|
|
|||
|
static int settingsTglMultimonitor(Ihandle *self)
|
|||
|
{
|
|||
|
settingsToggleEnable(PARAMETER_MULTIMONITOR);
|
|||
|
return IUP_DEFAULT;
|
|||
|
}
|
|||
|
|
|||
|
static int settingsTglFullscreen(Ihandle *self)
|
|||
|
{
|
|||
|
settingsToggleEnable(PARAMETER_FULLSCREEN);
|
|||
|
return IUP_DEFAULT;
|
|||
|
}
|
|||
|
|
|||
|
int settingsWindow(Ihandle *self)
|
|||
|
{
|
|||
|
Ihandle *dlg;
|
|||
|
Ihandle *vBoxMain, *hBoxToggles, *hSettingsBoxButtons;
|
|||
|
Ihandle *btnSettingsClose, *btnSettingsSave;
|
|||
|
Ihandle *tglMultimonitor, *tglFullscreen;
|
|||
|
|
|||
|
tglMultimonitor = IupToggle("Мультиэкран", NULL);
|
|||
|
IupSetAttribute(tglMultimonitor, "VALUE", (settingsGetEnable(PARAMETER_MULTIMONITOR) ? "ON" : "OFF"));
|
|||
|
IupSetAttribute(tglMultimonitor, "NAME", "SETTINGS_MULTIMONITOR");
|
|||
|
tglFullscreen = IupToggle("На весь экран", NULL);
|
|||
|
IupSetAttribute(tglFullscreen, "NAME", "SETTINGS_FULLSCREEN");
|
|||
|
IupSetAttribute(tglFullscreen, "VALUE", (settingsGetEnable(PARAMETER_FULLSCREEN) ? "ON" : "OFF"));
|
|||
|
hBoxToggles = IupHbox(IupFill(), tglFullscreen, tglMultimonitor, IupFill(), NULL);
|
|||
|
IupSetAttribute(hBoxToggles, "GAP", "10");
|
|||
|
IupSetAttribute(hBoxToggles, "MARGIN", "10x10");
|
|||
|
|
|||
|
btnSettingsSave = IupButton("Сохранить", NULL);
|
|||
|
IupSetAttribute(btnSettingsSave, "NAME", "SETTIGS_SAVE");
|
|||
|
btnSettingsClose = IupButton("Закрыть", NULL);
|
|||
|
IupSetHandle("SETTIGS_CLOSE", btnSettingsClose);
|
|||
|
IupSetAttribute(btnSettingsClose, "NAME", "SETTIGS_CLOSE");
|
|||
|
hSettingsBoxButtons = IupHbox(IupFill(), btnSettingsClose, btnSettingsSave, IupFill(), NULL);
|
|||
|
IupSetAttribute(hSettingsBoxButtons, "ALIGNMENT", "ACENTER:ACENTER");
|
|||
|
IupSetAttribute(hSettingsBoxButtons, "GAP", "10");
|
|||
|
IupSetAttribute(hSettingsBoxButtons, "MARGIN", "10x10");
|
|||
|
|
|||
|
vBoxMain = IupVbox(hBoxToggles, hSettingsBoxButtons, NULL);
|
|||
|
|
|||
|
dlg = IupDialog(vBoxMain);
|
|||
|
IupSetAttribute(dlg, "TITLE", "Настройки");
|
|||
|
IupSetAttribute(dlg, "ICON", "icon");
|
|||
|
IupSetAttribute(dlg, "DIALOGFRAME", "ON");
|
|||
|
IupSetAttribute(dlg, "SIMULATEMODAL", "ON");
|
|||
|
IupSetAttribute(dlg, "DEFAULTESC", "SETTIGS_CLOSE");
|
|||
|
IupSetAttribute(dlg, "TOPMOST", "YES");
|
|||
|
IupSetAttribute(dlg, "BRINGFRONT", "YES");
|
|||
|
IupSetAttribute(dlg, "NAME", "SETTINGS_WINDOW");
|
|||
|
|
|||
|
IupSetCallback(dlg, "CLOSE_CB", (Icallback) settingsClose);
|
|||
|
|
|||
|
// IupSetAttribute(dlg, "RESIZE", "NO");
|
|||
|
|
|||
|
IupSetCallback(btnSettingsClose, "ACTION", (Icallback) settingsClose);
|
|||
|
IupSetCallback(btnSettingsSave, "ACTION", (Icallback) settingsSave);
|
|||
|
IupSetCallback(tglFullscreen, "ACTION", (Icallback) settingsTglFullscreen);
|
|||
|
IupSetCallback(tglMultimonitor, "ACTION", (Icallback) settingsTglMultimonitor);
|
|||
|
|
|||
|
IupShowXY(dlg, IUP_CURRENT, IUP_CURRENT);
|
|||
|
|
|||
|
return IUP_DEFAULT;
|
|||
|
}
|