diff --git a/custom_widgets/yacreader_library_item_widget.cpp b/custom_widgets/yacreader_library_item_widget.cpp
index f1f9358d..a4b40407 100644
--- a/custom_widgets/yacreader_library_item_widget.cpp
+++ b/custom_widgets/yacreader_library_item_widget.cpp
@@ -26,6 +26,7 @@ YACReaderLibraryItemWidget::YACReaderLibraryItemWidget(QString n/*ame*/, QString
 	options->setFixedWidth(18);
 	options->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Minimum);
 	options->setStyleSheet("QToolButton {border:none;}");
+	connect(options,SIGNAL(pressed()),this,SIGNAL(showOptions()));
 	/*up = new QToolButton(this);
 	up->setIcon(QIcon(":/images/libraryUp.png"));
 	up->setHidden(true);
diff --git a/custom_widgets/yacreader_library_item_widget.h b/custom_widgets/yacreader_library_item_widget.h
index eee15a13..72e37530 100644
--- a/custom_widgets/yacreader_library_item_widget.h
+++ b/custom_widgets/yacreader_library_item_widget.h
@@ -19,6 +19,7 @@ public:
 
 signals:
     void selected(QString,QString);
+	void showOptions();
 public slots:
 	void showUpDownButtons(bool show);
 	
diff --git a/custom_widgets/yacreader_library_list_widget.cpp b/custom_widgets/yacreader_library_list_widget.cpp
index 2ad0f7ed..8aa233cc 100644
--- a/custom_widgets/yacreader_library_list_widget.cpp
+++ b/custom_widgets/yacreader_library_list_widget.cpp
@@ -3,6 +3,7 @@
 #include "yacreader_library_item_widget.h"
 #include <QVBoxLayout>
 #include <QMouseEvent>
+#include <QMenu>
 
 YACReaderLibraryListWidget::YACReaderLibraryListWidget(QWidget *parent) :
     QWidget(parent),currentLibraryIndex(0)
@@ -19,6 +20,7 @@ void YACReaderLibraryListWidget::addItem(QString name, QString path)
 	QVBoxLayout * mainLayout = dynamic_cast<QVBoxLayout *>(layout());
 
 	YACReaderLibraryItemWidget * library = new YACReaderLibraryItemWidget(name,path,this);
+	connect(library,SIGNAL(showOptions()),this,SLOT(showContextMenu()));
 	librariesList.append(library);
 
 	connect(library,SIGNAL(selected(QString,QString)),this,SIGNAL(librarySelected(QString,QString)));
@@ -82,7 +84,6 @@ void YACReaderLibraryListWidget::mousePressEvent ( QMouseEvent * event )
 		//deselectAllBut(item);
 		setCurrentIndex(item);
 		emit currentIndexChanged(librariesList.at(item)->name);
-
 	}
 	
 }
@@ -94,4 +95,10 @@ void YACReaderLibraryListWidget::deselectAllBut(int index)
 		if(i!=index)
 			librariesList.at(i)->deselect();
 	}
+}
+
+void YACReaderLibraryListWidget::showContextMenu()
+{
+	YACReaderLibraryItemWidget * itemWidget = librariesList.at(currentLibraryIndex);
+	QMenu::exec(actions(),itemWidget->mapToGlobal(QPoint(itemWidget->width()-8,itemWidget->height()/2)));
 }
\ No newline at end of file
diff --git a/custom_widgets/yacreader_library_list_widget.h b/custom_widgets/yacreader_library_list_widget.h
index 550cc8c5..2347488d 100644
--- a/custom_widgets/yacreader_library_list_widget.h
+++ b/custom_widgets/yacreader_library_list_widget.h
@@ -22,6 +22,7 @@ public slots:
 	void addItem(QString name, QString path);
 	int currentIndex();
 	void removeItem(int index);
+	void showContextMenu();
 protected:
 	void mousePressEvent ( QMouseEvent * event );
 private: