Properly implement OS.alert() from script, and use xmessage on X11
This commit is contained in:
parent
8f07f24318
commit
ce6fefced8
4 changed files with 20 additions and 1 deletions
|
@ -732,6 +732,11 @@ int _OS::find_scancode_from_string(const String& p_code) const {
|
|||
return find_keycode(p_code);
|
||||
}
|
||||
|
||||
void _OS::alert(const String& p_alert,const String& p_title) {
|
||||
|
||||
OS::get_singleton()->alert(p_alert,p_title);
|
||||
}
|
||||
|
||||
_OS *_OS::singleton=NULL;
|
||||
|
||||
void _OS::_bind_methods() {
|
||||
|
@ -859,6 +864,7 @@ void _OS::_bind_methods() {
|
|||
|
||||
ObjectTypeDB::bind_method(_MD("set_use_file_access_save_and_swap","enabled"),&_OS::set_use_file_access_save_and_swap);
|
||||
|
||||
ObjectTypeDB::bind_method(_MD("alert","text","title"),&_OS::alert,DEFVAL("Alert!"));
|
||||
|
||||
|
||||
BIND_CONSTANT( DAY_SUNDAY );
|
||||
|
|
|
@ -256,6 +256,9 @@ public:
|
|||
|
||||
String get_data_dir() const;
|
||||
|
||||
void alert(const String& p_alert,const String& p_title="ALERT!");
|
||||
|
||||
|
||||
void set_screen_orientation(ScreenOrientation p_orientation);
|
||||
ScreenOrientation get_screen_orientation() const;
|
||||
|
||||
|
|
|
@ -1866,6 +1866,16 @@ void OS_X11::swap_buffers() {
|
|||
context_gl->swap_buffers();
|
||||
}
|
||||
|
||||
void OS_X11::alert(const String& p_alert,const String& p_title) {
|
||||
|
||||
List<String> args;
|
||||
args.push_back("-center");
|
||||
args.push_back("-title");
|
||||
args.push_back(p_title);
|
||||
args.push_back(p_alert);
|
||||
|
||||
execute("/usr/bin/xmessage",args,true);
|
||||
}
|
||||
|
||||
void OS_X11::set_icon(const Image& p_icon) {
|
||||
if (!p_icon.empty()) {
|
||||
|
|
|
@ -243,7 +243,7 @@ public:
|
|||
virtual bool is_window_maximized() const;
|
||||
|
||||
virtual void move_window_to_foreground();
|
||||
|
||||
virtual void alert(const String& p_alert,const String& p_title="ALERT!");
|
||||
void run();
|
||||
|
||||
OS_X11();
|
||||
|
|
Loading…
Reference in a new issue