Workaround for DRCS menu sections on Windows
This commit is contained in:
@@ -685,8 +685,14 @@ void MainWindow::createActions()
|
|||||||
viewMenu->addSeparator();
|
viewMenu->addSeparator();
|
||||||
|
|
||||||
QMenu *drcsSubMenu = viewMenu->addMenu(tr("DRCS pages"));
|
QMenu *drcsSubMenu = viewMenu->addMenu(tr("DRCS pages"));
|
||||||
m_drcsSeparator[1] = drcsSubMenu->addSeparator();
|
// Apparently Qt on non-Unix GUIs won't show text on separators or sections
|
||||||
m_drcsSeparator[1]->setText("Global DRCS");
|
// so use a disabled menu entry instead
|
||||||
|
#ifndef Q_OS_UNIX
|
||||||
|
m_drcsSection[1] = drcsSubMenu->addAction("Global DRCS");
|
||||||
|
m_drcsSection[1]->setEnabled(false);
|
||||||
|
#else
|
||||||
|
m_drcsSection[1] = drcsSubMenu->addSection("Global DRCS");
|
||||||
|
#endif
|
||||||
QAction *gDrcsFileSelect = drcsSubMenu->addAction(tr("Load file..."));
|
QAction *gDrcsFileSelect = drcsSubMenu->addAction(tr("Load file..."));
|
||||||
gDrcsFileSelect->setStatusTip(tr("Load a file to use for Global DRCS definitions"));
|
gDrcsFileSelect->setStatusTip(tr("Load a file to use for Global DRCS definitions"));
|
||||||
connect(gDrcsFileSelect, &QAction::triggered, [=]() { loadDRCSFile(1); });
|
connect(gDrcsFileSelect, &QAction::triggered, [=]() { loadDRCSFile(1); });
|
||||||
@@ -695,8 +701,13 @@ void MainWindow::createActions()
|
|||||||
m_drcsClear[1]->setEnabled(false);
|
m_drcsClear[1]->setEnabled(false);
|
||||||
connect(m_drcsClear[1], &QAction::triggered, [=]() { clearDRCSFile(1); });
|
connect(m_drcsClear[1], &QAction::triggered, [=]() { clearDRCSFile(1); });
|
||||||
|
|
||||||
m_drcsSeparator[0] = drcsSubMenu->addSeparator();
|
#ifndef Q_OS_UNIX
|
||||||
m_drcsSeparator[0]->setText("Normal DRCS");
|
QAction *separator = drcsSubMenu->addSeparator();
|
||||||
|
m_drcsSection[0] = drcsSubMenu->addAction("Normal DRCS");
|
||||||
|
m_drcsSection[0]->setEnabled(false);
|
||||||
|
#else
|
||||||
|
m_drcsSection[0] = drcsSubMenu->addSection("Normal DRCS");
|
||||||
|
#endif
|
||||||
QAction *nDrcsFileSelect = drcsSubMenu->addAction(tr("Load file..."));
|
QAction *nDrcsFileSelect = drcsSubMenu->addAction(tr("Load file..."));
|
||||||
nDrcsFileSelect->setStatusTip(tr("Load a file to use for Normal DRCS definitions"));
|
nDrcsFileSelect->setStatusTip(tr("Load a file to use for Normal DRCS definitions"));
|
||||||
connect(nDrcsFileSelect, &QAction::triggered, [=]() { loadDRCSFile(0); });
|
connect(nDrcsFileSelect, &QAction::triggered, [=]() { loadDRCSFile(0); });
|
||||||
@@ -981,7 +992,7 @@ void MainWindow::loadDRCSFile(int drcsType, QString fileName)
|
|||||||
|
|
||||||
m_fileWatcher.addPath(fileName);
|
m_fileWatcher.addPath(fileName);
|
||||||
m_drcsFileName[drcsType] = fileName;
|
m_drcsFileName[drcsType] = fileName;
|
||||||
m_drcsSeparator[drcsType]->setText(QString("%1: %2").arg(drcsTypeName).arg(QFileInfo(fileName).fileName()));
|
m_drcsSection[drcsType]->setText(QString("%1: %2").arg(drcsTypeName).arg(QFileInfo(fileName).fileName()));
|
||||||
m_drcsClear[drcsType]->setEnabled(true);
|
m_drcsClear[drcsType]->setEnabled(true);
|
||||||
m_drcsSwap->setEnabled(true);
|
m_drcsSwap->setEnabled(true);
|
||||||
} else {
|
} else {
|
||||||
@@ -1005,7 +1016,7 @@ void MainWindow::clearDRCSFile(int drcsType)
|
|||||||
m_textWidget->refreshPage();
|
m_textWidget->refreshPage();
|
||||||
|
|
||||||
m_drcsFileName[drcsType].clear();
|
m_drcsFileName[drcsType].clear();
|
||||||
m_drcsSeparator[drcsType]->setText(drcsType == 1 ? "Global DRCS" : "Normal DRCS");
|
m_drcsSection[drcsType]->setText(drcsType == 1 ? "Global DRCS" : "Normal DRCS");
|
||||||
m_drcsClear[drcsType]->setEnabled(false);
|
m_drcsClear[drcsType]->setEnabled(false);
|
||||||
m_drcsSwap->setEnabled(m_drcsClear[0]->isEnabled() || m_drcsClear[1]->isEnabled());
|
m_drcsSwap->setEnabled(m_drcsClear[0]->isEnabled() || m_drcsClear[1]->isEnabled());
|
||||||
}
|
}
|
||||||
@@ -1020,10 +1031,10 @@ void MainWindow::swapDRCS()
|
|||||||
|
|
||||||
if (m_drcsPage[i].isEmpty()) {
|
if (m_drcsPage[i].isEmpty()) {
|
||||||
m_textWidget->pageDecode()->clearDRCSPage((TeletextPageDecode::DRCSPageType)i);
|
m_textWidget->pageDecode()->clearDRCSPage((TeletextPageDecode::DRCSPageType)i);
|
||||||
m_drcsSeparator[i]->setText(drcsTypeName);
|
m_drcsSection[i]->setText(drcsTypeName);
|
||||||
} else {
|
} else {
|
||||||
m_textWidget->pageDecode()->setDRCSPage((TeletextPageDecode::DRCSPageType)i, &m_drcsPage[i]);
|
m_textWidget->pageDecode()->setDRCSPage((TeletextPageDecode::DRCSPageType)i, &m_drcsPage[i]);
|
||||||
m_drcsSeparator[i]->setText(QString("%1: %2").arg(drcsTypeName).arg(QFileInfo(m_drcsFileName[i]).fileName()));
|
m_drcsSection[i]->setText(QString("%1: %2").arg(drcsTypeName).arg(QFileInfo(m_drcsFileName[i]).fileName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
m_drcsClear[i]->setEnabled(!m_drcsPage[i].isEmpty());
|
m_drcsClear[i]->setEnabled(!m_drcsPage[i].isEmpty());
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ private:
|
|||||||
QAction *m_borderActs[3];
|
QAction *m_borderActs[3];
|
||||||
QAction *m_aspectRatioActs[4];
|
QAction *m_aspectRatioActs[4];
|
||||||
QAction *m_smoothTransformAction;
|
QAction *m_smoothTransformAction;
|
||||||
QAction *m_drcsSeparator[2], *m_drcsClear[2], *m_drcsSwap;
|
QAction *m_drcsSection[2], *m_drcsClear[2], *m_drcsSwap;
|
||||||
|
|
||||||
QLabel *m_subPageLabel, *m_cursorPositionLabel;
|
QLabel *m_subPageLabel, *m_cursorPositionLabel;
|
||||||
QToolButton *m_previousSubPageButton, *m_nextSubPageButton;
|
QToolButton *m_previousSubPageButton, *m_nextSubPageButton;
|
||||||
|
|||||||
Reference in New Issue
Block a user