@@ -72,6 +72,8 @@ MainWindow::MainWindow(const QString &fileName, QWidget *parent) :
7272 ui(new Ui::MainWindow),
7373 options(new Options(this )),
7474 diskCache(new QNetworkDiskCache(this )),
75+ htmlPreviewStylesGroup(0 ),
76+ presentationStylesGroup(0 ),
7577 zoomInAction(0 ),
7678 zoomOutAction(0 ),
7779 zoomResetAction(0 ),
@@ -500,6 +502,7 @@ void MainWindow::styleBuiltinStyle()
500502 QAction *action = qobject_cast<QAction*>(sender ());
501503 Style style = styles->style (action->data ().toString ());
502504 generator->setCodeHighlightingStyle (styles->pathForCodeHighlighting (style));
505+ generator->setPreviewStyleSheet (styles->pathForPreviewStylesheet (style));
503506
504507 ui->plainTextEdit ->loadStyleFromStylesheet (styles->pathForMarkdownHighlighting (style));
505508 ui->webView ->page ()->settings ()->setUserStyleSheetUrl (QUrl (styles->pathForPreviewStylesheet (style)));
@@ -671,7 +674,7 @@ void MainWindow::helpAbout()
671674void MainWindow::styleContextMenu (const QPoint &pos)
672675{
673676 QMenu *menu = new QMenu ();
674- menu->addActions (stylesGroup ->actions ());
677+ menu->addActions (htmlPreviewStylesGroup ->actions ());
675678
676679 menu->exec (styleLabel->mapToGlobal (pos));
677680}
@@ -877,9 +880,11 @@ void MainWindow::markdownConverterChanged()
877880 viewSynchronizer = new HtmlViewSynchronizer (ui->webView , ui->plainTextEdit );
878881 connect (generator, SIGNAL (htmlResultReady (QString)),
879882 viewSynchronizer, SLOT (rememberScrollBarPos ()));
883+ loadBuiltinStyles ();
880884 break ;
881885 case Options::RevealMarkdownConverter:
882886 viewSynchronizer = new RevealViewSynchronizer (ui->webView , ui->plainTextEdit );
887+ setupPresentationStyles ();
883888 break ;
884889 default :
885890 viewSynchronizer = 0 ;
@@ -1195,17 +1200,40 @@ void MainWindow::updateSplitter()
11951200 ui->splitter ->setSizes (childSizes);
11961201}
11971202
1203+ void MainWindow::setupPresentationStyles ()
1204+ {
1205+ ui->menuStyles ->clear ();
1206+
1207+ // put style actions in a group
1208+ delete presentationStylesGroup;
1209+ presentationStylesGroup = new QActionGroup (this );
1210+
1211+ int key = 1 ;
1212+ foreach (const QString &styleName, styles->presentationStyleNames ()) {
1213+ QAction *action = ui->menuStyles ->addAction (styleName);
1214+ action->setShortcut (QKeySequence (tr (" Ctrl+%1" ).arg (key++)));
1215+ action->setCheckable (true );
1216+ action->setActionGroup (presentationStylesGroup);
1217+ action->setData (styleName);
1218+ connect (action, SIGNAL (triggered ()),
1219+ this , SLOT (styleBuiltinStyle ()));
1220+ }
1221+ }
1222+
11981223void MainWindow::loadBuiltinStyles ()
11991224{
1225+ ui->menuStyles ->clear ();
1226+
12001227 // put style actions in a group
1201- stylesGroup = new QActionGroup (this );
1228+ delete htmlPreviewStylesGroup;
1229+ htmlPreviewStylesGroup = new QActionGroup (this );
12021230
12031231 int key = 1 ;
1204- foreach (const QString &styleName, styles->styleNames ()) {
1232+ foreach (const QString &styleName, styles->htmlPreviewStyleNames ()) {
12051233 QAction *action = ui->menuStyles ->addAction (styleName);
12061234 action->setShortcut (QKeySequence (tr (" Ctrl+%1" ).arg (key++)));
12071235 action->setCheckable (true );
1208- action->setActionGroup (stylesGroup );
1236+ action->setActionGroup (htmlPreviewStylesGroup );
12091237 action->setData (styleName);
12101238 connect (action, SIGNAL (triggered ()),
12111239 this , SLOT (styleBuiltinStyle ()));
@@ -1229,7 +1257,7 @@ void MainWindow::loadCustomStyles()
12291257 QString fileName = it.fileName ();
12301258 QAction *action = ui->menuStyles ->addAction (QFileInfo (fileName).baseName ());
12311259 action->setCheckable (true );
1232- action->setActionGroup (stylesGroup );
1260+ action->setActionGroup (htmlPreviewStylesGroup );
12331261 action->setData (it.filePath ());
12341262
12351263 connect (action, SIGNAL (triggered ()),
0 commit comments