diff --git a/ringbutton.cpp b/ringbutton.cpp
index 7d7b56c8bb3eaa8008501d1f654a6765907492d1..6de7a40d28932e2f7025cdf6ea19c90a6356f0d4 100644
--- a/ringbutton.cpp
+++ b/ringbutton.cpp
@@ -36,11 +36,20 @@ RingButton::~RingButton()
 void
 RingButton::setText(const QString& text)
 {
-    ui->button->setText(text);
-    ui->button->resize(ui->button->sizeHint().width(),
-                       ui->button->sizeHint().height());
+    if (! text.isEmpty() && ! text.isNull()) {
+        ui->button->setText(text);
+        ui->button->resize(ui->button->sizeHint().width(),
+                           ui->button->sizeHint().height());
+        path_ = text;
+    }
 }
 
+QString RingButton::text()
+{
+    return path_;
+}
+
+
 void
 RingButton::mousePressEvent(QMouseEvent* event)
 {
diff --git a/ringbutton.h b/ringbutton.h
index 547a6c81e422356466682c9377d864bfc07793e7..cada219214d72b5e5985f6c1c7a9fdfbed2ad630 100644
--- a/ringbutton.h
+++ b/ringbutton.h
@@ -31,12 +31,12 @@ public:
     explicit RingButton(QWidget* parent = 0);
     ~RingButton();
     void setText(const QString& text);
-
-protected:
-    void mousePressEvent(QMouseEvent* event);
+    QString text();
 
 private:
     Ui::RingButton* ui;
+    QString path_ {};
+    void mousePressEvent(QMouseEvent* event);
 
 signals:
     void clicked() const;