diff options
| author | Manolo Gouy <Manolo> | 2011-05-15 12:34:31 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2011-05-15 12:34:31 +0000 |
| commit | a64c0dc9f3fef9ccf4406d4726cd662a74c8be00 (patch) | |
| tree | a39a934c77af666300706401308837ac56758c19 /src | |
| parent | 9e1a7079c38496eb4e291769bcc269e1bebd19e9 (diff) | |
Mac OS: implemented the effect of the 2nd arg of Fl_Window::label(label, iconlabel) - continued.
Now works also if called before the window is shown().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8665 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl_cocoa.mm | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm index 3715657ce..762c8c80a 100644 --- a/src/Fl_cocoa.mm +++ b/src/Fl_cocoa.mm @@ -1555,7 +1555,7 @@ int Fl_X::fake_X_wm(const Fl_Window* w,int &X,int &Y, int &bt,int &bx, int &by) Fl_Window *fl_dnd_target_window = 0; -static void q_set_window_title(NSWindow *nsw, const char * name ) { +static void q_set_window_title(NSWindow *nsw, const char * name, const char *mininame) { CFStringRef title = CFStringCreateWithCString(NULL, (name ? name : ""), kCFStringEncodingUTF8); if(!title) { // fallback when name contains malformed UTF-8 int l = strlen(name); @@ -1566,6 +1566,13 @@ static void q_set_window_title(NSWindow *nsw, const char * name ) { } [nsw setTitle:(NSString*)title]; CFRelease(title); + if (mininame && strlen(mininame)) { + CFStringRef minititle = CFStringCreateWithCString(NULL, mininame, kCFStringEncodingUTF8); + if (minititle) { + [nsw setMiniwindowTitle:(NSString*)minititle]; + CFRelease(minititle); + } + } } @@ -2082,9 +2089,7 @@ void Fl_X::make(Fl_Window* w) Fl_Window* w = Fl_X::first->w; while (w->parent()) w = w->window(); // todo: this code does not make any sense! (w!=w??) } - - const char *name = w->label(); - + Fl_X* x = new Fl_X; x->subwindow = false; x->other_xid = 0; // room for doublebuffering image map. On OS X this is only used by overlay windows @@ -2111,7 +2116,7 @@ void Fl_X::make(Fl_Window* w) [cw setContentView:myview]; [cw setLevel:winlevel]; - q_set_window_title(cw, name); + q_set_window_title(cw, w->label(), w->iconlabel()); if (!(w->flags() & Fl_Window::FORCE_POSITION)) { if (w->modal()) { [cw center]; @@ -2216,14 +2221,7 @@ void Fl_Window::label(const char *name, const char *mininame) { iconlabel_ = mininame; if (shown() || i) { NSWindow* nsw = (NSWindow*)i->xid; - q_set_window_title(nsw, name); - if (mininame && strlen(mininame)) { - CFStringRef minititle = CFStringCreateWithCString(NULL, mininame, kCFStringEncodingUTF8); - if (minititle) { - [nsw setMiniwindowTitle:(NSString*)minititle]; - CFRelease(minititle); - } - } + q_set_window_title(nsw, name, mininame); } } |
