first commit
This commit is contained in:
150
project/fm_viewer/ui/rm_dialog_progress.cpp
Normal file
150
project/fm_viewer/ui/rm_dialog_progress.cpp
Normal file
@@ -0,0 +1,150 @@
|
||||
#include "rm_dialog_progress.h"
|
||||
#include "../rm_include.h"
|
||||
#include "fm_layer.h"
|
||||
#include "../data/rm_video_list.h"
|
||||
#include "title_widget.h"
|
||||
#include "../rm_app.h"
|
||||
#include "rm_widget_style_base.h"
|
||||
#include "../data/rm_overwrite.h"
|
||||
#include "fm_button.h"
|
||||
#include "fm_colors.h"
|
||||
#include "../core/fm_strings.h"
|
||||
|
||||
|
||||
RMDialogProgress* RMDialogProgress::_progress = NULL;
|
||||
|
||||
void RMDialogProgress::start(QString title,bool bCancel,bool bFileList)
|
||||
{
|
||||
stop();
|
||||
|
||||
RMDialogProgress::_progress = new RMDialogProgress(RMApp::instance()->pMainWindow,title,bCancel,bFileList);
|
||||
RMDialogProgress::_progress->show();
|
||||
|
||||
connect(RMVideoFileList::instance(),SIGNAL(updateProgress(int)),RMDialogProgress::_progress,SLOT(onUpdateValue(int)));
|
||||
|
||||
}
|
||||
void RMDialogProgress::stop()
|
||||
{
|
||||
if(RMDialogProgress::_progress != NULL)
|
||||
{
|
||||
RMDialogProgress::_progress->setHidden(true);
|
||||
delete RMDialogProgress::_progress;
|
||||
RMDialogProgress::_progress = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
RMDialogProgress::RMDialogProgress(QWidget *parent, QString title, bool bCancel, bool bFileList) : QDialog(parent)
|
||||
{
|
||||
this->setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint);
|
||||
|
||||
this->setWindowModality(Qt::ApplicationModal);
|
||||
|
||||
this->setFixedSize(414,bCancel ? 140 : 100);
|
||||
|
||||
_layout = new QVBoxLayout(this);
|
||||
_layout->setSpacing(0);
|
||||
_layout->setMargin(0);
|
||||
|
||||
_title = new TitleWidget(this,title,"",true);
|
||||
_layout->addWidget(_title);
|
||||
_title->closeButton->setHidden(true);
|
||||
|
||||
QWidget* contentWidget = new QWidget(this);
|
||||
FMWidgetBackground(contentWidget,"dialog_bg",0x3a3a3a);
|
||||
//contentWidget->setObjectName("bg_widget");
|
||||
_layout->addWidget(contentWidget);
|
||||
|
||||
QBoxLayout* contentLayout = new QHBoxLayout(contentWidget);
|
||||
contentLayout->setAlignment(Qt::AlignHCenter | Qt::AlignTop);
|
||||
|
||||
QWidget* borderWidget = new QWidget(contentWidget);
|
||||
FMWidgetBorder(borderWidget,"dialog_border",0x595959);
|
||||
borderWidget->setFixedSize(398,46);
|
||||
contentLayout->addWidget(borderWidget);
|
||||
|
||||
QBoxLayout* borderLayout = new QHBoxLayout(borderWidget);
|
||||
borderLayout->setAlignment(Qt::AlignCenter);
|
||||
|
||||
_progressBar = new QProgressBar(borderWidget);
|
||||
_progressBar->setTextVisible(false);
|
||||
_progressBar->setFixedSize(364,16);
|
||||
_progressBar->setMaximum(PROGRESS_BAR_MAX);
|
||||
_progressBar->setMinimum(0);
|
||||
_progressBar->setValue(0);
|
||||
|
||||
|
||||
QString progressStyle = "QProgressBar\
|
||||
{\
|
||||
background-color: white;\
|
||||
border-style: none;\
|
||||
}\
|
||||
QProgressBar::chunk\
|
||||
{\
|
||||
background-color: #%color%;\
|
||||
}";
|
||||
#if (RM_MODEL_EMT_KR)
|
||||
progressStyle = progressStyle.replace("%color%",QString().sprintf("%06X",FM_TEHEM_COLOR_P1));
|
||||
#else
|
||||
progressStyle = progressStyle.replace("%color%",QString().sprintf("%06X",FM_SILDER_COLOR));
|
||||
#endif
|
||||
|
||||
_progressBar->setStyleSheet(progressStyle);
|
||||
|
||||
borderLayout->addWidget(_progressBar);
|
||||
|
||||
_bFileList = bFileList;
|
||||
|
||||
if(bCancel) {
|
||||
|
||||
QWidget* buttonWidget = new QWidget(this);
|
||||
buttonWidget->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Fixed);
|
||||
//buttonWidget->setObjectName("bg_widget");
|
||||
FMWidgetBackground(buttonWidget,"dialog_bg",0x595959);
|
||||
buttonWidget->setFixedHeight(43); // 65??
|
||||
_layout->addWidget(buttonWidget);
|
||||
|
||||
QHBoxLayout* buttonLayout = new QHBoxLayout(buttonWidget);
|
||||
buttonLayout->setSpacing(0);
|
||||
buttonLayout->setMargin(0);
|
||||
#if (FORCE_FM_STRING)
|
||||
QString cancelString = FMS::txt("cancel");
|
||||
#if (LIVE_LANGUAGE2)
|
||||
RMButton* calcelButton = RMButton::create2(buttonWidget,buttonLayout,"popup_button","cancel",QSize(120,30));
|
||||
#else // LIVE_LANGUAGE2
|
||||
//FMButton* calcelButton = FMButton::btnTypeText(buttonWidget,buttonLayout,cancelString,cancelString,QSize(120,30),g_default_text_button_color_set);
|
||||
RMButton* calcelButton = RMButton::create(buttonWidget,buttonLayout,"popup_button",cancelString,QSize(120,30));
|
||||
#endif // LIVE_LANGUAGE2
|
||||
#else // FORCE_FM_STRING
|
||||
QString cancelString = MKU8("\xe3\x82\xad\xe3\x83\xa3\xe3\x83\xb3\xe3\x82\xbb\xe3\x83\xab");
|
||||
#if (LIVE_LANGUAGE_CHANGE)
|
||||
if(RMLanguage::isJP() == false)
|
||||
{
|
||||
cancelString = "Cancel";
|
||||
}
|
||||
#endif
|
||||
RMButton* calcelButton = RMButton::create(buttonWidget,buttonLayout,"popup_button",cancelString,QSize(120,30));
|
||||
#endif // FORCE_FM_STRING
|
||||
calcelButton->setText(cancelString);
|
||||
connect(calcelButton,SIGNAL(clicked()),this,SLOT(onCancel()));
|
||||
}
|
||||
|
||||
}
|
||||
void RMDialogProgress::onCancel()
|
||||
{
|
||||
if(!_bFileList) {
|
||||
QApplication::setOverrideCursor(Qt::WaitCursor);
|
||||
//setHidden(true);
|
||||
RMOverwrite::gCurrent = OVERWRITE_OPTION_CANCEL;
|
||||
//emit cancelProcess();
|
||||
}
|
||||
#if (SUPPORT_LOADING_CANCEL)
|
||||
// 로딩 취소
|
||||
RMVideoFileList::instance()->bCancelLoading = true;
|
||||
#endif // SUPPORT_LOADING_CANCEL
|
||||
}
|
||||
|
||||
void RMDialogProgress::onUpdateValue(int value)
|
||||
{
|
||||
_progressBar->setValue(value);
|
||||
//qInfo() << "RMProgressDialog:" << value;
|
||||
}
|
||||
Reference in New Issue
Block a user