Skip to content
Extraits de code Groupes Projets
Vérifiée Valider eb3ac10b rédigé par Kubat's avatar Kubat
Parcourir les fichiers

UI VivyDocumentView: Small updates

- Don't show the 'Open properties' action in views when it can be
  toggled by the QDockWidget's action
- Use constexpr things to group all dock features -> easy to view and
  understand now
parent 7b9c9120
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!18Implement the VivyDocument specification
......@@ -21,7 +21,7 @@ VivyDocumentView::VivyDocumentView(std::shared_ptr<VivyDocument> doc, QWidget *p
loadAssView();
// Add some actions...
QAction *openPropertiesAct = new QAction("Open properties", this);
openPropertiesAct = new QAction("Open properties", this);
connect(openPropertiesAct, &QAction::triggered, this, &VivyDocumentView::openProperties);
connect(document.get(), &AbstractDocument::documentChanged, this, [=, this]() {
if (property)
......@@ -79,9 +79,7 @@ VivyDocumentView::loadVideoView() noexcept
if (!videoView) {
videoView = new QDockWidget("Video View", this);
videoView->setAllowedAreas(Qt::AllDockWidgetAreas);
videoView->setFeatures(QDockWidget::DockWidgetMovable |
QDockWidget::DockWidgetFloatable |
QDockWidget::DockWidgetClosable);
videoView->setFeatures(allDockFeatures);
addDockWidget(Qt::BottomDockWidgetArea, videoView, Qt::Vertical);
DockWidgetTitleBar::addToDock(videoView);
}
......@@ -101,7 +99,7 @@ VivyDocumentView::loadAssView() noexcept
if (document->checkDocumentCapabilities(VivyDocument::Capabilities::AssAble)) {
if (!assLines) {
assLines = new QDockWidget("ASS Lines", this);
assLines->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetClosable);
assLines->setFeatures(onlyClosableDockFeatures);
assLines->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea |
Qt::BottomDockWidgetArea);
addDockWidget(Qt::BottomDockWidgetArea, assLines, Qt::Vertical);
......@@ -133,8 +131,7 @@ VivyDocumentView::loadAudioView() noexcept
visualizer->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Minimum);
visualizer->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::TopDockWidgetArea |
Qt::BottomDockWidgetArea);
visualizer->setFeatures(QDockWidget::DockWidgetMovable |
QDockWidget::DockWidgetClosable);
visualizer->setFeatures(onlyClosableDockFeatures);
addDockWidget(Qt::LeftDockWidgetArea, visualizer, Qt::Horizontal);
DockWidgetTitleBar::addToDock(visualizer);
}
......@@ -174,7 +171,7 @@ VivyDocumentView::getDocumentTabIcon() const noexcept
void
VivyDocumentView::openProperties() noexcept
{
propertyModel.reset(new PropertyModel(*document.get()));
propertyModel = std::make_unique<PropertyModel>(*document.get());
QTreeView *view = new QTreeView(property);
view->setModel(propertyModel.get());
view->header()->setSectionResizeMode(QHeaderView::ResizeToContents);
......@@ -183,9 +180,11 @@ VivyDocumentView::openProperties() noexcept
if (!property) {
property = new QDockWidget("Properties", this);
property->setAllowedAreas(Qt::AllDockWidgetAreas);
property->setFeatures(allDockFeatures);
addDockWidget(Qt::RightDockWidgetArea, property, Qt::Vertical);
DockWidgetTitleBar::addToDock(property);
}
property->setWidget(view);
openPropertiesAct->setVisible(false);
}
......@@ -18,6 +18,12 @@ class VivyDocumentView final : public AbstractDocumentView {
Q_OBJECT
VIVY_UNMOVABLE_OBJECT(VivyDocumentView)
static inline constexpr QDockWidget::DockWidgetFeatures allDockFeatures =
QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetFloatable |
QDockWidget::DockWidgetMovable;
static inline constexpr QDockWidget::DockWidgetFeatures onlyClosableDockFeatures =
QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable;
public:
explicit VivyDocumentView(std::shared_ptr<VivyDocument>, QWidget *parent) noexcept;
~VivyDocumentView() noexcept override;
......@@ -44,6 +50,7 @@ private:
QDockWidget *property{ nullptr };
QDockWidget *assLines{ nullptr };
QDockWidget *videoView{ nullptr };
QAction *openPropertiesAct{ nullptr };
};
}
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter