window: Rework fullscreen
We can use AdwFlap and have one single headerbar for both fullscreen and unfullscreened.
This commit is contained in:
parent
e589028f1b
commit
e45b89f854
5 changed files with 87 additions and 105 deletions
|
|
@ -15,77 +15,49 @@
|
|||
</child>
|
||||
<child type="overlay">
|
||||
<object class="GtkBox">
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="vexpand">True</property>
|
||||
<child>
|
||||
<object class="GtkHeaderBar" id="headerbar">
|
||||
<property name="valign">start</property>
|
||||
<property name="show-title-buttons">False</property>
|
||||
<property name="visible" bind-source="IvImageView" bind-property="header-visible" bind-flags="sync-create"/>
|
||||
<child type="end">
|
||||
<object class="GtkButton">
|
||||
<property name="margin-start">6</property>
|
||||
<property name="has-frame">False</property>
|
||||
<property name="icon-name">view-restore-symbolic</property>
|
||||
<property name="action-name">win.toggle-fullscreen</property>
|
||||
</object>
|
||||
</child>
|
||||
<child type="end">
|
||||
<object class="GtkMenuButton" id="menu_button">
|
||||
<property name="icon-name">open-menu-symbolic</property>
|
||||
</object>
|
||||
</child>
|
||||
<object class="GtkButton" id="prev_button">
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-start">18</property>
|
||||
<property name="margin-end">18</property>
|
||||
<property name="icon-name">go-previous-symbolic</property>
|
||||
<property name="action-name">iv.previous</property>
|
||||
<style>
|
||||
<class name="osd"/>
|
||||
<class name="circular"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="vexpand">True</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="prev_button">
|
||||
<property name="halign">start</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-start">18</property>
|
||||
<property name="margin-end">18</property>
|
||||
<property name="icon-name">go-previous-symbolic</property>
|
||||
<property name="action-name">iv.previous</property>
|
||||
<style>
|
||||
<class name="osd"/>
|
||||
<class name="circular"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="next_button">
|
||||
<property name="hexpand">True</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-start">18</property>
|
||||
<property name="margin-end">18</property>
|
||||
<property name="icon-name">go-next-symbolic</property>
|
||||
<property name="action-name">iv.next</property>
|
||||
<style>
|
||||
<class name="osd"/>
|
||||
<class name="circular"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkGestureClick" id="click_gesture">
|
||||
<property name="button">3</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkGestureLongPress" id="press_gesture">
|
||||
<property name="touch-only">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkPopoverMenu" id="popover">
|
||||
<property name="has-arrow">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<object class="GtkButton" id="next_button">
|
||||
<property name="hexpand">True</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-start">18</property>
|
||||
<property name="margin-end">18</property>
|
||||
<property name="icon-name">go-next-symbolic</property>
|
||||
<property name="action-name">iv.next</property>
|
||||
<style>
|
||||
<class name="osd"/>
|
||||
<class name="circular"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkGestureClick" id="click_gesture">
|
||||
<property name="button">3</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkGestureLongPress" id="press_gesture">
|
||||
<property name="touch-only">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkPopoverMenu" id="popover">
|
||||
<property name="has-arrow">False</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
|
|
|||
|
|
@ -6,12 +6,15 @@
|
|||
<property name="width-request">360</property>
|
||||
<property name="title">Image Viewer</property>
|
||||
<property name="content">
|
||||
<object class="GtkBox">
|
||||
<object class="AdwFlap" id="flap">
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<property name="fold-policy">never</property>
|
||||
<property name="locked">true</property>
|
||||
<property name="modal">false</property>
|
||||
<property name="flap">
|
||||
<object class="GtkHeaderBar" id="headerbar">
|
||||
<property name="css-classes">titlebar</property>
|
||||
<property name="visible" bind-source="IvWindow" bind-property="fullscreened" bind-flags="sync-create|invert-boolean"/>
|
||||
<property name="show_title_buttons" bind-source="IvWindow" bind-property="fullscreened" bind-flags="sync-create|invert-boolean"/>
|
||||
<child type="end">
|
||||
<object class="GtkMenuButton" id="menu_button">
|
||||
<property name="icon-name">open-menu-symbolic</property>
|
||||
|
|
@ -19,14 +22,14 @@
|
|||
</object>
|
||||
</child>
|
||||
<child type="end">
|
||||
<object class="GtkButton">
|
||||
<object class="GtkButton" id="fullscreen_button">
|
||||
<property name="icon-name">view-fullscreen-symbolic</property>
|
||||
<property name="action-name">win.toggle-fullscreen</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
</property>
|
||||
<property name="content">
|
||||
<object class="GtkStack" id="stack">
|
||||
<property name="visible-child">status_page</property>
|
||||
<property name="vexpand">True</property>
|
||||
|
|
@ -41,13 +44,14 @@
|
|||
</child>
|
||||
<child>
|
||||
<object class="IvImageView" id="image_view">
|
||||
<property name="header-visible" bind-source="IvWindow" bind-property="fullscreened" bind-flags="sync-create"/>
|
||||
<property name="primary-menu-model">primary_menu</property>
|
||||
<property name="popover-menu-model">image_menu</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</property>
|
||||
<style>
|
||||
<class name="fullscreen-widget"/>
|
||||
</style>
|
||||
</object>
|
||||
</property>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -8,6 +8,10 @@ button.circular {
|
|||
background-color: @theme_base_color;
|
||||
}
|
||||
|
||||
flap.fullscreen-widget dimming, shadow, border, outline {
|
||||
background: none;
|
||||
}
|
||||
|
||||
.checkerboard {
|
||||
background-color: #7f7f7f;
|
||||
background-image: linear-gradient(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue