Skip to content
Snippets Groups Projects
Commit 9a181729 authored by deuce's avatar deuce
Browse files

Change window stacking method.

parent e54b48f1
Branches
Tags
No related merge requests found
......@@ -49,6 +49,7 @@ static bool html_thread_running=false;
enum html_window_state {
HTML_WIN_STATE_RAISED
,HTML_WIN_STATE_LOWERED
,HTML_WIN_STATE_ICONIZED
,HTML_WIN_STATE_HIDDEN
};
......@@ -178,6 +179,13 @@ void MyHTML::OnState(wxCommandEvent &event)
htmlWindow->Raise();
htmlWindow->SetFocus();
break;
case HTML_WIN_STATE_LOWERED:
if(!frame->IsShown())
frame->Show();
if(frame->IsIconized())
frame->Iconize(false);
frame->Lower();
break;
case HTML_WIN_STATE_ICONIZED:
if(!frame->IsShown())
frame->Show();
......@@ -252,7 +260,7 @@ bool MyApp::OnInit()
, wxT("SyncTERM HTML")
, wxPoint(window_xpos,window_ypos)
, wxSize(window_width,window_height)
, wxCLOSE_BOX | wxMINIMIZE_BOX | wxCAPTION | wxCLIP_CHILDREN
, wxMINIMIZE_BOX | /* wxMAXIMIZE_BOX */ | wxRESIZE_BORDER | /* wxSYSTEM_MENU */ | wxCAPTION | wxCLOSE_BOX | /* wxCLIP_CHILDREN */
);
htmlWindow = new MyHTML(frame, HTML_ID);
htmlWindow->SetRelatedFrame(frame,wxT("SyncTERM HTML : %s"));
......@@ -260,8 +268,6 @@ bool MyApp::OnInit()
wxInitAllImageHandlers();
frame->Show();
SetTopWindow( frame );
while(wxTheApp->Pending())
wxTheApp->Dispatch();
sem_post(&appstarted);
return true;
}
......@@ -330,6 +336,13 @@ extern "C" {
sem_wait(&state_changed);
}
void lower_html(void)
{
html_window_requested_state=HTML_WIN_STATE_LOWERED;
send_html_event(state_event);
sem_wait(&state_changed);
}
void html_commit(void)
{
pthread_mutex_lock(&update_mutex);
......
......@@ -15,6 +15,7 @@ int run_html(int width, int height, int xpos, int ypos, void(*callback)(const ch
void hide_html(void);
void iconize_html(void);
void raise_html(void);
void lower_html(void);
void add_html_char(char ch);
void add_html(const char *buf);
void html_commit(void);
......
......@@ -40,7 +40,7 @@ static struct text_info log_ti;
#ifdef WITH_WXWIDGETS
enum html_mode {
HTML_MODE_HIDDEN
,HTML_MODE_ICONIZED
,HTML_MODE_LOWERED
,HTML_MODE_RAISED
,HTML_MODE_READING
};
......@@ -1326,8 +1326,10 @@ BOOL doterm(struct bbslist *bbs)
else
html_supported=HTML_NOTSUPPORTED;
}
if(html_supported==HTML_SUPPORTED)
if(html_supported==HTML_SUPPORTED) {
conn_send(htmlresponse, sizeof(htmlresponse)-1, 0);
hide_html();
}
}
else {
show_html("");
......@@ -1384,8 +1386,8 @@ BOOL doterm(struct bbslist *bbs)
#ifdef WITH_WXWIDGETS
if(html_mode==HTML_MODE_RAISED) {
if(html_startx!=wherex() || html_starty!=wherey()) {
iconize_html();
html_mode=HTML_MODE_ICONIZED;
lower_html();
html_mode=HTML_MODE_LOWERED;
}
}
#endif
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment