diff options
author | Bent Bisballe Nyeng <deva@aasimon.org> | 2013-03-10 13:41:10 +0100 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2013-03-10 13:41:10 +0100 |
commit | 275780d3edd1772537822b607cc60875cc9f98f6 (patch) | |
tree | 51717c424ccabd1b9c18b48e9c2e53374748e6fd | |
parent | 96c3915adeb68d1dd913d38431540eb52d43ff74 (diff) |
Add cancel button to filebrowser.
-rw-r--r-- | plugingui/filebrowser.cc | 26 | ||||
-rw-r--r-- | plugingui/filebrowser.h | 3 |
2 files changed, 22 insertions, 7 deletions
diff --git a/plugingui/filebrowser.cc b/plugingui/filebrowser.cc index 127c7f2..36df6ac 100644 --- a/plugingui/filebrowser.cc +++ b/plugingui/filebrowser.cc @@ -45,7 +45,13 @@ struct GUI::FileBrowser::private_data { void *ptr; }; -void changeDir(void *ptr) +static void cancel(void *ptr) +{ + GUI::FileBrowser *fp = (GUI::FileBrowser *)ptr; + fp->hide(); +} + +static void changeDir(void *ptr) { struct GUI::FileBrowser::private_data *prv = (struct GUI::FileBrowser::private_data *)ptr; @@ -110,9 +116,13 @@ GUI::FileBrowser::FileBrowser(GUI::Widget *parent) prv->listbox = listbox; listbox->registerDblClickHandler(changeDir, prv); - btn = new GUI::Button(this); - btn->setText("Select"); - btn->registerClickHandler(changeDir, prv); + btn_sel = new GUI::Button(this); + btn_sel->setText("Select"); + btn_sel->registerClickHandler(changeDir, prv); + + btn_esc = new GUI::Button(this); + btn_esc->setText("Cancel"); + btn_esc->registerClickHandler(cancel, this); changeDir(prv); @@ -139,8 +149,12 @@ void GUI::FileBrowser::resize(size_t w, size_t h) listbox->move(brd, brd); listbox->resize(w - 1 - 2*brd, h - btn_h - 3*brd); - btn->move(brd, h - btn_h - brd); - btn->resize(w - 1 - 2*brd, btn_h); + + btn_esc->move(brd, h - btn_h - brd); + btn_esc->resize((w - 1 - 2*brd) / 2, btn_h); + + btn_sel->move(brd + w / 2, h - btn_h - brd); + btn_sel->resize((w - 1 - 2*brd) / 2, btn_h); } diff --git a/plugingui/filebrowser.h b/plugingui/filebrowser.h index e745e7e..011c9d7 100644 --- a/plugingui/filebrowser.h +++ b/plugingui/filebrowser.h @@ -56,7 +56,8 @@ private: struct private_data *prv; GUI::ListBox *listbox; - GUI::Button *btn; + GUI::Button *btn_sel; + GUI::Button *btn_esc; }; }; |