Пример #1
0
#include <Catalog.h>
#include <Directory.h>
#include <Entry.h>
#include <FindDirectory.h>
#include <Path.h>
#include <Screen.h>
#include <View.h>

#include "LoginApp.h"
#include "DesktopWindow.h"

#undef B_TRANSLATION_CONTEXT
#define B_TRANSLATION_CONTEXT "Desktop Window"

const window_feel kPrivateDesktopWindowFeel = window_feel(1024);
const window_look kPrivateDesktopWindowLook = window_look(4);
	// this is a mirror of an app server private values


DesktopWindow::DesktopWindow(BRect frame, bool editMode)
	: BWindow(frame, B_TRANSLATE("Desktop"), 
		kPrivateDesktopWindowLook, 
		kPrivateDesktopWindowFeel, 
		B_NOT_MOVABLE | B_NOT_CLOSABLE | B_NOT_ZOOMABLE
		 | B_NOT_MINIMIZABLE | B_NOT_RESIZABLE
		 | B_ASYNCHRONOUS_CONTROLS,
		editMode?B_CURRENT_WORKSPACE:B_ALL_WORKSPACES),
	  fEditShelfMode(editMode)
{
	BScreen screen;
Пример #2
0
void
QHaikuWindow::setWindowFlags(Qt::WindowFlags flags)
{
   Qt::WindowType type =  static_cast<Qt::WindowType>(int(flags & Qt::WindowType_Mask)) ;

    
	bool popup = (type == Qt::Popup);
	bool splash = (type == Qt::SplashScreen);
	bool dialog = (type == Qt::Dialog
                   || type == Qt::Sheet
                   || (flags & Qt::MSWindowsFixedSizeDialogHint));
	bool tool = (type == Qt::Tool || type == Qt::Drawer);
	bool tooltip = (type == Qt::ToolTip);

	window_look wlook = B_TITLED_WINDOW_LOOK;
	window_feel wfeel = B_NORMAL_WINDOW_FEEL;
	uint32 wflag = B_NO_WORKSPACE_ACTIVATION | B_NOT_ANCHORED_ON_ACTIVATE ;

	if (tool) {
		wlook = B_FLOATING_WINDOW_LOOK;	
		wflag |= B_WILL_ACCEPT_FIRST_CLICK;			
	}
	
	if (splash) {
		wlook = B_NO_BORDER_WINDOW_LOOK;			
	}
	
	if (popup) {
		wlook = B_NO_BORDER_WINDOW_LOOK;			
		wflag |= B_WILL_ACCEPT_FIRST_CLICK | B_AVOID_FRONT | B_AVOID_FOCUS;
		wfeel = window_feel(1025);
	}

	if (tooltip) {
		wlook = B_NO_BORDER_WINDOW_LOOK;
		wflag |= B_WILL_ACCEPT_FIRST_CLICK | B_AVOID_FRONT | B_AVOID_FOCUS;
		wfeel = window_feel(1025);
		//flags |= Qt::WindowStaysOnTopHint;
	}

    if (flags & Qt::FramelessWindowHint)
    	wlook = B_NO_BORDER_WINDOW_LOOK;
	if (flags & Qt::MSWindowsFixedSizeDialogHint)// (dialog)
    	wflag |= B_NOT_RESIZABLE | B_NOT_ZOOMABLE;               

	if (flags & Qt::CustomizeWindowHint){
		if (!(flags & Qt::WindowMinimizeButtonHint))
    		wflag |= B_NOT_MINIMIZABLE;
		if (!(flags & Qt::WindowMaximizeButtonHint))
			wflag |= B_NOT_ZOOMABLE;					
		if (!(flags & Qt::WindowCloseButtonHint))
			wflag |= B_NOT_CLOSABLE;
	}

	if (flags & Qt::WindowStaysOnTopHint)
		wfeel = B_FLOATING_ALL_WINDOW_FEEL;	

	m_window->SetLook(wlook);
	m_window->SetFeel(wfeel);
	m_window->SetFlags(wflag);
}