/* Copyright (C) 2012-24 Miranda NG team (https://miranda-ng.org) 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 version 2 of the License. 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, see . */ #pragma once #include "stdafx.h" enum ClistAlign : uint8_t { left, right }; enum ClistState : uint8_t { hidden, minimized, normal }; struct ClistOptions { CMOption isDocked; CMOption state; CMOption x; CMOption y; CMOption width; CMOption height; ClistOptions() : isDocked(CLIST_MODULE_NAME, "Docked", 0), state(CLIST_MODULE_NAME, "State", ClistState::normal), x(CLIST_MODULE_NAME, "x", 0), y(CLIST_MODULE_NAME, "y", 0), width(CLIST_MODULE_NAME, "Width", 150), height(CLIST_MODULE_NAME, "Height", 350) { } }; struct StartPositionOptions { CMOption setTopPosition; CMOption setBottomPosition; CMOption setSidePosition; CMOption clistAlign; CMOption setClistWidth; CMOption setClistStartState; CMOption clistState; CMOption pixelsFromTop; CMOption pixelsFromBottom; CMOption pixelsFromSide; CMOption clistWidth; StartPositionOptions(); }; class COptionsDlg : public CDlgBase { CCtrlCheck chkPositionTop, chkPositionBottom, chkPositionSide, chkFromLeft, chkFromRight, chkWidth; CCtrlEdit edtPositionTop, edtPositionBottom, edtPositionSide, edtWidth; CCtrlCheck chkStartState, chkStartHidden, chkStartNormal; public: COptionsDlg(); bool OnInitDialog() override; bool OnApply() override; private: void removeOldSettings(); void onCheck_PositionTop(CCtrlCheck*); void onCheck_PositionBottom(CCtrlCheck*); void onCheck_PositionSide(CCtrlCheck*); void onCheck_Width(CCtrlCheck*); void onCheck_StartState(CCtrlCheck*); };