4 #include "mainwindow.h"
5 #include "slidecontrolwidget.h"
7 #include "slidemodel.h"
10 #include "slideeditor.h"
12 extern Main *mainWindow;
13 extern SlideEditor *slideEditor;
15 extern QString editorFocusStyle;
17 SlideEditor::SlideEditor(VymModel *m)
21 // Create slides model
22 slideModel = vymModel->getSlideModel();
25 view = new QTreeView(this);
26 view->setModel(slideModel);
28 slideModel->setSelectionModel(view->selectionModel());
30 view->setStyleSheet("QTreeView:focus {" + editorFocusStyle + "}");
32 // Create ControlWidget
33 slideControl = new SlideControlWidget(this);
34 connect(slideControl, SIGNAL(takeSnapshot()), this, SLOT(addSlide()));
35 connect(slideControl, SIGNAL(editButtonPressed()), mainWindow,
36 SLOT(windowToggleScriptEditor()));
37 connect(slideControl, SIGNAL(deleteButtonPressed()), this,
39 connect(slideControl, SIGNAL(previousButtonPressed()), this,
40 SLOT(previousSlide()));
41 connect(slideControl, SIGNAL(nextButtonPressed()), this, SLOT(nextSlide()));
42 connect(slideControl, SIGNAL(upButtonPressed()), this, SLOT(moveSlideUp()));
43 connect(slideControl, SIGNAL(downButtonPressed()), this,
44 SLOT(moveSlideDown()));
46 QVBoxLayout *mainLayout = new QVBoxLayout;
48 mainLayout->addWidget(view);
49 mainLayout->addWidget(slideControl);
51 setLayout(mainLayout);
54 connect(view->selectionModel(),
55 SIGNAL(selectionChanged(QItemSelection, QItemSelection)), vymModel,
56 SLOT(updateSlideSelection(QItemSelection, QItemSelection)));
57 connect(view->selectionModel(),
58 SIGNAL(selectionChanged(QItemSelection, QItemSelection)), this,
59 SLOT(updateSelection(QItemSelection, QItemSelection)));
61 // connect (resultsModel, SIGNAL(layoutChanged() ), view, SLOT
65 void SlideEditor::previousSlide()
67 QModelIndex ix = slideModel->getSelectedIndex();
69 ix = view->indexAbove(ix);
72 view->selectionModel()->select(ix, QItemSelectionModel::ClearAndSelect);
75 void SlideEditor::nextSlide()
77 QModelIndex ix = slideModel->getSelectedIndex();
79 ix = view->indexBelow(ix);
81 view->selectionModel()->select(ix, QItemSelectionModel::ClearAndSelect);
84 void SlideEditor::addSlide() { vymModel->addSlide(); }
86 void SlideEditor::editSlide() // FIXME-4 not used yet
90 void SlideEditor::deleteSlide()
92 SlideItem *si = slideModel->getSelectedItem();
93 vymModel->deleteSlide(si);
96 void SlideEditor::moveSlideUp() { vymModel->moveSlideUp(); }
98 void SlideEditor::moveSlideDown() { vymModel->moveSlideDown(); }
100 void SlideEditor::updateSelection(QItemSelection, QItemSelection)
102 // FIXME-3 updateActions missing, e.g. state for moveUp/down