[Bf-blender-cvs] [30647c0] HMD_viewport: Custom title for HMD window ("Blender HMD View")
Julian Eisel
noreply at git.blender.org
Wed Mar 16 16:53:12 CET 2016
Commit: 30647c0d5c285985c7c91d0293aba3c7b3e442de
Author: Julian Eisel
Date: Fri Mar 11 17:03:45 2016 +0100
Branches: HMD_viewport
https://developer.blender.org/rB30647c0d5c285985c7c91d0293aba3c7b3e442de
Custom title for HMD window ("Blender HMD View")
===================================================================
M source/blender/windowmanager/intern/wm_event_system.c
M source/blender/windowmanager/intern/wm_operators.c
M source/blender/windowmanager/intern/wm_window.c
M source/blender/windowmanager/wm_window.h
===================================================================
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 09cc171..ee3fd21 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -288,10 +288,10 @@ void wm_event_do_notifiers(bContext *C)
if (note->category == NC_WM) {
if (ELEM(note->data, ND_FILEREAD, ND_FILESAVE)) {
wm->file_saved = 1;
- wm_window_title(wm, win);
+ wm_window_title(wm, win, NULL);
}
else if (note->data == ND_DATACHANGED)
- wm_window_title(wm, win);
+ wm_window_title(wm, win, NULL);
}
if (note->window == win) {
if (note->category == NC_SCREEN) {
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index 655e4ed..b8fe153 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -5119,7 +5119,10 @@ static int wm_hmd_view_open_invoke(bContext *C, wmOperator *UNUSED(op), const wm
BLI_assert(0);
return (OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH);
}
+
wm->win_hmd = win;
+ wm_window_title(wm, win, "Blender HMD View");
+
wmWindow *prevwin = CTX_wm_window(C);
ScrArea *prevsa = CTX_wm_area(C);
ARegion *prevar = CTX_wm_region(C);
diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c
index 13148a5..fb2a8e8 100644
--- a/source/blender/windowmanager/intern/wm_window.c
+++ b/source/blender/windowmanager/intern/wm_window.c
@@ -347,15 +347,21 @@ void wm_window_close(bContext *C, wmWindowManager *wm, wmWindow *win)
}
}
-void wm_window_title(wmWindowManager *wm, wmWindow *win)
+/**
+ * Set window title to \a title if it's non-NULL, else to autogenerated string.
+ */
+void wm_window_title(wmWindowManager *wm, wmWindow *win, const char *title)
{
if (win->screen && win->screen->temp) {
/* nothing to do for 'temp' windows,
* because WM_window_open_temp always sets window title */
}
else if (win->ghostwin) {
+ if (title) {
+ GHOST_SetTitle(win->ghostwin, title);
+ }
/* this is set to 1 if you don't have startup.blend open */
- if (G.save_over && G.main->name[0]) {
+ else if (G.save_over && G.main->name[0]) {
char str[sizeof(G.main->name) + 24];
BLI_snprintf(str, sizeof(str), "Blender%s [%s%s]", wm->file_saved ? "" : "*", G.main->name,
G.main->recovered ? " (Recovered)" : "");
@@ -557,7 +563,7 @@ void wm_window_ghostwindows_ensure(wmWindowManager *wm)
ListBase *lb = WM_dropboxmap_find("Window", 0, 0);
WM_event_add_dropbox_handler(&win->handlers, lb);
}
- wm_window_title(wm, win);
+ wm_window_title(wm, win, NULL);
}
}
diff --git a/source/blender/windowmanager/wm_window.h b/source/blender/windowmanager/wm_window.h
index c106f9d..a91af0e 100644
--- a/source/blender/windowmanager/wm_window.h
+++ b/source/blender/windowmanager/wm_window.h
@@ -47,7 +47,7 @@ wmWindow *wm_window_copy_test (bContext *C, wmWindow *win_src);
void wm_window_free (bContext *C, wmWindowManager *wm, wmWindow *win);
void wm_window_close (bContext *C, wmWindowManager *wm, wmWindow *win);
-void wm_window_title (wmWindowManager *wm, wmWindow *win);
+void wm_window_title (wmWindowManager *wm, wmWindow *win, const char *title);
void wm_window_ghostwindows_ensure(wmWindowManager *wm);
void wm_window_ghostwindows_remove_invalid(bContext *C, wmWindowManager *wm);
void wm_window_process_events (const bContext *C);
More information about the Bf-blender-cvs
mailing list