ui: made os integration more universal
ProgressDialog doesn't have to worry about the platform anymore, now MainWindow will determine what to do or whether to ignore certain progress indicator functions.
This commit is contained in:
@@ -191,22 +191,6 @@ bool MainWindow::IsSequenceOpen(Sequence *sequence) const
|
||||
return false;
|
||||
}
|
||||
|
||||
#ifdef Q_OS_WINDOWS
|
||||
void MainWindow::SetTaskbarButtonState(TBPFLAG flags)
|
||||
{
|
||||
if (taskbar_interface_) {
|
||||
taskbar_interface_->SetProgressState(reinterpret_cast<HWND>(this->winId()), flags);
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::SetTaskbarButtonProgress(int value, int max)
|
||||
{
|
||||
if (taskbar_interface_) {
|
||||
taskbar_interface_->SetProgressValue(reinterpret_cast<HWND>(this->winId()), value, max);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void MainWindow::FolderOpen(Project* p, Item *i, bool floating)
|
||||
{
|
||||
ProjectPanel* panel = PanelManager::instance()->CreatePanel<ProjectPanel>(this);
|
||||
@@ -356,6 +340,37 @@ void MainWindow::ProjectClose(Project *p)
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::SetApplicationProgressStatus(ProgressStatus status)
|
||||
{
|
||||
#if defined(Q_OS_WINDOWS)
|
||||
if (taskbar_interface_) {
|
||||
switch (status) {
|
||||
case kProgressShow:
|
||||
taskbar_interface_->SetProgressState(reinterpret_cast<HWND>(this->winId()), TBPF_NORMAL);
|
||||
break;
|
||||
case kProgressNone:
|
||||
taskbar_interface_->SetProgressState(reinterpret_cast<HWND>(this->winId()), TBPF_NOPROGRESS);
|
||||
break;
|
||||
case kProgressError:
|
||||
taskbar_interface_->SetProgressState(reinterpret_cast<HWND>(this->winId()), TBPF_ERROR);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#elif defined(Q_OS_MAC)
|
||||
#endif
|
||||
}
|
||||
|
||||
void MainWindow::SetApplicationProgressValue(int value)
|
||||
{
|
||||
#if defined(Q_OS_WINDOWS)
|
||||
if (taskbar_interface_) {
|
||||
taskbar_interface_->SetProgressValue(reinterpret_cast<HWND>(this->winId()), value, 100);
|
||||
}
|
||||
#elif defined(Q_OS_MAC)
|
||||
#endif
|
||||
}
|
||||
|
||||
void MainWindow::closeEvent(QCloseEvent *e)
|
||||
{
|
||||
// Try to close all projects (this will return false if the user chooses not to close)
|
||||
|
||||
Reference in New Issue
Block a user