Files
fmviewer3/project/fm_viewer/ui/rm_window_base.cpp
2026-02-21 17:11:31 +09:00

65 lines
1.8 KiB
C++

#include "rm_window_base.h"
#include "../fm_dimensions.h"
#include "../fm_app_colors.h"
#include "fm_frame_title.h"
#include "rm_widget_drag.h"
#include <QTimer>
#if (MODEL_BBVIEWER)
#include "rm_toolbar.h"
#endif
#if (MODEL_WATEX)
#include "rm_bottom_border.h"
#endif
RMWindowBase::RMWindowBase(QWidget *parent,QString title, QString icon, bool isPopup) : QMainWindow(parent)
{
this->setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint);
if(isPopup)
{
this->setWindowModality(Qt::ApplicationModal);
// SUB Window 지정해 줘야 윈도우 하단 툴바에 아이콘 생성 안됨
this->setWindowFlags(this->windowFlags() | Qt::SubWindow);
}
_centralWidget = new QWidget(this);
setCentralWidget(_centralWidget);
_titleLayout = new QVBoxLayout(_centralWidget);
ZERO_LAYOUT(_titleLayout);
#if (!PLAYER_ONLY_LIBRARY_MODE)
_title = new FMFrameTitle(_centralWidget,title,icon);
_titleLayout->addWidget(_title);
#endif // #if (!PLAYER_ONLY_LIBRARY_MODE)
#if (MODEL_BBVIEWER)
if(isPopup == false)
{
_toolbar = new RMToolbar(_centralWidget);
_toolbar->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Fixed);
#if (MODEL_WATEX)
_toolbar->setFixedHeight(41);
#else
_toolbar->setFixedHeight(40);
#endif
_titleLayout->addWidget(_toolbar);
}
#endif
_mainWidget = new QWidget(_centralWidget);
_mainWidget->setObjectName("main_widget");
_mainWidget->setStyleSheet(FM_COLOR_MAIN_BACKGROUND);
//_mainWidget->setObjectName(isPopup ? "bg_dark_widget" : "bg_widget");
_mainWidget->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred);
_titleLayout->addWidget(_mainWidget);
_drag = new RMWidgetDrag(this,isPopup ? POPUP_TITLE_BAR_HEIGHT : MAIN_TITLE_BAR_HEIGHT);
}