Implement is_app_showing_modal_window()
Also do some cleanup in private headers, I can't imagine why the build libraries would need this function. Change-Id: Ib08810b6efe4738dad596a735d741582a3781b28 Reviewed-on: https://review.haiku-os.org/c/1670 Reviewed-by: Ryan Leavengood <[email protected]>
This commit is contained in:
committed by
waddlesplash
parent
4534d86d21
commit
2846db2e99
@@ -1,28 +1,11 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (c) 2001-2002, OpenBeOS
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the "Software"),
|
||||
// to deal in the Software without restriction, including without limitation
|
||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
// and/or sell copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
// DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
// File Name: AppMisc.h
|
||||
// Author: Ingo Weinhold ([email protected])
|
||||
// Description: Miscellaneous private functionality.
|
||||
//------------------------------------------------------------------------------
|
||||
/*
|
||||
* Copyright 2001-2019 Haiku, Inc. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* Ingo Weinhold, [email protected]
|
||||
* Jacob Secunda
|
||||
*/
|
||||
|
||||
#ifndef _APP_MISC_H
|
||||
#define _APP_MISC_H
|
||||
@@ -45,8 +28,6 @@ thread_id main_thread_for(team_id team);
|
||||
|
||||
bool is_running_on_haiku();
|
||||
|
||||
bool is_app_showing_modal_window(team_id team);
|
||||
|
||||
} // namespace BPrivate
|
||||
|
||||
// _get_object_token_
|
||||
|
||||
@@ -1,28 +1,11 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (c) 2001-2002, OpenBeOS
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||
// copy of this software and associated documentation files (the "Software"),
|
||||
// to deal in the Software without restriction, including without limitation
|
||||
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
// and/or sell copies of the Software, and to permit persons to whom the
|
||||
// Software is furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
// DEALINGS IN THE SOFTWARE.
|
||||
//
|
||||
// File Name: AppMisc.cpp
|
||||
// Author: Ingo Weinhold ([email protected])
|
||||
// Description: Miscellaneous private functionality.
|
||||
//------------------------------------------------------------------------------
|
||||
/*
|
||||
* Copyright 2001-2019 Haiku, Inc. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* Ingo Weinhold, [email protected]
|
||||
* Jacob Secunda
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
#include <sys/utsname.h>
|
||||
@@ -71,19 +54,5 @@ is_running_on_haiku()
|
||||
return (uname(&info) == 0 && strcmp(info.sysname, "Haiku") == 0);
|
||||
}
|
||||
|
||||
// is_app_showing_modal_window
|
||||
/*! \brief Returns whether the application identified by the supplied
|
||||
\c team_id is currently showing a modal window.
|
||||
\param team the ID of the application in question.
|
||||
\return \c true, if the application is showing a modal window, \c false
|
||||
otherwise.
|
||||
*/
|
||||
bool
|
||||
is_app_showing_modal_window(team_id team)
|
||||
{
|
||||
// TODO: Implement!
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace BPrivate
|
||||
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
/*
|
||||
* Copyright 2001-2015, Haiku, Inc.
|
||||
* Copyright 2001-2019, Haiku, Inc.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* Axel Dörfler, [email protected]
|
||||
* Ingo Weinhold, bonefish@@users.sf.net
|
||||
* Jacob Secunda
|
||||
*/
|
||||
|
||||
|
||||
@@ -19,9 +20,12 @@
|
||||
#include <image.h>
|
||||
#include <Messenger.h>
|
||||
#include <OS.h>
|
||||
#include <Window.h>
|
||||
|
||||
#include <AutoDeleter.h>
|
||||
#include <ServerLink.h>
|
||||
#include <ServerProtocol.h>
|
||||
#include <WindowInfo.h>
|
||||
|
||||
|
||||
namespace BPrivate {
|
||||
@@ -171,8 +175,30 @@ main_thread_for(team_id team)
|
||||
bool
|
||||
is_app_showing_modal_window(team_id team)
|
||||
{
|
||||
// TODO: Implement!
|
||||
return true;
|
||||
int32 tokenCount;
|
||||
int32* tokens = get_token_list(team, &tokenCount);
|
||||
|
||||
if (tokens != NULL) {
|
||||
MemoryDeleter tokenDeleter(tokens);
|
||||
|
||||
for (int32 index = 0; index < tokenCount; index++) {
|
||||
client_window_info* matchWindowInfo = get_window_info(tokens[index]);
|
||||
if (matchWindowInfo == NULL) {
|
||||
// That window probably closed. Just go to the next one.
|
||||
continue;
|
||||
}
|
||||
|
||||
window_feel theFeel = (window_feel)matchWindowInfo->feel;
|
||||
free(matchWindowInfo);
|
||||
|
||||
if (theFeel == B_MODAL_SUBSET_WINDOW_FEEL
|
||||
|| theFeel == B_MODAL_APP_WINDOW_FEEL
|
||||
|| theFeel == B_MODAL_ALL_WINDOW_FEEL)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user