summaryrefslogtreecommitdiff
path: root/dialogs
diff options
context:
space:
mode:
Diffstat (limited to 'dialogs')
-rw-r--r--dialogs/token.cpp34
-rw-r--r--dialogs/token.hpp19
2 files changed, 53 insertions, 0 deletions
diff --git a/dialogs/token.cpp b/dialogs/token.cpp
new file mode 100644
index 0000000..ca016a0
--- /dev/null
+++ b/dialogs/token.cpp
@@ -0,0 +1,34 @@
+#include "token.hpp"
+
+TokenDialog::TokenDialog(Gtk::Window &parent)
+ : Gtk::Dialog("Set Token", parent, true)
+ , m_layout(Gtk::ORIENTATION_VERTICAL)
+ , m_bbox(Gtk::ORIENTATION_HORIZONTAL)
+ , m_ok("OK")
+ , m_cancel("Cancel") {
+ set_default_size(300, 50);
+
+ m_ok.signal_clicked().connect([&]() {
+ m_token = m_entry.get_text();
+ response(Gtk::RESPONSE_OK);
+ });
+
+ m_cancel.signal_clicked().connect([&]() {
+ response(Gtk::RESPONSE_CANCEL);
+ });
+
+ m_bbox.pack_start(m_ok, Gtk::PACK_SHRINK);
+ m_bbox.pack_start(m_cancel, Gtk::PACK_SHRINK);
+ m_bbox.set_layout(Gtk::BUTTONBOX_END);
+
+ m_entry.set_hexpand(true);
+ m_layout.add(m_entry);
+ m_layout.add(m_bbox);
+ get_content_area()->add(m_layout);
+
+ show_all_children();
+}
+
+std::string TokenDialog::GetToken() {
+ return m_token;
+}
diff --git a/dialogs/token.hpp b/dialogs/token.hpp
new file mode 100644
index 0000000..7778bfb
--- /dev/null
+++ b/dialogs/token.hpp
@@ -0,0 +1,19 @@
+#pragma once
+#include <gtkmm.h>
+#include <string>
+
+class TokenDialog : public Gtk::Dialog {
+public:
+ TokenDialog(Gtk::Window &parent);
+ std::string GetToken();
+
+protected:
+ Gtk::Box m_layout;
+ Gtk::Button m_ok;
+ Gtk::Button m_cancel;
+ Gtk::ButtonBox m_bbox;
+ Gtk::Entry m_entry;
+
+private:
+ std::string m_token;
+};