1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 21:47:46 +00:00

Userland: Allow the Analog Clock window border to be hidden

Introduce the ability to hide the Analog Clock window borde. With this
feature enabled it looks like the clock is floating and integrated into
the desktop.

The "Cube Demo" has the same feature, and was used as inspiration when
implementing the feature in the Analog Clock.
This commit is contained in:
Brian Gianforcaro 2021-05-09 19:34:33 -07:00 committed by Andreas Kling
parent 3be9af7695
commit 1674d06f78
3 changed files with 39 additions and 3 deletions

View file

@ -8,6 +8,8 @@
#include <LibCore/DateTime.h>
#include <LibGUI/Application.h>
#include <LibGUI/Icon.h>
#include <LibGUI/Menu.h>
#include <LibGUI/Menubar.h>
#include <LibGUI/Window.h>
#include <unistd.h>
@ -32,12 +34,22 @@ int main(int argc, char** argv)
auto app_icon = GUI::Icon::default_icon("app-analog-clock");
auto window = GUI::Window::construct();
window->set_main_widget<AnalogClock>();
window->set_title(Core::DateTime::now().to_string("Clock %d-%m-%Y"));
window->set_icon(app_icon.bitmap_for_size(16));
window->resize(170, 170);
window->set_resizable(false);
auto& clock = window->set_main_widget<AnalogClock>();
auto show_window_frame_action = GUI::Action::create_checkable(
"Show Window &Frame", { Mod_Alt, KeyCode::Key_F }, [&](auto& action) {
clock.set_show_window_frame(action.is_checked());
});
show_window_frame_action->set_checked(clock.show_window_frame());
auto menu = GUI::Menu::construct();
menu->add_action(move(show_window_frame_action));
clock.on_context_menu_request = [&](auto& event) {
menu->popup(event.screen_position());
};
window->show();
return app->exec();