 
Index: scribus/scribusdoc.cpp
===================================================================
--- scribus/scribusdoc.cpp	(wersja 16859)
+++ scribus/scribusdoc.cpp	(kopia robocza)
@@ -6564,8 +6564,13 @@
 		changed();
 	}
 }
+void ScribusDoc::itemSelection_SetNamedTableStyle(const QString &name, Selection* customSelection)
+{
+}
+void ScribusDoc::itemSelection_SetNamedCellStyle(const QString &name, Selection* customSelection)
+{
+}
 
-
 void ScribusDoc::itemSelection_SetItemPen(QString farbe)
 {
 	uint selectedItemCount=m_Selection->count();
@@ -14268,3 +14273,71 @@
 	}
 }
 
+bool ScribusDoc::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();
+	
+	//check if shortcut is used by setyles
+	for (int ff = 0; ff < paragraphStyles().count(); ++ff)
+	{
+		if (paragraphStyles()[ff].shortcut() == shortcut)
+		{
+			QString name = paragraphStyles()[ff].name();
+			itemSelection_SetNamedParagraphStyle(name);
+//			ParagraphStyle newStyle;
+//			newStyle.setParent(name.isEmpty()? Style::INHERIT_PARENT : name);
+//			itemSelection_ApplyParagraphStyle(newStyle, m_Selection, true);
+			return true;
+		}
+	}
+	for (int ff = 0; ff < charStyles().count(); ++ff)
+	{
+		if (charStyles()[ff].shortcut() == shortcut)
+		{
+			QString name = charStyles()[ff].name();
+			itemSelection_SetNamedCharStyle(name.isEmpty()? Style::INHERIT_PARENT : name);
+//			CharStyle newStyle;
+//			newStyle.setParent(name.isEmpty()? Style::INHERIT_PARENT : name);
+//			itemSelection_ApplyCharStyle(charStyles()[ff]);
+			return true;
+		}
+	}
+	for (QMap<QString,multiLine>::Iterator itMU = MLineStyles.begin(); itMU != MLineStyles.end(); ++itMU)
+	{
+		if (itMU.value().shortcut == shortcut)
+		{
+			QString name = itMU.key();
+			itemSelection_SetNamedLineStyle(name.isEmpty()? Style::INHERIT_PARENT : name);
+			return true;
+		}
+	}
+	for (int ff = 0; ff < tableStyles().count(); ++ff)
+	{
+		if (tableStyles()[ff].shortcut() == shortcut)
+		{
+			QString name = tableStyles()[ff].name();
+			itemSelection_SetNamedTableStyle(name.isEmpty()? Style::INHERIT_PARENT : name);
+			return true;
+		}
+	}
+	for (int ff = 0; ff < cellStyles().count(); ++ff)
+	{
+		if (cellStyles()[ff].shortcut() == shortcut)
+		{
+			QString name = cellStyles()[ff].name();
+			itemSelection_SetNamedCellStyle(name.isEmpty()? Style::INHERIT_PARENT : name);
+			return true;
+		}
+	}
+	return false;
+}
Index: scribus/scribusdoc.h
===================================================================
--- scribus/scribusdoc.h	(wersja 16859)
+++ scribus/scribusdoc.h	(kopia robocza)
@@ -520,7 +520,6 @@
 	bool isDefaultStyle( const ParagraphStyle& p ) const { return docParagraphStyles.isDefault(p); }
 	bool isDefaultStyle( const CharStyle& c ) const { return docCharStyles.isDefault(c); }
 // 	bool isDefaultStyle( LineStyle& l ) const { return MLineStyles......; }
-
 	/**
 	 * Returns the table style named @a name.
 	 */
@@ -996,6 +995,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_SetLineWidth(double w);
 	void itemSelection_SetLineArt(Qt::PenStyle w);
@@ -1529,6 +1530,10 @@
 	void updatePict(QString name);
 	void updatePictDir(QString name);
 	void removePict(QString name);
+
+//for styles shortcuts
+public:
+	bool stylesShortcutKeyEvent(const QKeyEvent*);
 };
 
 Q_DECLARE_METATYPE(ScribusDoc*);
Index: scribus/scribusview.cpp
===================================================================
--- scribus/scribusview.cpp	(wersja 16859)
+++ scribus/scribusview.cpp	(kopia robocza)
@@ -4214,6 +4214,8 @@
 	else if (event->type() == QEvent::KeyPress)
 	{
 		QKeyEvent* m = static_cast<QKeyEvent*> (event);
+		if (Doc->stylesShortcutKeyEvent(m))
+			return true;
 		if (m_canvasMode->handleKeyEvents())
 			m_canvasMode->keyPressEvent(m);
 		else
Index: scribus/ui/stylemanager.cpp
===================================================================
--- scribus/ui/stylemanager.cpp	(wersja 16859)
+++ scribus/ui/stylemanager.cpp	(kopia robocza)
@@ -1318,7 +1318,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);
