Index: scribus/scribus.cpp
===================================================================
--- scribus/scribus.cpp	(révision 19097)
+++ scribus/scribus.cpp	(copie de travail)
@@ -10896,3 +10896,68 @@
 	doc->allItems_ChangePreviewResolution(index);
 	doc->view()->DrawNew();
 }
+
+bool ScribusMainWindow::stylesShortcutKeyEvent(const QKeyEvent* k) 
+{
+	int keyCode =0;
+	if (k->modifiers() & Qt::ShiftModifier)
+		keyCode |= Qt::SHIFT;
+	if (k->modifiers() & Qt::ControlModifier)
+		keyCode |= Qt::CTRL;
+	if (k->modifiers() & Qt::AltModifier)
+		keyCode |= Qt::ALT;
+	keyCode|=k->key();
+
+	QKeySequence key = QKeySequence(keyCode);
+	QString shortcut = key.toString();
+	if (shortcut.isEmpty())
+		return false;
+	//check if shortcut is used by setyles
+	for (int ff = 0; ff < doc->paragraphStyles().count(); ++ff)
+	{
+		if (doc->paragraphStyles()[ff].shortcut() == shortcut)
+		{
+			QString name = doc->paragraphStyles()[ff].name();
+			doc->itemSelection_SetNamedParagraphStyle(name);
+			return true;
+		}
+	}
+	for (int ff = 0; ff < doc->charStyles().count(); ++ff)
+	{
+		if (doc->charStyles()[ff].shortcut() == shortcut)
+		{
+			QString name = doc->charStyles()[ff].name();
+			doc->itemSelection_SetNamedCharStyle(name.isEmpty()? Style::INHERIT_PARENT : name);
+			return true;
+		}
+	}
+	for (QHash<QString,multiLine>::Iterator itMU = doc->MLineStyles.begin(); itMU != doc->MLineStyles.end(); ++itMU)
+	{
+		if (itMU.value().shortcut == shortcut)
+		{
+			QString name = itMU.key();
+			doc->itemSelection_SetNamedLineStyle(name.isEmpty()? Style::INHERIT_PARENT : name);
+			return true;
+		}
+	}
+	for (int ff = 0; ff < doc->tableStyles().count(); ++ff)
+	{
+		if (doc->tableStyles()[ff].shortcut() == shortcut)
+		{
+			QString name = doc->tableStyles()[ff].name();
+			doc->itemSelection_SetNamedTableStyle(name.isEmpty()? Style::INHERIT_PARENT : name);
+			return true;
+		}
+	}
+	for (int ff = 0; ff < doc->cellStyles().count(); ++ff)
+	{
+		if (doc->cellStyles()[ff].shortcut() == shortcut)
+		{
+			QString name = doc->cellStyles()[ff].name();
+			doc->itemSelection_SetNamedCellStyle(name.isEmpty()? Style::INHERIT_PARENT : name);
+			return true;
+		}
+	}
+	return false;
+}
+
Index: scribus/scribus.h
===================================================================
--- scribus/scribus.h	(révision 19097)
+++ scribus/scribus.h	(copie de travail)
@@ -673,6 +673,10 @@
 	bool m_pagePalVisible;
 
 	QQuickView *qqview;
+
+public:												
+	//for styles shortcuts							
+	bool stylesShortcutKeyEvent(const QKeyEvent*);	
 };
 
 #endif
Index: scribus/scribusdoc.cpp
===================================================================
--- scribus/scribusdoc.cpp	(révision 19097)
+++ scribus/scribusdoc.cpp	(copie de travail)
@@ -7992,6 +7992,13 @@
 	}
 }
 
+//FIX ME - please implement these method 
+void ScribusDoc::itemSelection_SetNamedTableStyle(const QString &name, Selection* customSelection) 
+{ 
+} 
+void ScribusDoc::itemSelection_SetNamedCellStyle(const QString &name, Selection* customSelection) 
+{ 
+} 
 
 void ScribusDoc::itemSelection_SetItemPen(QString farbe)
 {
Index: scribus/scribusdoc.h
===================================================================
--- scribus/scribusdoc.h	(révision 19097)
+++ scribus/scribusdoc.h	(copie de travail)
@@ -1050,6 +1050,8 @@
 	void itemSelection_SetNamedParagraphStyle(const QString & name, Selection* customSelection=0);
 	void itemSelection_SetNamedCharStyle(const QString & name, Selection* customSelection=0);
 	void itemSelection_SetNamedLineStyle(const QString & name, Selection* customSelection=0);
+	void itemSelection_SetNamedTableStyle(const QString & name, Selection* customSelection=0); 
+	void itemSelection_SetNamedCellStyle(const QString & name, Selection* customSelection=0);  
 
 	void itemSelection_SetSoftShadow(bool has, QString color, double dx, double dy, double radius, int shade, double opac, int blend);
 
Index: scribus/scribusview.cpp
===================================================================
--- scribus/scribusview.cpp	(révision 19097)
+++ scribus/scribusview.cpp	(copie de travail)
@@ -4040,6 +4040,9 @@
 	else if (event->type() == QEvent::KeyPress)
 	{
 		QKeyEvent* m = static_cast<QKeyEvent*> (event);
+		if (m_ScMW->stylesShortcutKeyEvent(m))			
+			return true;								
+
 		if(m->key() == Qt::Key_Shift)
 		{
 			m_oldSnapToElem = Doc->SnapElement;

Index: scribus/ui/stylemanager.cpp
===================================================================
--- scribus/ui/stylemanager.cpp	(révision 19097)
+++ scribus/ui/stylemanager.cpp	(copie de travail)
@@ -1327,7 +1327,7 @@
 	}
 	m_widget = m_item->widget(); // show the widget for the style type
 	//<<#8230: Hide the shortcut page as it does not work
-	//insertShortcutPage(m_widget);
+	insertShortcutPage(m_widget);		
 	//>>
 	m_widget->setParent(mainFrame);
 	m_layout->addWidget(m_widget, 0, 0);
