aboutsummaryrefslogtreecommitdiff
path: root/gui/widgets
diff options
context:
space:
mode:
authorChatziargyriou Eleftheria2018-08-18 09:37:59 +0300
committerThierry Crozat2018-08-22 00:39:51 +0100
commit4188ba12523dd625725769ee4e830760ccec36a6 (patch)
tree70ef015f25348cd588a906f9541a8678eb85d56e /gui/widgets
parent37c0342b32dbbdb7712e8e78fd959cfbb0331af2 (diff)
downloadscummvm-rg350-4188ba12523dd625725769ee4e830760ccec36a6.tar.gz
scummvm-rg350-4188ba12523dd625725769ee4e830760ccec36a6.tar.bz2
scummvm-rg350-4188ba12523dd625725769ee4e830760ccec36a6.zip
GUI: Add editable path in file browser dialog
Diffstat (limited to 'gui/widgets')
-rw-r--r--gui/widgets/edittext.cpp7
-rw-r--r--gui/widgets/edittext.h6
2 files changed, 12 insertions, 1 deletions
diff --git a/gui/widgets/edittext.cpp b/gui/widgets/edittext.cpp
index b0e68985d1..540dc27932 100644
--- a/gui/widgets/edittext.cpp
+++ b/gui/widgets/edittext.cpp
@@ -64,7 +64,6 @@ void EditTextWidget::reflowLayout() {
EditableWidget::reflowLayout();
}
-
void EditTextWidget::handleMouseDown(int x, int y, int button, int clickCount) {
if (!isEnabled())
return;
@@ -133,13 +132,19 @@ void EditTextWidget::startEditMode() {
void EditTextWidget::endEditMode() {
releaseFocus();
+ sendCommand(kExitTxtCmd, 0);
sendCommand(_finishCmd, 0);
}
void EditTextWidget::abortEditMode() {
setEditString(_backupString);
sendCommand(_cmd, 0);
+
releaseFocus();
}
+Common::String EditTextWidget::getEditString() {
+ return _backupString;
+}
+
} // End of namespace GUI
diff --git a/gui/widgets/edittext.h b/gui/widgets/edittext.h
index 7376ae70ff..d382c8f067 100644
--- a/gui/widgets/edittext.h
+++ b/gui/widgets/edittext.h
@@ -25,9 +25,14 @@
#include "gui/widgets/editable.h"
#include "common/str.h"
+#include "gui/dialog.h"
namespace GUI {
+enum {
+ kExitTxtCmd = 'TXTE'
+};
+
/* EditTextWidget */
class EditTextWidget : public EditableWidget {
protected:
@@ -43,6 +48,7 @@ public:
EditTextWidget(GuiObject *boss, const String &name, const String &text, const char *tooltp = 0, uint32 cmd = 0, uint32 finishCmd = 0);
void setEditString(const String &str);
+ String getEditString();
virtual void handleMouseDown(int x, int y, int button, int clickCount);