#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;
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); }